สารบัญ:

ตัวเข้ารหัสแบบหมุนด้วย STM32 Nucleo Board: 12 ขั้นตอน
ตัวเข้ารหัสแบบหมุนด้วย STM32 Nucleo Board: 12 ขั้นตอน

วีดีโอ: ตัวเข้ารหัสแบบหมุนด้วย STM32 Nucleo Board: 12 ขั้นตอน

วีดีโอ: ตัวเข้ารหัสแบบหมุนด้วย STM32 Nucleo Board: 12 ขั้นตอน
วีดีโอ: Interrupts Tutorial On Mbed STM32 Nucleo Boards 2024, พฤศจิกายน
Anonim
ตัวเข้ารหัสแบบหมุนพร้อม STM32 Nucleo Board
ตัวเข้ารหัสแบบหมุนพร้อม STM32 Nucleo Board

นี่คือบทช่วยสอนสำหรับการรับตำแหน่งของ 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 ตามรูปภาพที่แสดงในบทช่วยสอนนี้
ทำการเลือกที่จำเป็นใน STM32cubemx ตามรูปภาพที่แสดงในบทช่วยสอนนี้
ทำการเลือกที่จำเป็นใน STM32cubemx ตามรูปภาพที่แสดงในบทช่วยสอนนี้
ทำการเลือกที่จำเป็นใน STM32cubemx ตามรูปภาพที่แสดงในบทช่วยสอนนี้
ทำการเลือกที่จำเป็นใน STM32cubemx ตามรูปภาพที่แสดงในบทช่วยสอนนี้
ทำการเลือกที่จำเป็นใน STM32cubemx ตามรูปภาพที่แสดงในบทช่วยสอนนี้

ใช้ขั้นตอนข้างต้นเพื่อทำการเลือกที่จำเป็นใน STM32Cubemx และเลือกนาฬิกาสูงสุดสำหรับไมโครคอนโทรลเลอร์ที่คุณใช้ (STM32L476 ฉันกำลังใช้ในบทช่วยสอนนี้)

ขั้นตอนที่ 5: สร้างรหัสสำหรับ UVision Keil

ขั้นตอนที่ 6: เขียนโค้ดสำหรับ LCD ในไฟล์ Main.c ใช้ขั้นตอนนี้สำหรับไมโครคอนโทรลเลอร์ STM32L4 และ STM32L0 เท่านั้น สำหรับไมโครคอนโทรลเลอร์อื่นๆ ใช้รหัสของคุณเอง

เขียนโค้ดสำหรับ LCD ในไฟล์ Main.c ใช้ขั้นตอนนี้สำหรับไมโครคอนโทรลเลอร์ STM32L4 และ STM32L0 เท่านั้น สำหรับไมโครคอนโทรลเลอร์อื่นๆ ใช้รหัสของคุณเอง
เขียนโค้ดสำหรับ LCD ในไฟล์ Main.c ใช้ขั้นตอนนี้สำหรับไมโครคอนโทรลเลอร์ STM32L4 และ STM32L0 เท่านั้น สำหรับไมโครคอนโทรลเลอร์อื่นๆ ใช้รหัสของคุณเอง

เปิดไฟล์ main.c จากโปรเจ็กต์ เมนูของ Keil และเขียนโค้ดสำหรับการเริ่มต้น LCD ก่อน while loop ของ main ดูรูปที่แนบมา

ขั้นตอนที่ 7: เขียนรหัสในขณะที่วนรอบไฟล์ Main.c อ้างถึงไฟล์ที่แนบมา

เขียนรหัสในขณะที่วนรอบไฟล์ Main.c อ้างถึงไฟล์ที่แนบมา
เขียนรหัสในขณะที่วนรอบไฟล์ Main.c อ้างถึงไฟล์ที่แนบมา

ขั้นตอนที่ 8: เขียนโค้ดในไฟล์ STM32L4xx_it.c ใน Keil

เขียนโค้ดในไฟล์ STM32L4xx_it.c ใน Keil
เขียนโค้ดในไฟล์ 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: ตั้งโปรแกรมบอร์ดด้วยไมโครคอนโทรลเลอร์

ตั้งโปรแกรมบอร์ดด้วยไมโครคอนโทรลเลอร์ จะได้ผลลัพธ์เหมือนในวิดีโอนี้

แนะนำ: