Мазмуну:

Официант бот: 6 кадам (сүрөттөрү менен)
Официант бот: 6 кадам (сүрөттөрү менен)

Video: Официант бот: 6 кадам (сүрөттөрү менен)

Video: Официант бот: 6 кадам (сүрөттөрү менен)
Video: Еркектер естен кетті. Танцы со звездами SKY DANCE. Астана той ТойStar 8778 55 66 5 77 2024, Ноябрь
Anonim
Image
Image

Ачык офис мейкиндигинде официанттын коңгуроосун сервонун муштоосу менен эмне ката кетириши мүмкүн?

- Билбейм: Д.

Адамдар ойготууну же ал тургай үзгүлтүктөрдү жек көрүшөт, андыктан аны бир аз күлкүлүү кылуу жакшы болмок (жок дегенде бир азга). Мына ошого жетүүнү максат кылдым. Инженерлерге критикалык окуялар жөнүндө алгылыктуу түрдө тез эскертүү.

Бул менин Ethernet калканынан, инфра кызыл көзөмөлүнөн, SG90 9g Micro Servo жана кайра иштетилген материалдардан жасалган биринчи Arduino долбоорум.

Уруу аракети WebHook же алыстан башкаруу аркылуу ишке ашты. Алыстан башкаруу пульту колунун бурчуна чейин жакшы колдонулат.

1 -кадам: Бул кантип иштейт?

Бул кантип иштейт?
Бул кантип иштейт?

Ал инфракызыл алуучуну угат жана берилген ачкыч үчүн HTTP дарегин алат. Инфракызыл контролер колунун бурчун так тууралоо үчүн жана триггер үчүн да колдоно алат. HTTP жообу коңгуроону иштетүү үчүн гана колдонулушу мүмкүн. (Учурдагы учурда мен Slackтен веб -хукту кармаган жана желекти башкарган кичинекей веб -тиркеме жасадым. - Бул көрсөтмөгө киргизилген эмес)

Негизи инфракызыл контроллерди мүчүлүштүктөрдү оңдоо максатында гана колдондум. Биринчи жолу мен контроллерге чапкыч машинанын жанында калууга уруксат берүү менен ката кетирдим, бирок элдер көп жолу шапалак чыгарууга кызыкдар болгондуктан, мен аппаратты ажыратылганын көрдүм:)

Чыныгы жашоодо, анда-санда окшош жообу бар, катуу коддолгон веб-даректи текшерет:

Эгерде anyslap ачкыч сөзүнөн кийин бүтүн сан чыкса, ал ошончо кол кыймылын жасайт.

2 -кадам: Компонент талап кылынат

Компонент талап кылынат
Компонент талап кылынат
Компонент талап кылынат
Компонент талап кылынат
Компонент талап кылынат
Компонент талап кылынат

Электрондук компоненттер:

  • Arduino Uno R3
  • UNO Shield Ethernet Shield W5100 R3
  • Infrared IR Wireless Remote-Control Module Kit
  • Серво (SG90)
  • Universal Printed Circuit Board 4x6cm
  • 5 x LED
  • 5 x 220 Ом резистору
  • 30AWG силикон зымы

Кайра иштетилген материалдар:

  • Шампунь флакону
  • Картон кутулар
  • Оюнчук колу (эки круассаны сатып алуу менен келүү, бир колун бекер алуу:)

3 -кадам: Arduino үйрөткүчтөрүн бириктириңиз

Көбүнчө мен Arduino камтылган мисалдарын, китепкана мисалдарын ээрчип, бир долбоорго бириктим.

Сунушталган сабактар

  • Кечиктирбестен өчүү - LED индикаторлору үчүн колдонулат; millis () функциясы HTTPди мезгил -мезгили менен текшерип туруу жана эгер колдонулбаса сервону өчүрүү.
  • ASCIITable сериялык чыгаруу функциялары - Мүчүлүштүктөрдү оңдоо үчүн колдонулат.
  • Башкаруу структуралары, мисалы: Циклди кайталоо, Коммутаторду алмаштыруу, Эгерде билдирүү, Цикл учурунда
  • DHCP Арендасы менен Ethernet Желе Кардары - HTTP акыркы чекитинен триггерлерди алуу үчүн колдонулат.
  • Серво сабагы - колдун кыймылы үчүн колдонулат (айлануу).
  • Инфракызыл кабылдагыч - кошумча көзөмөлдөө жана колдун бурчун так жөндөө үчүн колдонулат.

4 -кадам: HTTP жооп жана башка EthernetClient маселелери боюнча ачкыч сөздү издөө

Официант Боттун жамааты Ethernet нерселеринен башка нерселерден түз эле.

Кыйынчылыктар

  1. Ар кандай EthernetClient чалуусу, өзгөчө DHCP ижарасы, бир процесс. Бул rand менен кечигүү сыяктуу иштейт, бул программаны токтотот.
  2. APIдеги JSON жөнүндө унутуп коюңуз жана WebHook Arduino Strings баары бир жаман.

1. - Бирдиктүү процесс

Мен программанын көп процесстерди жасашынан баш тартам. Мен мүмкүн болгон бир нече чечимдерди гуглда кылдым, бирок алардын бири да жөнөкөй эмес. Мен кодду мүмкүн болушунча кичине жана оңой окууну кааладым.

2. - HTTP жообун талдоо.

Негизги талаптар - туруктуулук жана техникалык тейлөөсүз иштөө. Мен мүмкүн болгон эстутумдун агып кетишинен улам String объектисин колдонуудан качам.

EthernetClient Stream базалык классына таянат жана анын табуу функциясы ачкыч сөздү издөөгө мүмкүндүк берет. Бул бир аз татаал жана көптөгөн коддорду ээлейт, бирок ал иштейт.

5 -кадам: Эскиз жана булак

Эскиз жана булак
Эскиз жана булак

Репозиторий:

6 -кадам: Аппаратты куруу

Аппараттык түзүлүш
Аппараттык түзүлүш
Аппараттык түзүлүш
Аппараттык түзүлүш
Аппараттык түзүлүш
Аппараттык түзүлүш

Кол

  1. Macbookтун кутусунда төрт бурчтук күзөтчү бар. Мен аны стенд катары колдондум.
  2. Серво үчүн ылайыктуу кичинекей форманы кесип алыңыз.
  3. Стенд менен сервону ысык эритилген клей тапанчасы менен жабыштырыңыз.
  4. Колдонулган шампунь флаконунан трубаны алып, сервого бурап салышты.
  5. Трубага оюнчуктун колун тарткыла.

Контроллер

  1. Нан тактасына прототип жасады.
  2. Банктагы прототипти универсалдуу басылган платага көчүрүү.
  3. Мен бардык зымдык туташуу үчүн баштарды ажыратууну колдондум.
  4. Кагаз кутучаны кесип алыңыз.
  5. Кутунун алдыңкы бетин жана басылган платаны жабыштырыңыз.
  6. Arduino тактасын, Ethernet калканчын жана губканы кутуга салыңыз.

Бүттү.

Сунушталууда: