Mündəricat:

Ofisiant Zəhmət olmasa Bot: 6 addım (şəkillərlə birlikdə)
Ofisiant Zəhmət olmasa Bot: 6 addım (şəkillərlə birlikdə)

Video: Ofisiant Zəhmət olmasa Bot: 6 addım (şəkillərlə birlikdə)

Video: Ofisiant Zəhmət olmasa Bot: 6 addım (şəkillərlə birlikdə)
Video: Моя работа наблюдать за лесом и здесь происходит что-то странное 2024, Noyabr
Anonim
Image
Image

Açıq bir ofis yerində bir servo tərəfindən bir garson zəng zəngi vurmaqla nə səhv ola bilər?

- Bilmirəm: D

İnsanlar həyəcana və hətta fasilələrə nifrət edirlər, ona görə də bunu bir az gülməli etmək yaxşı olar (ən azı bir müddət). Buna nail olmağı hədəflədiyim budur. Mühəndisləri kritik hadisələr haqqında məqbul bir şəkildə tez xəbərdar edin.

Ethernet qalxanı, infraqırmızı idarəetmə, SG90 9g Micro Servo və təkrar materiallardan hazırlanan ilk Arduino layihəmdir.

Tokat hərəkəti WebHook və ya uzaqdan idarəetmə vasitəsi ilə tetiklenir. Uzaqdan idarəetmə də qolun bucağına qədər incə istifadə olunur.

Addım 1: Necə işləyir?

Bu necə işləyir?
Bu necə işləyir?

İnfraqırmızı qəbuledicini dinləyir və müəyyən bir açar söz üçün HTTP ünvanı alır. İnfraqırmızı nəzarətçi qol bucağını incə tənzimləmək üçün istifadə edə bilər və tətik üçün də istifadə edə bilər. HTTP Cavabı yalnız zəngi tetiklemek üçün istifadə edə bilər. (İndiki halda Slack -dən webhook tutan və bir bayrağı idarə edən kiçik bir veb tətbiq etdim. - Bu təlimata daxil deyil)

Əsasən infraqırmızı nəzarətçidən yalnız ayıklama məqsədi ilə istifadə etdim. 1 -ci dəfə nəzarətçinin tokat maşınının yanında qalmasına icazə verərək səhv etdim, amma insanlar bir neçə dəfə tokat vurmağa maraqlı olduqları üçün cihazın kəsildiyini görürəm:)

Real həyatda, vaxtaşırı oxşar cavabı olan, kodlaşdırılmış bir web ünvanını yoxlayır:

Anyslap açar sözündən sonra bir tam ədəd gəlirsə, bu qədər qol hərəkəti edir.

Addım 2: Komponent tələb olunur

Tələb olunan komponent
Tələb olunan komponent
Tələb olunan komponent
Tələb olunan komponent
Tələb olunan komponent
Tələb olunan komponent

Elektron komponentlər:

  • Arduino Uno R3
  • UNO Shield Ethernet Shield W5100 R3
  • İnfraqırmızı IR Simsiz Uzaqdan İdarəetmə Modulu Kit
  • Servo (SG90)
  • Universal çaplı 4x6 sm ölçü lövhəsi
  • 5 x LED
  • 5 x 220 Ohm müqavimət
  • 30AWG Silikon Tel

Təkrar emal olunan materiallar:

  • Şampun flakonu
  • Karton qutular
  • Oyuncaq əl (iki kruvasan al, bir əlini pulsuz al:)

Addım 3: Arduino Dərsliklərini birləşdirin

Çox vaxt Arduino Daxili Nümunələri, Kitabxana Nümunələrini izlədim və bir layihəyə birləşdirdim.

Tövsiyə olunan dərslər

  • Gecikmədən yanıb -sönmək - LED göstəriciləri üçün istifadə olunur; millis () funksiyası HTTP -ni vaxtaşırı yoxlamaq və istifadə edilmədikdə servonu söndürməkdir.
  • ASCIITable serial çıxış funksiyaları - Hata ayıklama üçün istifadə olunur.
  • Nəzarət Strukturları, məsələn: Loop İterasiyası, Switch Case, If If If If, Loop while
  • DHCP Kirayəsi olan Ethernet Veb Müştəri - HTTP son nöqtəsindən tətikçiləri qəbul etmək üçün istifadə olunur.
  • Servo Dərsi - qol hərəkəti (fırlanma) üçün istifadə olunur.
  • İnfraqırmızı Alıcı - Əlavə nəzarət və qolun bucağını dəqiq tənzimləmək üçün istifadə olunur.

Addım 4: HTTP Cavabında və Digər EthernetClient Məsələlərində Açar Söz axtarın

Waiter Please Bot -un yığılması Ethernet şeyləri istisna olmaqla olduqca düz idi.

Çətinliklər

  1. Hər hansı bir EthernetClient çağırışı, xüsusən DHCP Kirayəsi tək bir prosesdir. Proqramı dayandıran rand ilə gecikmə kimi işləyir.
  2. API -də JSON haqqında unutmayın və WebHook Arduino Strings onsuz da pisdir.

1. - Tək proses

Proqramın birdən çox prosesi yerinə yetirməsi üçün imtina edirəm. Bir neçə mümkün həll yolu axtarıram, amma heç biri sadə deyildi. Kodu mümkün qədər kiçik və oxumaq asan saxlamaq istədim.

2. - HTTP cavabını təhlil edin.

Sabitlik və təmirsiz işləmək əsas tələblərdir. Yaddaş sızması səbəbindən hər hansı bir String obyektindən istifadə etməkdən çəkinirəm.

EthernetClient, Stream əsas sinifinə güvənir və onun tapma funksiyası açar sözü axtarmağı mümkün edir. Bir az mürəkkəbdir və bir çox kod sətrini tutur, amma işləyir.

Addım 5: Eskiz və Mənbə

Eskiz və Mənbə
Eskiz və Mənbə

Depo:

Addım 6: Hardware qurun

Avadanlıq qurun
Avadanlıq qurun
Avadanlıq qurun
Avadanlıq qurun
Avadanlıq qurun
Avadanlıq qurun

Qol

  1. Göndərilən Macbook qutusunda dörd künc mühafizəçisi var. Stend kimi istifadə etdim.
  2. Servo üçün kiçik bir forma kəsin.
  3. Stendi və servonu isti əriyən yapışqan tabancası ilə yapışdırın.
  4. İstifadə edilmiş bir şampun flakonundan bir boru götürdü və servoya bərkidildi.
  5. Oyuncağın əlini boruya çəkin.

Nəzarətçi

  1. Çörək taxtasında prototip hazırladı.
  2. Çörək taxtasının prototipini universal çap elektron kartına kopyalayın.
  3. Bütün tel dövrə bağlantısı üçün başlıqlardan istifadə etdim.
  4. Kağız qutusunu kəsin.
  5. Qutunun ön hissəsini və çap edilmiş lövhəni yapışdırın.
  6. Arduino lövhəsini, Ethernet qalxanı və bir az süngəri qutuya qoyun.

Bitdi.

Tövsiyə: