Turinys:

Padavėjo prašome roboto: 6 žingsniai (su nuotraukomis)
Padavėjo prašome roboto: 6 žingsniai (su nuotraukomis)

Video: Padavėjo prašome roboto: 6 žingsniai (su nuotraukomis)

Video: Padavėjo prašome roboto: 6 žingsniai (su nuotraukomis)
Video: Йога для начинающих дома с Алиной Anandee #1. Здоровое и гибкое тело за 40 минут 2024, Lapkritis
Anonim
Image
Image

Kas gali nutikti, kai padavėjo skambučio varpas mušamas servo atviroje biuro patalpoje?

- Nežinau: D

Žmonės linkę nekęsti aliarmo ar net trukdžių, todėl gali būti gera idėja padaryti tai šiek tiek juokingą (bent jau kurį laiką). To ir siekiau. Greitai įspėkite inžinierius apie kritinius įvykius priimtinu būdu.

Tai mano pirmasis „Arduino“projektas, pagamintas iš „Ethernet“skydo, infraraudonųjų spindulių valdymo, SG90 9g „Micro Servo“ir perdirbtų medžiagų.

Paspaudimo veiksmas suaktyvintas naudojant „WebHook“arba nuotolinio valdymo pultą. Nuotolinio valdymo pultas taip pat naudojamas smulkinimui rankos kampu.

1 žingsnis: kaip tai veikia?

Kaip tai veikia?
Kaip tai veikia?

Jis klauso infraraudonųjų spindulių imtuvo ir gauna HTTP adresą tam tikram raktiniam žodžiui. Infraraudonųjų spindulių valdiklis gali būti naudojamas norint tiksliai sureguliuoti rankos kampą ir taip pat gali būti naudojamas kaip gaidukas. HTTP atsakas gali būti naudojamas tik skambučiui suaktyvinti. (Šiuo atveju sukūriau nedidelę žiniatinklio programą, kuri sugauna „Slack“žiniatinklio užkabą ir valdo vėliavą. - Neįtraukta į šią instrukciją)

Iš esmės aš naudoju infraraudonųjų spindulių valdiklį tik derinimui. Pirmą kartą padariau klaidą, leisdamas valdikliui pasilikti šalia pliaukštelėjimo mašinos, tačiau žmonės buvo pakankamai smalsūs, kad daug kartų suaktyvintų antausį, todėl radau, kad įrenginys atjungtas:)

Realiame gyvenime ji tiesiog periodiškai tikrina užkoduotą žiniatinklio adresą, kuris turi panašų atsakymą, pavyzdžiui:

Jei raktinis žodis „anyslap“, po kurio eina sveikasis skaičius, juda tiek pat rankų.

2 žingsnis: reikalingas komponentas

Privalomas komponentas
Privalomas komponentas
Privalomas komponentas
Privalomas komponentas
Privalomas komponentas
Privalomas komponentas

Elektroniniai komponentai:

  • „Arduino Uno R3“
  • „UNO Shield Ethernet Shield W5100 R3“
  • Infraraudonųjų spindulių IR belaidžio nuotolinio valdymo modulio rinkinys
  • Servo (SG90)
  • Universali spausdintinė plokštė 4x6 cm
  • 5 x LED
  • 5 x 220 omų rezistorius
  • 30AWG silikoninė viela

Perdirbtos medžiagos:

  • Šampūno flakonas
  • Kartoninės dėžės
  • Žaislinė ranka (įsigykite du kruasanus, vieną ranką gausite nemokamai:)

3 žingsnis: Sujunkite „Arduino“vadovėlius

Dažniausiai sekiau „Arduino“integruotus pavyzdžius, bibliotekos pavyzdžius ir sujungiau į vieną projektą.

Rekomenduojamos pamokos

  • Mirksi be delsos - naudojamas LED indikatoriams; „Millis“() funkciją, kad periodiškai tikrintų HTTP ir išjungtų servo, jei jis nenaudojamas.
  • ASCIITable serijinės išvesties funkcijos - Naudojamas derinimui.
  • Valdymo struktūros, tokios kaip: ciklo kartojimas, jungiklio dėklas, jei teiginys, o ciklas
  • „Ethernet“žiniatinklio klientas su DHCP nuoma - naudojamas priimti aktyviklius iš HTTP galinio taško.
  • Servo pamoka - naudojama rankos judesiui (sukimui).
  • Infraraudonųjų spindulių imtuvas - naudojamas papildomai valdyti ir tiksliai sureguliuoti rankos kampą.

4 veiksmas: ieškokite raktinio žodžio HTTP atsakyme ir kitose „EthernetClient“problemose

„Waiter Please Bot“surinkimas vyko beveik tiesiai, išskyrus „Ethernet“dalykus.

Sunkumai

  1. Bet koks „EthernetClient“skambutis, ypač DHCP nuoma, yra vienas procesas. Tai veikia kaip delsimas su randu, kuris pristabdo programą.
  2. Pamirškite apie JSON API ir „WebHook“„Arduino“stygos bet kokiu atveju yra blogos.

1. - Vienas procesas

Aš pasiduodu, kad programa atliktų kelis procesus. „Google“ieškau keletą galimų sprendimų, tačiau nė vienas iš jų nebuvo paprastas. Norėjau, kad kodas būtų kuo mažesnis ir lengvai skaitomas.

2. - išanalizuoti HTTP atsaką.

Stabilumas ir gebėjimas dirbti be priežiūros yra pagrindiniai reikalavimai. Taigi vengiu naudoti bet kokį String objektą dėl galimo atminties nutekėjimo.

„EthernetClient“remiasi „Stream“bazine klase ir jos paieškos funkcija leidžia ieškoti raktinių žodžių. Tai šiek tiek sudėtinga ir užima daug kodo eilučių, tačiau ji veikia.

5 žingsnis: eskizas ir šaltinis

Eskizas ir šaltinis
Eskizas ir šaltinis

Saugykla:

6 žingsnis: sukurkite aparatūrą

Sukurkite aparatūrą
Sukurkite aparatūrą
Sukurkite aparatūrą
Sukurkite aparatūrą
Sukurkite aparatūrą
Sukurkite aparatūrą

Ranka

  1. Pristatytoje „Macbook“dėžutėje yra keturi kampiniai apsaugai. Aš jį naudojau kaip stovą.
  2. Iškirpkite mažą formą, tinkančią servui.
  3. Klijuokite stovą ir servo karštą lydalo klijų pistoletą.
  4. Paėmė pypkę iš panaudoto šampūno flakono ir prisuko prie servo.
  5. Patraukite žaislo ranką ant vamzdžio.

Kontrolierius

  1. Padarė prototipą ant duonos lentos.
  2. Nukopijuokite duonos lentos prototipą į universaliąją spausdintinę plokštę.
  3. Visam laidų grandinės prijungimui naudoju atsiskyrimo antraštes.
  4. Iškirpkite popieriaus dėžutę.
  5. Klijuokite dėžutės priekį ir spausdintinę plokštę.
  6. Įdėkite „Arduino“plokštę, „Ethernet“skydą ir šiek tiek kempinės prie dėžutės.

Padaryta.

Rekomenduojamas: