Talaan ng mga Nilalaman:

Waiter Mangyaring Bot: 6 Mga Hakbang (na may Mga Larawan)
Waiter Mangyaring Bot: 6 Mga Hakbang (na may Mga Larawan)

Video: Waiter Mangyaring Bot: 6 Mga Hakbang (na may Mga Larawan)

Video: Waiter Mangyaring Bot: 6 Mga Hakbang (na may Mga Larawan)
Video: How to Obtain Fullness of Power | R. A. Torrey | Christian Audiobook 2024, Hulyo
Anonim
Image
Image

Ano ang maaaring magkamali sa isang waiter call bell na pagsuntok ng isang servo sa isang bukas na puwang ng tanggapan?

- Hindi ko alam: D

Ang mga tao ay may posibilidad na mapoot ang alarma o kahit na mga pagkagambala, sa gayon maaari itong isang magandang ideya na gawin itong isang nakakatawa (para sa isang habang hindi bababa sa). Iyon ang layunin kong makamit. Mabilis na alerto ang mga inhinyero tungkol sa mga kritikal na insidente sa isang katanggap-tanggap na paraan.

Ito ang aking unang proyekto ng Arduino na ginawa mula sa kalasag ng Ethernet, pulang kontrol ng Infra, SG90 9g Micro Servo at mga recycled na materyales.

Ang pagkilos ng sampal ay na-trigger sa pamamagitan ng WebHook o remote control. Ginamit din ang remote control para sa pagmultahin sa anggulo ng braso.

Hakbang 1: Paano Ito Gumagawa?

Paano ito gumagana?
Paano ito gumagana?

Nakikinig ito sa infrared receiver at kumukuha ng isang HTTP address para sa isang naibigay na keyword. Maaaring gamitin ang Infrared Controller para sa pinong pag-tune ng anggulo ng braso at maaari ding gamitin para sa pag-trigger. Maaari lamang magamit ang HTTP Response para sa pag-trigger ng kampanilya. (Sa kasalukuyang kaso ay gumawa ako ng isang maliit na web application kung ano ang nakakakuha ng webhook mula sa Slack at namamahala ng isang flag. - Hindi kasama sa itinuturo na ito)

Karaniwan ginamit ko lamang ang infrared controller para sa layunin ng pag-debug. 1st time na nakagawa ako ng pagkakamali sa pamamagitan ng pagpapaalam sa manatili ng controller sa tabi ng sampal na makina, ngunit ang mga tao ay sapat na nakakausyoso upang mag-agaw ng sampal nang maraming beses kaya nahanap ko ang pagkakakonekta ng aparato:)

Sa totoong buhay, pana-panahong suriin lamang nito ang isang hard-code na web address kung ano ang may katulad na tugon tulad ng:

Kung ang anyslap keyword na sinusundan ng isang integer kaysa sa ginagawa nitong maraming paggalaw ng braso.

Hakbang 2: Kinakailangan ang Component

Kinakailangan ang Component
Kinakailangan ang Component
Kinakailangan ang Component
Kinakailangan ang Component
Kinakailangan ang Component
Kinakailangan ang Component

Mga elektronikong sangkap:

  • Arduino Uno R3
  • UNO Shield Ethernet Shield W5100 R3
  • Infrared IR Wireless Remote-Control Module Kit
  • Servo (SG90)
  • Universal Printed Circuit Board 4x6cm
  • 5 x LED
  • 5 x 220 Ohm Resistor
  • 30AWG Silicone Wire

Mga recycled na materyales:

  • Shampoo flacon
  • Mga kahon ng karton
  • Laruang kamay (sumama sa isang bumili ng dalawang croissant makakuha ng isang kamay nang libre:)

Hakbang 3: Pagsamahin ang Mga Arduino Tutorial

Karamihan ay sinundan ko lang ang Arduino Built-In na Mga Halimbawa, Mga Halimbawa sa Library at pinagsama sa isang proyekto.

Mga inirekumendang aralin

  • Blink without Delay - Ginamit para sa mga tagapagpahiwatig ng LED; pagpapaandar ng millis () upang suriin ang HTTP pana-panahon at patayin ang servo kung hindi nagamit.
  • ASCIITable serial output function - Ginamit para sa pag-debug.
  • Mga Structure ng Pagkontrol, tulad ng: Loop Iteration, Switch Case, Kung Pahayag, Habang Loop
  • Ang Ethernet Web Client na may DHCP Lease - Ginamit para sa pagtanggap ng mga pag-trigger mula sa HTTP endpoint.
  • Aralin sa Servo - ginagamit para sa paggalaw ng braso (pag-ikot).
  • Infrared Receiver - ginagamit para sa karagdagang kontrol at maayos na ibagay ang anggulo ng braso.

Hakbang 4: Maghanap para sa isang Keyword sa HTTP na Tugon at Iba Pang Mga Isyu ng EthernetClient

Ang pagpupulong ng Waiter na Mangyaring Bot ay medyo tuwid pasulong maliban sa mga bagay na Ethernet.

Mga kahirapan

  1. Anumang tawag ng EthernetClient lalo na ang DHCP Lease ay solong proseso. Gumagana ito tulad ng isang pagkaantala sa rand kung ano ang naka-pause sa programa.
  2. Kalimutan ang tungkol sa JSON sa API at WebHook Arduino Strings ay masama pa rin.

1. - solong proseso

Sumuko ako upang magawa ng maraming proseso ang programa. Google ko ang ilang mga posibleng solusyon ngunit hindi sa kanila ay simple. Nais kong panatilihin ang code nang maliit at madaling basahin hangga't maaari.

2. - Parse HTTP Response.

Ang katatagan at magagawang gumana nang walang pagpapanatili ay pangunahing mga kinakailangan. Kaya't iniiwasan kong gumamit ng anumang bagay na String dahil sa posibleng pagtulo ng memorya.

Ang EthernetClient ay umaasa sa Stream base class at ang find function na posible upang maghanap ng keyword. Ito ay medyo kumplikado at sumakop sa maraming mga linya ng code, ngunit gumagana ito.

Hakbang 5: Sketch at Pinagmulan

Sketch at Pinagmulan
Sketch at Pinagmulan

Repository:

Hakbang 6: Buuin ang Hardware

Buuin ang Hardware
Buuin ang Hardware
Buuin ang Hardware
Buuin ang Hardware
Buuin ang Hardware
Buuin ang Hardware

Ang braso

  1. Mayroong apat na mga bantay sa sulok sa loob ng naipadala na kahon ng Macbook. Ginamit ko ito bilang paninindigan.
  2. Gupitin ang isang maliit na hugis na angkop para sa servo.
  3. Isama ang pandikit at ang servo na may mainit na natunaw na baril na pandikit.
  4. Kinuha ang isang tubo mula sa isang ginamit na shampoo flacon at na-screw sa servo.
  5. Hilahin ang laruang kamay sa tubo.

Ang Controller

  1. Gumawa ng isang prototype sa breadboard.
  2. Kopyahin ang prototype ng breadboard sa pangkalahatang naka-print na circuit board.
  3. Ginamit ko ang break away header para sa lahat ng koneksyon sa wire circuit.
  4. Gupitin ang kahon ng papel.
  5. Isama ang pandikit sa harap ng kahon at ng naka-print na circuit board.
  6. Ilagay ang kahon ng Arduino, kalasag ng Ethernet at ilang espongha sa kahon.

Tapos na.

Inirerekumendang: