สารบัญ:

มอเตอร์เซอร์โวแบบหมุนต่อเนื่อง (CRS) พร้อมการควบคุมโทรเลข: 8 ขั้นตอน
มอเตอร์เซอร์โวแบบหมุนต่อเนื่อง (CRS) พร้อมการควบคุมโทรเลข: 8 ขั้นตอน

วีดีโอ: มอเตอร์เซอร์โวแบบหมุนต่อเนื่อง (CRS) พร้อมการควบคุมโทรเลข: 8 ขั้นตอน

วีดีโอ: มอเตอร์เซอร์โวแบบหมุนต่อเนื่อง (CRS) พร้อมการควบคุมโทรเลข: 8 ขั้นตอน
วีดีโอ: สิ่งที่ต้องรู้ก่อนใช้งานเซอร์โวมอเตอร์กับ Arduino | How to use Servo Motor with Arduino 2024, พฤศจิกายน
Anonim
มอเตอร์เซอร์โวแบบหมุนต่อเนื่อง (CRS) พร้อมการควบคุมเทเลแกรม
มอเตอร์เซอร์โวแบบหมุนต่อเนื่อง (CRS) พร้อมการควบคุมเทเลแกรม

ในคำแนะนำนี้ฉันจะสอนวิธีควบคุม CRS ผ่านโทรเลข สำหรับคำแนะนำนี้ คุณจะต้องมีบางสิ่ง ฉันจะทำงานกับ NodeMCU 1.0 (โมดูล ESP-12E) สิ่งนี้สามารถทำงานบนบอร์ด Arduino อื่น ๆ คุณเพียงแค่ต้องหาไดรฟ์ที่เหมาะสม

ต่อไปนี้คือสภาพแวดล้อมการตั้งค่าสำหรับโมดูล ESP-12E:

  • Windows 10
  • Arduino IE 1.8.7 (Windows Store 1.8.15.0)

คำแนะนำเกี่ยวกับวิธีการติดตั้งไดรเวอร์และไฟล์หลักสำหรับโมดูล ESP-12E สามารถพบได้ที่นี่:

เมื่อคุณทำสิ่งนี้แล้ว เราพร้อมที่จะไป!

ขั้นตอนที่ 1: ขั้นตอนที่ 1: ส่วนประกอบ

ขั้นตอนที่ 1: ส่วนประกอบ
ขั้นตอนที่ 1: ส่วนประกอบ

สำหรับบทช่วยสอนนี้ คุณจะต้องมีส่วนประกอบบางอย่าง:

  • โมดูล ESP12-E (ESP8266)
  • เซอร์โวมอเตอร์หมุนต่อเนื่อง (อันนี้ผมใช้)
  • สายไมโคร USB
  • เครือข่าย Wifi
  • แอปโทรเลข
  • Botfather Bot (ไม่ต้องกังวล เราจะไปถึงที่นั่น)

ขั้นตอนที่ 2: ขั้นตอนที่ 2: เชื่อมต่อเซอร์โวมอเตอร์

ขั้นตอนที่ 2: เชื่อมต่อเซอร์โวมอเตอร์
ขั้นตอนที่ 2: เชื่อมต่อเซอร์โวมอเตอร์

ทำตามแผนผังนี้เพื่อต่อสายเซอร์โวมอเตอร์

  • สีดำ: GND (พื้น)
  • สีแดง: 3.3V หรือ 5V (กำลังไฟ)
  • สีเหลืองหรือสีขาว: เอาต์พุตดิจิตอล (สัญญาณ)

ดังนั้น หากคุณใช้เซอร์โวมอเตอร์ตัวเดียวกับที่ฉันใช้และมีบอร์ด Arduino ที่มีเอาต์พุตแรงดันสูง (สูงสุด 5V) คุณสามารถติดสายไฟไว้ที่นั่นได้ มันจะหมายความว่าเซอร์โวมอเตอร์จะผลิตแรงบิดมากขึ้น ไม่ว่าจะด้วยวิธีใด 3.3V หรือ 5V ก็ใช้ได้ทั้งคู่

ขั้นตอนที่ 3: ขั้นตอนที่ 3: ความเข้าใจเล็กน้อย

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

ฉันไม่แนะนำให้ใช้เซอร์โวที่แรงบิดเต็มที่ เนื่องจากมันสร้างความร้อนได้มาก และอาจสิ้นเปลืองอายุการใช้งานของผลิตภัณฑ์มาก ลองอยู่แถวๆ [60, 120] ดูสิ

วงโมฆะ {

myservo.write(90); // หมายความว่าไม่มีการเคลื่อนไหว เซอร์โวมอเตอร์หยุดนิ่ง (1000) myservo.write(0); // นี่หมายถึงการหน่วงเวลาการเคลื่อนที่ทวนเข็มนาฬิกาเต็มความเร็ว (1000); myservo.write(180); // นี่หมายถึงการหน่วงเวลาการเคลื่อนที่ตามเข็มนาฬิกาเต็มความเร็ว (1000); }

ขั้นตอนที่ 4: ขั้นตอนที่ 4: เพิ่มรหัสเพื่อทดสอบเซอร์โวมอเตอร์

#รวม

เซอร์โว myservo; การตั้งค่าเป็นโมฆะ () { myservo.attach (D5); //แนบเซอร์โวบนพิน D5) } วงเป็นโมฆะ () { myservo.write (85); // หมุนมอเตอร์ทวนเข็มนาฬิกาที่หน่วงความเร็วช้า (1000); myservo.write(120); ล่าช้า (1000); myservo.write(90); ล่าช้า (5000); }

ขั้นตอนที่ 5: ขั้นตอนที่ 5: การเตรียมพร้อมสำหรับการสื่อสาร

เพื่อให้สามารถสื่อสารกับ Arduino ของคุณได้ คุณจะต้องแก้ไขสองสามสิ่ง พวกมันค่อนข้างง่าย เราจะแบ่งงานนี้ออกเป็นสองส่วนเล็ก ๆ

บอท

  1. ติดตั้งโทรเลขบนโทรศัพท์มือถือของคุณ
  2. สร้างบัญชีบนโทรเลข
  3. ค้นหาผู้ใช้ 'Botfather'
  4. สร้างบอทใหม่โดยใช้คำสั่งที่แสดง (บันทึกคีย์ที่เขาให้ไว้)

งาน Arduino

  1. เปิด Arduino IE
  2. ไปที่ 'ตัวจัดการห้องสมุด'
  3. เพิ่มไลบรารี 'Universal Telegrambot'
  4. เพิ่มไลบรารี 'ArduinoJson'

    • อย่าเพิ่มเบต้า
    • เพิ่มบิลด์ 5.x ล่าสุดที่มี

ขั้นตอนที่ 6: ขั้นตอนที่ 6: ทดสอบการสื่อสาร

ขั้นตอนที่ 6: ทดสอบการสื่อสาร
ขั้นตอนที่ 6: ทดสอบการสื่อสาร

เราเกือบจะอยู่ที่นั่นแล้ว

  1. เปิด 'echobot' จาก universaltelegrambot > ไลบรารี esp8266
  2. เปลี่ยนข้อมูลรับรอง wifi เพื่อให้ตรงกับเครือข่ายของคุณ ณ ที่ที่คุณอยู่
  3. เปลี่ยน BOTtoken ที่ Botfather มอบให้คุณ
  4. เพิ่มโค้ดบรรทัดนี้ใน for loop ที่อยู่ใน `void loop();`

Serial.println(bot.messages.text);

ตอนนี้เราพร้อมที่จะทดสอบแล้ว

อัปโหลดรหัสนี้ไปยัง Arduino ของคุณ ตรวจสอบในมอนิเตอร์แบบอนุกรมหากคุณเป็น NodeMCU กำลังเชื่อมต่อกับเครือข่าย wifi ของคุณ เมื่อคุณเห็นว่าเชื่อมต่อแล้ว ให้ส่งข้อความไปยังบอทของคุณ มันควรจะส่งข้อความเดิมกลับไปหาคุณ

ขั้นตอนที่ 7: ขั้นตอนที่ 7: การเพิ่มคำสั่ง

ดังนั้นจึงได้ผล! เรามีการเชื่อมต่อระหว่างอุปกรณ์ต่างๆ ขั้นตอนต่อไปคือการเพิ่มสิ่งต่าง ๆ เข้าด้วยกัน ดังนั้นเราจะเพิ่มคำสั่งในโค้ด echobot ที่มีอยู่ อาจเป็นความคิดที่ดีที่จะใส่รหัสถัดไปแทนรหัสสุดท้ายที่ฉันให้คุณ ดังนั้นเราจะป้องกันไม่ให้มีบอทที่ทำตัวเหมือนนกแก้ว

โค้ดถัดไปนี้ต้องอยู่ใน for loop ที่วนซ้ำผ่านข้อความใหม่ ขึ้นอยู่กับว่าคุณวางเซอร์โวมอเตอร์อย่างไร คุณอาจต้องการสลับคำสั่ง 'เปิด' และ 'ปิด' อัปโหลดไปยัง esp8266 ของคุณและตรวจสอบว่าใช้งานได้หรือไม่

//คำสั่งที่คุณต้องการ

if(bot.messages.text == "Open") {

// คำตอบที่บอทของคุณจะให้ bot.sendMessage(bot.messages.chat_id, "ฉันกำลังเปิดม่านให้คุณ");

// สิ่งที่บอร์ด Arduino จะทำ

myservo.write(80); // เซอร์โวมอเตอร์หมุนทวนเข็มนาฬิกาเพื่อเปิดม่าน

}

if(bot.messages.text == "Stop") { // คำตอบที่บอทของคุณจะให้ bot.sendMessage(bot.messages.chat_id, "Stop the curtains."); // บอร์ด Arduino จะทำอะไร myservo.write(90); // เซอร์โวมอเตอร์หยุดหมุน }

if(bot.messages.text == "Close") { // คำตอบที่บอทของคุณจะให้ bot.sendMessage(bot.messages.chat_id, "ฉันกำลังปิดม่านให้คุณ"); // บอร์ด Arduino จะทำอะไร myservo.write(80); // เซอร์โวมอเตอร์หมุนตามเข็มนาฬิกาเพื่อปิดม่าน }

ขั้นตอนที่ 8: ขั้นตอนที่ 8: เชื่อมต่ออุปกรณ์กับผ้าม่านของคุณ (ไม่จำเป็น)

ขั้นตอนที่ 8: เชื่อมต่ออุปกรณ์กับผ้าม่านของคุณ (ไม่จำเป็น)
ขั้นตอนที่ 8: เชื่อมต่ออุปกรณ์กับผ้าม่านของคุณ (ไม่จำเป็น)

เย้ เย้ เสร็จแล้ว!

คำแนะนำคือวิธีเชื่อมต่อ Telegrambot กับ Arduino ของคุณ เพื่อให้คุณสามารถควบคุมได้จากระยะไกล แต่ฉันทำการตั้งค่าพิเศษนี้เพื่อให้มีวิธีเปิดม่านในสตูดิโอของฉันโดยไม่ต้องเปิดจริง ๆ ดังนั้น หากคุณต้องการทำแบบเดียวกับฉัน ขั้นตอนสุดท้ายคือเชื่อมต่ออุปกรณ์เล็กๆ ของเรากับผ้าม่านและ voila ของคุณ

แนะนำ: