Daftar Isi:

Waiter Please Bot: 6 Langkah (dengan Gambar)
Waiter Please Bot: 6 Langkah (dengan Gambar)

Video: Waiter Please Bot: 6 Langkah (dengan Gambar)

Video: Waiter Please Bot: 6 Langkah (dengan Gambar)
Video: UPDATE 2023 GINI CARA MEMBUAT GAMEPASS DI HP UNTUK BERMAIN PLS DONATE ATAU MEMBELI ROBUX TERBARU 2024, November
Anonim
Image
Image

Apa yang bisa salah dengan bel panggilan pelayan yang ditinju oleh servo di ruang kantor terbuka?

- saya tidak tahu:D

Orang cenderung membenci alarm atau bahkan interupsi, jadi mungkin ada baiknya untuk membuatnya sedikit lucu (setidaknya untuk sementara waktu). Itu yang ingin saya capai. Peringatkan teknisi dengan cepat tentang insiden kritis dengan cara yang dapat diterima.

Ini adalah proyek Arduino pertama saya yang terbuat dari pelindung Ethernet, kontrol Infra merah, Servo Mikro SG90 9g, dan bahan daur ulang.

Tindakan menampar dipicu melalui WebHook atau remote control. Remote control juga digunakan untuk memperhalus sudut lengan.

Langkah 1: Bagaimana Cara Kerjanya?

Bagaimana itu bekerja?
Bagaimana itu bekerja?

Itu mendengarkan pada penerima inframerah dan mengambil alamat HTTP untuk kata kunci yang diberikan. Kontroler inframerah dapat digunakan untuk fine tuning sudut lengan dan dapat digunakan untuk pemicu juga. Respons HTTP hanya dapat digunakan untuk memicu bel. (Dalam kasus saat ini saya membuat aplikasi web kecil yang menangkap webhook dari Slack dan mengelola bendera. - Tidak termasuk dalam instruksi ini)

Pada dasarnya saya menggunakan pengontrol inframerah hanya untuk tujuan debugging. Pertama kali saya membuat kesalahan dengan membiarkan pengontrol tetap di sebelah mesin tamparan, tetapi orang-orang cukup penasaran untuk memicu tamparan berkali-kali jadi saya menemukan perangkat terputus:)

Dalam kehidupan nyata itu hanya secara berkala memeriksa alamat web yang dikodekan dengan keras yang memiliki respons serupa seperti:

Jika kata kunci anyslap diikuti oleh bilangan bulat maka itu membuat banyak gerakan lengan.

Langkah 2: Diperlukan Komponen

Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan
Komponen yang Diperlukan

Komponen elektronik:

  • Arduino Uno R3
  • Perisai UNO Perisai Ethernet W5100 R3
  • Kit Modul Kontrol Jarak Jauh Nirkabel IR Inframerah
  • Servo (SG90)
  • Papan Sirkuit Cetak Universal 4x6cm
  • 5 x LED
  • 5x220 Ohm Resistor
  • Kawat Silikon 30AWG

Bahan daur ulang:

  • shampo flacon
  • Kotak karton
  • Mainan tangan (datang dengan beli dua croissant gratis satu tangan:)

Langkah 3: Gabungkan Tutorial Arduino

Sebagian besar saya hanya mengikuti Contoh Built-In Arduino, Contoh Perpustakaan dan digabungkan menjadi satu proyek.

Pelajaran yang direkomendasikan

  • Berkedip Tanpa Penundaan - Digunakan untuk indikator LED; millis() berfungsi untuk mengecek HTTP secara berkala dan mematikan servo jika tidak digunakan.
  • Fungsi output serial ASCIITable - Digunakan untuk debugging.
  • Struktur Kontrol, seperti: Loop Iteration, Switch Case, If Statement, While Loop
  • Klien Web Ethernet dengan Sewa DHCP - Digunakan untuk menerima pemicu dari titik akhir
  • Servo Lesson - digunakan untuk gerakan lengan (rotasi).
  • Penerima Inframerah - digunakan untuk kontrol tambahan dan menyempurnakan sudut lengan.

Langkah 4: Cari Kata Kunci dalam Respon HTTP dan Masalah EthernetClient Lainnya

Perakitan Waiter Please Bot cukup lurus ke depan kecuali hal-hal Ethernet.

Kesulitan

  1. Setiap panggilan EthernetClient terutama DHCP Lease adalah proses tunggal. Ini berfungsi seperti penundaan dengan rand yang menghentikan program.
  2. Lupakan JSON di API dan WebHook Arduino Strings tetap jahat.

1. - Proses tunggal

Saya menyerah untuk membuat program melakukan multi proses. Saya google beberapa solusi yang mungkin tetapi tidak ada yang sederhana. Saya ingin menjaga kode sekecil dan semudah mungkin dibaca.

2. - Parsing Respon

Stabilitas dan mampu bekerja tanpa perawatan adalah persyaratan utama. Jadi saya menghindari untuk menggunakan objek String apa pun karena kemungkinan memori bocor.

EthernetClient mengandalkan kelas dasar Stream dan fungsi find-nya memungkinkan untuk mencari kata kunci. Ini agak rumit dan menempati banyak baris kode, tetapi berhasil.

Langkah 5: Sketsa dan Sumber

Sketsa dan Sumber
Sketsa dan Sumber

Repositori:

Langkah 6: Bangun Perangkat Keras

Bangun Perangkat Keras
Bangun Perangkat Keras
Bangun Perangkat Keras
Bangun Perangkat Keras
Bangun Perangkat Keras
Bangun Perangkat Keras

Lengan

  1. Ada empat pelindung sudut di dalam kotak pengiriman Macbook. Saya menggunakannya sebagai stand.
  2. Potong bentuk kecil yang pas untuk servo.
  3. Rekatkan dudukan dan servo dengan pistol lem panas meleleh.
  4. Mengambil pipa dari flacon sampo bekas dan disekrup ke servo.
  5. Tarik tangan mainan pada pipa.

Pengendali

  1. Membuat prototipe di papan tempat memotong roti.
  2. Salin prototipe papan tempat memotong roti ke papan sirkuit cetak universal.
  3. Saya menggunakan header break away untuk semua koneksi sirkuit kawat.
  4. Potong kotak kertas.
  5. Rekatkan bagian depan kotak dan papan sirkuit tercetak.
  6. Letakkan papan Arduino, pelindung Ethernet, dan beberapa spons ke dalam kotak.

Selesai.

Direkomendasikan: