สารบัญ:

Waiter Please Bot: 6 ขั้นตอน (พร้อมรูปภาพ)
Waiter Please Bot: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Waiter Please Bot: 6 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: Waiter Please Bot: 6 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: [สปอยอนิเมะ] ผมเก็บผลไม้พระเจ้าได้ ตอนที่ 1-24 😈🔥 (จบซีซั่น1+2) 2024, พฤศจิกายน
Anonim
Image
Image

จะเกิดอะไรขึ้นกับการกดกระดิ่งเรียกพนักงานเสิร์ฟโดยเซอร์โวในพื้นที่สำนักงานแบบเปิด?

- ไม่รู้:D

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

เป็นโปรเจ็กต์ Arduino แรกของฉันที่สร้างจากอีเทอร์เน็ตชิลด์ ระบบควบคุมอินฟราเรด ไมโครเซอร์โว SG90 9g และวัสดุรีไซเคิล

การกระทำตบที่เกิดขึ้นผ่าน WebHook หรือรีโมทคอนโทรล รีโมตคอนโทรลยังใช้สำหรับปรับมุมของแขน

ขั้นตอนที่ 1: มันทำงานอย่างไร

มันทำงานอย่างไร?
มันทำงานอย่างไร?

มันฟังบนตัวรับสัญญาณอินฟราเรดและดึงที่อยู่ HTTP สำหรับคำหลักที่กำหนด ตัวควบคุมอินฟราเรดสามารถใช้สำหรับการปรับมุมของแขนอย่างละเอียดและสามารถใช้ทริกเกอร์ได้เช่นกัน การตอบสนอง HTTP สามารถใช้สำหรับการเรียกกระดิ่งเท่านั้น (ในกรณีปัจจุบันฉันสร้างเว็บแอปพลิเคชันขนาดเล็กซึ่งจับ webhook จาก Slack และจัดการแฟล็ก - ไม่รวมอยู่ในคำแนะนำนี้)

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

ในชีวิตจริง มันก็แค่ตรวจสอบที่อยู่เว็บแบบฮาร์ดโค้ดเป็นระยะๆ ซึ่งมีการตอบสนองที่คล้ายกัน เช่น:

ถ้าคีย์เวิร์ด anyslap ตามด้วยจำนวนเต็ม จะทำให้แขนขยับได้มาก

ขั้นตอนที่ 2: ส่วนประกอบที่จำเป็น

ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น
ส่วนประกอบที่จำเป็น

ชิ้นส่วนอิเล็กทรอนิกส์:

  • Arduino Uno R3
  • UNO ชิลด์ อีเธอร์เน็ต ชิลด์ W5100 R3
  • ชุดโมดูลรีโมทคอนโทรลไร้สายอินฟราเรด IR
  • เซอร์โว (SG90)
  • แผงวงจรพิมพ์อเนกประสงค์ 4x6cm
  • 5 x LED
  • ตัวต้านทาน 5 x 220 โอห์ม
  • สายซิลิโคน 30AWG

วัสดุรีไซเคิล:

  • แชมพูสระผม
  • กล่องกระดาษ
  • ของเล่นมือ (มาพร้อมกับซื้อครัวซองต์สองชิ้นแถมมือหนึ่งฟรี:)

ขั้นตอนที่ 3: รวม Arduino Tutorials

ส่วนใหญ่ฉันเพิ่งติดตาม Arduino Built-In Examples, Library Examples และรวมเป็นหนึ่งโครงการ

บทเรียนแนะนำ

  • กะพริบโดยไม่ชักช้า - ใช้สำหรับไฟแสดงสถานะ LED; ฟังก์ชั่น millis() เพื่อตรวจสอบ HTTP เป็นระยะและปิดเซอร์โวหากไม่ได้ใช้
  • ฟังก์ชันเอาต์พุตอนุกรม ASCIITable - ใช้สำหรับการดีบัก
  • โครงสร้างการควบคุม เช่น Loop Iteration, Switch Case, If Statement, While Loop
  • Ethernet Web Client พร้อม DHCP Lease - ใช้สำหรับรับทริกเกอร์จากปลายทาง
  • บทเรียนเซอร์โว - ใช้สำหรับการเคลื่อนไหวของแขน (หมุน)
  • ตัวรับอินฟราเรด - ใช้สำหรับการควบคุมเพิ่มเติมและปรับมุมของแขนอย่างละเอียด

ขั้นตอนที่ 4: ค้นหาคำหลักในการตอบสนอง HTTP และปัญหา EthernetClient อื่นๆ

การประกอบของ Waiter Please Bot ค่อนข้างตรงไปตรงมา ยกเว้นเรื่องอีเทอร์เน็ต

ความยากลำบาก

  1. การเรียก EthernetClient โดยเฉพาะ DHCP Lease เป็นกระบวนการเดียว มันทำงานเหมือนล่าช้ากับแรนด์ที่หยุดโปรแกรมชั่วคราว
  2. ลืม JSON ใน API และ WebHook Arduino Strings นั้นชั่วร้ายไปได้เลย

1. - กระบวนการเดียว

ฉันยอมแพ้เพื่อให้โปรแกรมทำหลายขั้นตอน ฉัน google วิธีแก้ปัญหาที่เป็นไปได้เล็กน้อย แต่ก็ไม่ง่ายเลย ฉันต้องการให้โค้ดมีขนาดเล็กและอ่านง่ายที่สุด

2. - แยกวิเคราะห์การตอบสนอง

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

EthernetClient อาศัยคลาสฐานสตรีมและฟังก์ชันการค้นหาทำให้สามารถค้นหาคำสำคัญได้ มันค่อนข้างซับซ้อนและใช้โค้ดหลายบรรทัด แต่ใช้งานได้

ขั้นตอนที่ 5: ร่างและแหล่งที่มา

ร่างและที่มา
ร่างและที่มา

ที่เก็บ:

ขั้นตอนที่ 6: สร้างฮาร์ดแวร์

สร้างฮาร์ดแวร์
สร้างฮาร์ดแวร์
สร้างฮาร์ดแวร์
สร้างฮาร์ดแวร์
สร้างฮาร์ดแวร์
สร้างฮาร์ดแวร์

แขน

  1. มีการ์ดป้องกันมุมสี่ตัวอยู่ภายในกล่องที่จัดส่งของ MacBook ฉันใช้เป็นขาตั้ง
  2. ตัดรูปร่างเล็ก ๆ ให้พอดีกับเซอร์โว
  3. กาวขาตั้งและเซอร์โวเข้าด้วยกันด้วยปืนกาวร้อนละลาย
  4. เอาท่อจากขวดแชมพูที่ใช้แล้วและขันเข้ากับเซอร์โว
  5. ดึงมือของเล่นบนท่อ

ผู้ควบคุม

  1. สร้างต้นแบบบนเขียงหั่นขนม
  2. คัดลอกต้นแบบเขียงหั่นขนมไปยังแผงวงจรพิมพ์สากล
  3. ฉันใช้ส่วนหัวแยกสำหรับการเชื่อมต่อวงจรสายทั้งหมด
  4. ตัดกล่องกระดาษออก
  5. กาวด้านหน้ากล่องและแผงวงจรพิมพ์เข้าด้วยกัน
  6. ใส่บอร์ด Arduino, อีเธอร์เน็ตชิลด์ และฟองน้ำบางส่วนลงในกล่อง

เสร็จแล้ว.

แนะนำ: