Բովանդակություն:

Մատուցող, խնդրում եմ, բոտ. 6 քայլ (նկարներով)
Մատուցող, խնդրում եմ, բոտ. 6 քայլ (նկարներով)

Video: Մատուցող, խնդրում եմ, բոտ. 6 քայլ (նկարներով)

Video: Մատուցող, խնդրում եմ, բոտ. 6 քայլ (նկարներով)
Video: Ձեր էս ուրախությունը ամեն ինչ արժի իմ համար 🥹♥️🫂 2024, Հուլիսի
Anonim
Image
Image

Ի՞նչը կարող է սխալ լինել, երբ մատուցողի զանգը զանգահարում է ծառայողի բաց գրասենյակում:

-Չգիտեմ: D

Մարդիկ հակված են ատել ահազանգը կամ նույնիսկ ընդհատումները, ուստի գուցե լավ գաղափար է դա մի փոքր ծիծաղելի դարձնել (գոնե որոշ ժամանակով): Դա այն է, ինչին ես նպատակ ունեի հասնել: Ինժեներներին արագ զգուշացրեք ընդունելի եղանակով կրիտիկական միջադեպերի մասին:

Դա իմ առաջին Arduino նախագիծն է, որը պատրաստված է Ethernet վահանից, Ինֆրակարմիր հսկիչից, SG90 9g Micro Servo- ից և վերամշակված նյութերից:

Ապտակման գործողությունը գործարկվեց WebHook- ի կամ հեռակառավարման միջոցով: Հեռակառավարման վահանակը օգտագործվում է նաև թևի թեքության համար:

Քայլ 1: Ինչպե՞ս է այն աշխատում:

Ինչպես է դա աշխատում?
Ինչպես է դա աշխատում?

Այն լսում է ինֆրակարմիր ընդունիչին և բերում HTTP հասցե տվյալ հիմնաբառի համար: Ինֆրակարմիր կարգավորիչը կարող է օգտագործել թևի անկյունը լավ կարգավորելու համար և կարող է օգտագործել նաև ձգան: HTTP արձագանքը կարող է օգտագործվել միայն զանգը միացնելու համար: (Ներկայիս դեպքում ես պատրաստեցի մի փոքրիկ վեբ ծրագիր, որը բռնում էր Slack- ից վեբհուք և կառավարում դրոշը: - Ներառված չէ այս հրահանգվողում)

Հիմնականում ես ինֆրակարմիր վերահսկիչ օգտագործեցի միայն վրիպազերծման նպատակով: Առաջին անգամ ես սխալ թույլ տվեցի ՝ թույլ տալով, որ վերահսկիչը մնա ապտակի մեքենայի կողքին, բայց մարդիկ այնքան հետաքրքրասեր էին, որ շատ անգամ ապտակ հրահրեցին, ուստի սարքը անջատված եմ գտնում:)

Իրական կյանքում այն պարզապես պարբերաբար ստուգում է կոդավորված կոդավորված վեբ հասցեն, որն ունի նման արձագանք ՝

Եթե anyslap հիմնաբառը, որին հաջորդում է ամբողջ թիվը, այն կատարում է նույնքան բազուկի շարժում:

Քայլ 2: Պահանջվում է բաղադրիչ

Պահանջվում է բաղադրիչ
Պահանջվում է բաղադրիչ
Պահանջվում է բաղադրիչ
Պահանջվում է բաղադրիչ
Պահանջվում է բաղադրիչ
Պահանջվում է բաղադրիչ

Էլեկտրոնային բաղադրիչներ

  • Arduino Uno R3
  • UNO Shield Ethernet Shield W5100 R3
  • Ինֆրակարմիր IR անլար հեռակառավարման մոդուլի հավաքածու
  • Սերվո (SG90)
  • Ունիվերսալ տպագիր տպատախտակ 4x6 սմ
  • 5 x LED
  • 5 x 220 Օմ դիմադրություն
  • 30AWG սիլիկոնե մետաղալար

Վերամշակված նյութեր

  • Շամպունի բալոն
  • Ստվարաթղթե տուփեր
  • Խաղալիք ձեռքով (եկեք գնեք երկու կրուասան, ստացեք մեկ ձեռքը անվճար:)

Քայլ 3. Միացրեք Arduino- ի ձեռնարկները

Հիմնականում ես պարզապես հետևեցի Arduino- ի ներկառուցված օրինակներին, գրադարանային օրինակներին և համատեղեցի մեկ նախագծի:

Առաջարկվող դասեր

  • Թարթել առանց ուշացման - օգտագործվում է LED ցուցիչների համար; millis () գործառույթը `HTTP- ը պարբերաբար ստուգելու և servo- ն անջատելու դեպքում, եթե այն չի օգտագործվում:
  • ASCIITable սերիական ելքի գործառույթներ - Օգտագործվում է վրիպազերծման համար:
  • Վերահսկիչ կառույցներ, ինչպիսիք են ՝ Loop Iteration, Switch Case, If Statement, while Loop
  • Ethernet վեբ հաճախորդ DHCP վարձակալությամբ - օգտագործվում է HTTP վերջնակետից ձգաններ ստանալու համար:
  • Servo դաս - օգտագործվում է ձեռքի շարժման (պտույտի) համար:
  • Ինֆրակարմիր ընդունիչ - օգտագործվում է լրացուցիչ հսկողության և ձեռքի անկյունը նրբորեն կարգավորելու համար:

Քայլ 4. Որոնեք հիմնաբառ HTTP արձագանքման և EthernetClient- ի այլ հարցերում

Մատուցողի խնդրում եմ Bot- ի հավաքը բավականին ուղիղ էր, բացի Ethernet- ի իրերից:

Դժվարություններ

  1. Etանկացած EthernetClient զանգ, հատկապես DHCP Lease- ը մեկ գործընթաց է: Այն աշխատում է ռանդի հետաձգման նման, ինչը դադարեցնում է ծրագիրը:
  2. Մոռացեք JSON- ի մասին API- ում և WebHook Arduino լարերը, ամեն դեպքում, չար են:

1. - Մեկ գործընթաց

Ես հանձնվում եմ, որպեսզի ծրագիրը կատարի բազմաթիվ գործընթացներ: Ես որոնում եմ մի քանի հնարավոր լուծում, բայց դրանցից ոչ մեկը պարզ չէր: Ես ուզում էի ծածկագիրը պահել հնարավորինս փոքր և դյուրընթեռնելի:

2. - վերլուծել HTTP արձագանքը:

Կայունությունը և առանց սպասարկման աշխատելու ունակությունը հիմնական պահանջներն են: Այսպիսով, ես խուսափում եմ օգտագործել ցանկացած String օբյեկտ `հիշողության հնարավոր արտահոսքի պատճառով:

EthernetClient- ը ապավինում է Stream բազային դասին և նրա գտնելու գործառույթը հնարավորություն է տալիս որոնել հիմնաբառեր: Այն մի փոքր բարդ է և զբաղեցնում է ծածկագրի բազմաթիվ տողեր, բայց այն աշխատում է:

Քայլ 5: Էսքիզ և աղբյուր

Էսքիզ և աղբյուր
Էսքիզ և աղբյուր

Պահեստ ՝

Քայլ 6: Կառուցեք ապարատը

Կառուցեք սարքավորումները
Կառուցեք սարքավորումները
Կառուցեք սարքավորումները
Կառուցեք սարքավորումները
Կառուցեք սարքավորումները
Կառուցեք սարքավորումները

The Arm

  1. Macbook- ի առաքված տուփի մեջ կա չորս անկյունային պահակ: Ես այն օգտագործել եմ որպես տակդիր:
  2. Կտրեք մի փոքր ձև, որը տեղավորվում է սերվոյի համար:
  3. Սոսինձը և սերվոն սոսնձեք տաք հալվող սոսինձ ատրճանակով:
  4. Օգտագործված շամպունի բաճկոնից մի խողովակ վերցրեց և պտուտակեց դեպի սերվոն:
  5. Քաշեք խաղալիքի ձեռքը խողովակի վրա:

Վերահսկիչ

  1. Պատրաստված է նախատիպի տախտակի վրա:
  2. Պատճենեք տախտակի նախատիպը համընդհանուր տպագիր տպատախտակին:
  3. Ես օգտագործեցի անջատիչ վերնագրեր բոլոր մետաղալարերի միացման համար:
  4. Կտրեք թղթե տուփը:
  5. Սոսնձեցրեք տուփի առջևը և տպագիր տպատախտակը:
  6. Տեղադրեք Arduino տախտակը, Ethernet վահանը և մի քանի սպունգ տուփի մեջ:

Կատարած.

Խորհուրդ ենք տալիս: