สารบัญ:
- ขั้นตอนที่ 1: ติดตั้ง STM32CUBEMX และ Keil พร้อมแพ็คเกจสำหรับ STM32L476
- ขั้นตอนที่ 2: สร้างการเชื่อมต่อทางอิเล็กทรอนิกส์สำหรับโครงการของคุณ
- ขั้นตอนที่ 3: การเลือกไมโครคอนโทรลเลอร์ใน STM32CUBEMX
- ขั้นตอนที่ 4: ทำการเลือกที่จำเป็นใน STM32cubemx ตามรูปภาพที่แสดงในบทช่วยสอนนี้
- ขั้นตอนที่ 5: สร้างรหัสสำหรับ UVision Keil
- ขั้นตอนที่ 6: เขียนโค้ดสำหรับ LCD ในไฟล์ Main.c ใช้ขั้นตอนนี้สำหรับไมโครคอนโทรลเลอร์ STM32L4 และ STM32L0 เท่านั้น สำหรับไมโครคอนโทรลเลอร์อื่นๆ ใช้รหัสของคุณเอง
- ขั้นตอนที่ 7: เขียนรหัสในขณะที่วนรอบไฟล์ Main.c อ้างถึงไฟล์ที่แนบมา
- ขั้นตอนที่ 8: เขียนโค้ดในไฟล์ STM32L4xx_it.c ใน Keil
- ขั้นตอนที่ 9: เพิ่มตัวแปรในทั้งสองไฟล์
- ขั้นตอนที่ 10: จากเมนูโครงการใน Uvision Keil ไปที่เมนูย่อย แอปพลิเคชัน/ผู้ใช้
- ขั้นตอนที่ 11: รวบรวมรหัสของคุณ
- ขั้นตอนที่ 12: ตั้งโปรแกรมบอร์ดด้วยไมโครคอนโทรลเลอร์
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
นี่คือบทช่วยสอนสำหรับการรับตำแหน่งของ Rotary Encoder ซึ่งเป็นชนิดที่เพิ่มขึ้นของตัวเข้ารหัส ตัวเข้ารหัสมีสองประเภทโดยทั่วไป: - หนึ่งเป็นส่วนที่เพิ่มขึ้นอื่น ๆ เป็นค่าสัมบูรณ์ รหัสนี้สามารถใช้สำหรับไมโครคอนโทรลเลอร์ STM32L476 และ STM32L0 แต่ถ้าคุณมีของคุณเอง ไลบรารี LCD หรือโค้ดสำหรับ LCD ซึ่งจะใช้ได้กับไมโครคอนโทรลเลอร์ STM32 ใดๆ
ฉันใช้บอร์ดนิวคลีโอ STM32L476 สำหรับบทช่วยสอนนี้
คุณสามารถควบคุมมอเตอร์ เช่น มอเตอร์ STEPPER หรือเซอร์โวมอเตอร์โดยการเขียนโค้ดตามการเคลื่อนไหวของตัวเข้ารหัส ฉันได้เขียนโค้ดดังกล่าวแล้ว โปรดติดตามบทช่วยสอนของฉันต่อไป
ขั้นตอนที่ 1: ติดตั้ง STM32CUBEMX และ Keil พร้อมแพ็คเกจสำหรับ STM32L476
ขั้นตอนที่ 2: สร้างการเชื่อมต่อทางอิเล็กทรอนิกส์สำหรับโครงการของคุณ
ส่วนประกอบอิเล็กทรอนิกส์ที่จำเป็นสำหรับโครงการนี้คือ:-
1) 16x2 LCD ตัวอักษรและตัวเลข 2) STM32L476 กระดานนิวคลีโอ 3)กระดานขนมปัง 4)สายจัมเปอร์. 5)แล็ปท็อปหนึ่งเครื่องที่ติดตั้ง windows(6)Rotary Encoder การเชื่อมต่อของ LCD และบอร์ด STM32L476 ระบุไว้ด้านล่าง:-
STM32L476 - LCD
GND - PIN1
5V - PIN2
NA - ตัวต้านทาน 2.2K เชื่อมต่อกับ GND
PB10 - RS
PB11 - RW
PB2 - EN
PB12 - D4
PB13 - D5
PB14 - D6
PB15 - D7
5V - PIN15
GND - PIN16
การเชื่อมต่อของ Rotary Encoder และ STM32 อยู่ด้านล่าง
Rotary Encoder-STM BOARD
เพาเวอร์พิน-3.3 V
GND-GND
CLK-PC1
DT-PC0
ขั้นตอนที่ 3: การเลือกไมโครคอนโทรลเลอร์ใน STM32CUBEMX
เปิด cubemx และเลือกบอร์ด nucleo64 พร้อมไมโครคอนโทรลเลอร์เป็น STM32L476
ขั้นตอนที่ 4: ทำการเลือกที่จำเป็นใน STM32cubemx ตามรูปภาพที่แสดงในบทช่วยสอนนี้
ใช้ขั้นตอนข้างต้นเพื่อทำการเลือกที่จำเป็นใน STM32Cubemx และเลือกนาฬิกาสูงสุดสำหรับไมโครคอนโทรลเลอร์ที่คุณใช้ (STM32L476 ฉันกำลังใช้ในบทช่วยสอนนี้)
ขั้นตอนที่ 5: สร้างรหัสสำหรับ UVision Keil
ขั้นตอนที่ 6: เขียนโค้ดสำหรับ LCD ในไฟล์ Main.c ใช้ขั้นตอนนี้สำหรับไมโครคอนโทรลเลอร์ STM32L4 และ STM32L0 เท่านั้น สำหรับไมโครคอนโทรลเลอร์อื่นๆ ใช้รหัสของคุณเอง
เปิดไฟล์ main.c จากโปรเจ็กต์ เมนูของ Keil และเขียนโค้ดสำหรับการเริ่มต้น LCD ก่อน while loop ของ main ดูรูปที่แนบมา
ขั้นตอนที่ 7: เขียนรหัสในขณะที่วนรอบไฟล์ Main.c อ้างถึงไฟล์ที่แนบมา
ขั้นตอนที่ 8: เขียนโค้ดในไฟล์ STM32L4xx_it.c ใน Keil
เขียนโค้ดในไฟล์ STM32L4xx_it.c ในโค้ด Keil.see ในไฟล์ที่แนบมา
ขั้นตอนที่ 9: เพิ่มตัวแปรในทั้งสองไฟล์
เพิ่มตัวแปรในทั้งสองไฟล์ ดูไฟล์ที่แนบมา
ขั้นตอนที่ 10: จากเมนูโครงการใน Uvision Keil ไปที่เมนูย่อย แอปพลิเคชัน/ผู้ใช้
จากเมนูโครงการใน uvision Keil ไปที่เมนูย่อย Application/Users. Attach the lcd_hd44780_stml4xx.c file (คลิกขวาที่เมนูย่อยและไปที่ตัวเลือกการเรียกดูและแนบไฟล์หลังจากคัดลอกไฟล์ lcd สามไฟล์ไปยังโฟลเดอร์ต้นทางของ keil)
ขั้นตอนที่ 11: รวบรวมรหัสของคุณ
รวบรวมรหัสและดีบักหากมีข้อผิดพลาดเกิดขึ้น
ขั้นตอนที่ 12: ตั้งโปรแกรมบอร์ดด้วยไมโครคอนโทรลเลอร์
ตั้งโปรแกรมบอร์ดด้วยไมโครคอนโทรลเลอร์ จะได้ผลลัพธ์เหมือนในวิดีโอนี้