สารบัญ:
- ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
- ขั้นตอนที่ 2: วงจร
- ขั้นตอนที่ 3: เริ่ม Visuino และเลือก Arduino UNO Board Type
- ขั้นตอนที่ 4: ใน Visuino เพิ่มส่วนประกอบ
- ขั้นตอนที่ 5: ในส่วนประกอบชุด Visuino
- ขั้นตอนที่ 6: ในส่วนประกอบ Visuino Connect
- ขั้นตอนที่ 7: สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino
- ขั้นตอนที่ 8: เล่น
2025 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2025-01-13 06:58
ในบทช่วยสอนนี้ เราจะเรียนรู้วิธีควบคุมมอเตอร์กระแสตรงด้วยท่าทางมือโดยใช้ Arduino และ Visuino
ดูวิดีโอ!
ตรวจสอบสิ่งนี้ด้วย: กวดวิชาท่าทางมือ
ขั้นตอนที่ 1: สิ่งที่คุณต้องการ
Arduino UNO (หรือบอร์ดอื่นๆ)
- เซ็นเซอร์ท่าทางสัมผัส APDS9960
- L298N ไดรเวอร์ DC MOTOR CONTROLER
- จอแสดงผล OLED
- แบตเตอรี่
- มอเตอร์กระแสตรง
- เขียงหั่นขนม
- สายจัมเปอร์
- โปรแกรม Visuino: ดาวน์โหลด Visuino
ขั้นตอนที่ 2: วงจร
- เชื่อมต่อพินดิจิตอล (2) จาก Arduino กับพินไดรเวอร์มอเตอร์ (IN2)
- เชื่อมต่อพินดิจิตอล (3) จาก Arduino กับพินไดรเวอร์มอเตอร์ (IN1)
- ต่อมอเตอร์ DC หนึ่งตัวเข้ากับด้านหนึ่งของตัวขับมอเตอร์
- เชื่อมต่อพินของพาวเวอร์ซัพพลาย (แบตเตอรี่) (gnd) กับพินคอนโทรลของไดรเวอร์มอเตอร์ (gnd)
- เชื่อมต่อพินของพาวเวอร์ซัพพลาย (แบตเตอรี่) (+) เข้ากับพินคอนโทรลของไดรเวอร์มอเตอร์ (+)
- เชื่อมต่อ GND จาก Arduino กับพินตัวควบคุมมอเตอร์ (gnd)
- เชื่อมต่อพินจอแสดงผล OLED (GND) กับพิน Arduino (GND)
- เชื่อมต่อพินจอแสดงผล OLED (VCC) กับพิน Arduino (5V)
- เชื่อมต่อพินจอแสดงผล OLED (SCL) กับพิน Arduino (SCL)
- เชื่อมต่อพินจอแสดงผล OLED (SDA) กับพิน Arduino (SDA)
- เชื่อมต่อพินเซ็นเซอร์ [GND] กับพินบอร์ด Arduino [GND]
- เชื่อมต่อพินเซ็นเซอร์ [Vin] กับพินบอร์ด Arduino [3.3V]
- เชื่อมต่อพินเซ็นเซอร์ [SDA] กับพินบอร์ด Arduino [SDA]
- เชื่อมต่อพินเซ็นเซอร์ [SCL] กับพินบอร์ด Arduino [SCL]
ขั้นตอนที่ 3: เริ่ม Visuino และเลือก Arduino UNO Board Type
ต้องติดตั้ง Visuino: https://www.visuino.eu เริ่ม Visuino ดังรูปแรก คลิกที่ปุ่ม "Tools" บนส่วนประกอบ Arduino (ภาพที่ 1) ใน Visuino เมื่อกล่องโต้ตอบปรากฏขึ้น ให้เลือก "Arduino UNO" ดังแสดงในภาพที่ 2
ขั้นตอนที่ 4: ใน Visuino เพิ่มส่วนประกอบ
- เพิ่มคอมโพเนนต์ "Gesture Color Proximity APDS9960 I2C"
- เพิ่มองค์ประกอบ "ขึ้น/ลง"
- เพิ่มส่วนประกอบ "SR Flip-Flop"
- เพิ่มองค์ประกอบ "แบ่งแอนะล็อกตามค่า"
- เพิ่มองค์ประกอบ "ความเร็วและทิศทางสู่ความเร็ว"
- เพิ่มคอมโพเนนต์ "Dual DC Motor Driver Digital และ PWM Pins Bridge (L9110S, L298N)"
- เพิ่มองค์ประกอบ "ค่าข้อความ"
- เพิ่มส่วนประกอบ "SSD1306/SH1106 OLED Display (I2C)"
- เพิ่มองค์ประกอบ "Delay"
ขั้นตอนที่ 5: ในส่วนประกอบชุด Visuino
- เลือกส่วนประกอบ "UpDownCounter1" และในหน้าต่างคุณสมบัติตั้งค่า Max>value เป็น 10
- เลือกส่วนประกอบ "UpDownCounter1" และในหน้าต่างคุณสมบัติตั้งค่า Min>value เป็น 0
- เลือกส่วนประกอบ "DivideByValue1" และในหน้าต่างคุณสมบัติตั้งค่าเป็น10
- เลือกส่วนประกอบ "SpeedAndDirectionToSpeed1" และในหน้าต่างคุณสมบัติตั้งค่า Initial Reverse เป็น True และ Initial Speed เป็น 1
- เลือกองค์ประกอบ "Delay1" และในหน้าต่างคุณสมบัติตั้งค่า Can Restart เป็น False และ Interval (uS) เป็น 1000000
- ดับเบิลคลิกที่องค์ประกอบ "TextValue1" และในหน้าต่าง Elements ให้ลาก "Set Value" 4X ไปทางซ้าย
- ทางด้านซ้ายเลือก "ตั้งค่า 1" และในหน้าต่างคุณสมบัติตั้งค่าเป็น "เร็วกว่า"
- ทางด้านซ้ายเลือก "ตั้งค่า 2" และในหน้าต่างคุณสมบัติตั้งค่าเป็น "ช้าลง"
- ทางด้านซ้ายเลือก "ตั้งค่า 3" และในหน้าต่างคุณสมบัติตั้งค่าเป็น "ซ้าย"
- ทางด้านซ้ายเลือก "ตั้งค่า 4" และในหน้าต่างคุณสมบัติตั้งค่าเป็น "ขวา"
- ปิดหน้าต่างองค์ประกอบ
- ดับเบิลคลิกที่องค์ประกอบ "DisplayOLED1" และใน Elements ให้ลาก "ช่องข้อความ" ไปทางซ้ายและ "กรอกหน้าจอ" ไปทางซ้าย
- ทางด้านซ้ายเลือก "Text Field1" และในหน้าต่างคุณสมบัติตั้งค่าขนาดเป็น3
- ปิดหน้าต่างองค์ประกอบ
ขั้นตอนที่ 6: ในส่วนประกอบ Visuino Connect
เชื่อมต่อพิน "GestureColorProximity1" ท่าทาง> สูงสุด "UpDownCounter1" ปักหมุด
เชื่อมต่อพิน "GestureColorProximity1" ท่าทาง> มากถึง "TextValue1> ตั้งค่าพิน 1" ใน
- เชื่อมต่อพิน "GestureColorProximity1" ท่าทาง> ลงไปที่ "UpDownCounter1" ปักหมุดลง
- เชื่อมต่อพิน "GestureColorProximity1" ท่าทาง> ลงไปที่ "TextValue1>Set Value2" พิน
- เชื่อมต่อพิน "GestureColorProximity1" ท่าทาง> ซ้ายเป็นชุดพิน "SRFlipFlop1"
- เชื่อมต่อพิน "GestureColorProximity1" ท่าทาง> ซ้ายเป็น "TextValue1> ตั้งค่า 3" พิน
- เชื่อมต่อพิน "GestureColorProximity1" ท่าทาง> ขวาไปที่พิน "SRFlipFlop1" รีเซ็ต
- เชื่อมต่อพิน "GestureColorProximity1" ท่าทาง> ขวาเป็น "TextValue1> ตั้งค่าพิน 4" ใน
- เชื่อมต่อ "GestureColorProximity1" พินควบคุม I2C กับพินบอร์ด Arduino I2C In
- เชื่อมต่อพิน "UpDownCounter1" เข้ากับพิน "DivideByValue1" In
- เชื่อมต่อพิน "DivideByValue1" เข้ากับความเร็วพิน "SpeedAndDirectionToSpeed1"
- เชื่อมต่อพิน "SRFlipFlop1" เข้ากับพิน "SpeedAndDirectionToSpeed1" ย้อนกลับ
- เชื่อมต่อพิน "SpeedAndDirectionToSpeed1" กับมอเตอร์ "DualMotorDriver1"[0]>ใน
- เชื่อมต่อมอเตอร์ "DualMotorDriver1" [0] ทิศทางของพิน (B) กับพินดิจิทัลของบอร์ด Arduino 2
- เชื่อมต่อมอเตอร์ "DualMotorDriver1" [0] ความเร็วพิน (A) เข้ากับพินดิจิทัลของบอร์ด Arduino 3
- เชื่อมต่อพิน "TextValue1" กับ "DisplayOLED1" > Text Field1>Clock
- เชื่อมต่อพิน "TextValue1" กับ "DisplayOLED1" > Text Field1>In
- เชื่อมต่อพิน "TextValue1" เข้ากับพิน "Delay1" Start
- เชื่อมต่อพิน "Delay1" ออกกับ "DisplayOLED1" > เติมหน้าจอ1>Clock
- เชื่อมต่อ "DisplayOLED1" พินออก I2C เข้ากับพินบอร์ด Arduino I2C In
ขั้นตอนที่ 7: สร้าง คอมไพล์ และอัปโหลดโค้ด Arduino
ใน Visuino ที่ด้านล่างให้คลิกแท็บ "บิลด์" ตรวจสอบให้แน่ใจว่าได้เลือกพอร์ตที่ถูกต้อง จากนั้นคลิกที่ปุ่ม "รวบรวม/สร้างและอัปโหลด"
ขั้นตอนที่ 8: เล่น
หากคุณจ่ายไฟให้กับโมดูล Arduino UNO และทำท่าทางสัมผัสเหนือเซ็นเซอร์ท่าทางสัมผัส มอเตอร์จะเริ่มเคลื่อนที่และจอแสดงผล OLED จะเริ่มแสดงทิศทาง ดูวิดีโอสำหรับการสาธิตโดยละเอียด
ยินดีด้วย! คุณได้เสร็จสิ้นโครงการของคุณด้วย Visuino สิ่งที่แนบมาด้วยคือโครงการ Visuino ที่ฉันสร้างขึ้นสำหรับคำแนะนำนี้ คุณสามารถดาวน์โหลดและเปิดใน Visuino: