{"id":39336,"date":"2019-10-31T22:30:33","date_gmt":"2019-10-31T19:30:33","guid":{"rendered":"https:\/\/prohoster.info\/blog\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik\/"},"modified":"2019-10-31T22:30:33","modified_gmt":"2019-10-31T19:30:33","slug":"opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik","title":{"rendered":"Do\u015bwiadczenie w budowie pierwszego robota na Arduino (robot-\u00abmy\u015bliwy\u00bb)","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cze\u015b\u0107.<\/p>\n<p>W tym artykule chcia\u0142bym opisa\u0107 proces budowy mojego pierwszego robota na Arduino. Materia\u0142 b\u0119dzie przydatny dla innych nowicjuszy, takich jak ja, kt\u00f3rzy chc\u0105 stworzy\u0107 \u201esamobiegaj\u0105c\u0105 w\u00f3zek\u201d. Artyku\u0142 stanowi opis etap\u00f3w pracy z moimi dodatkami na r\u00f3\u017cne niuanse. Link do ko\u0144cowego kodu (prawdopodobnie nieidealnego) znajduje si\u0119 na ko\u0144cu artyku\u0142u.<\/p>\n<p><img decoding=\"async\" alt=\"Do\u015bwiadczenie w budowie pierwszego robota na Arduino (robot-\u00abmy\u015bliwy\u00bb)\" src=\"\/wp-content\/uploads\/2019\/10\/a0ebb10f0a1f4b710110f91edb13e2c3.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nW miar\u0119 mo\u017cliwo\u015bci anga\u017cowa\u0142em w to mojego syna (8 lat). Co dok\u0142adnie mu wychodzi\u0142o, a co nie \u2014 na to po\u015bwi\u0119ci\u0142em cz\u0119\u015b\u0107 artyku\u0142u, by\u0107 mo\u017ce komu\u015b si\u0119 przyda.<br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Og\u00f3lny opis robota<\/h2>\n<p>\nNa pocz\u0105tku kilka s\u0142\u00f3w o samym robotie (<b>idea<\/b>). Nie chcia\u0142em na pocz\u0105tku budowa\u0107 czego\u015b typowego. Jednocze\u015bnie zestaw komponent\u00f3w by\u0142 do\u015b\u0107 standardowy \u2014 szasii, silniki, czujnik ultrad\u017awi\u0119kowy, czujnik linii, diody LED, buzzer. Na pocz\u0105tku z tej \u201ezupy\u201d wymy\u015bli\u0142em robota, kt\u00f3ry strze\u017ce swojego terytorium. Zmierza do intruza, kt\u00f3ry przekroczy\u0142 lini\u0119 okr\u0119gu, a potem wraca do \u015brodka. W tej wersji by\u0142a jednak potrzebna narysowana linia, plus dodatkowa matematyka, aby stale pozosta\u0107 w okr\u0119gu.<\/p>\n<p>Dlatego po pewnym namy\u015ble zmieni\u0142em pomys\u0142 i postanowi\u0142em stworzy\u0107 robota-\u201e\u0142owc\u0119\u201d. Na pocz\u0105tku obraca si\u0119 wok\u00f3\u0142 w\u0142asnej osi, wybieraj\u0105c poblisk\u0105 cel (cz\u0142owieka). Gdy \u201eofiara\u201d zostanie odkryta, \u201e\u0142owca\u201d w\u0142\u0105cza migacze i syren\u0119, i zaczyna do niej jecha\u0107. Kiedy cz\u0142owiek odchodzi\/ucieka, robot wybiera nowy cel i \u015bciga go, i tak dalej. Taki robot nie potrzebuje ograniczonego okr\u0119gu i mo\u017ce dzia\u0142a\u0107 na otwartym terenie.<\/p>\n<p>\u041a\u0430\u043a \u0432\u0438\u0434\u0438\u0442\u0435, \u044d\u0442\u043e \u0432\u043e \u043c\u043d\u043e\u0433\u043e\u043c \u043d\u0430\u043f\u043e\u043c\u0438\u043d\u0430\u0435\u0442 \u0438\u0433\u0440\u0443 \u00ab\u0434\u043e\u0433\u043e\u043d\u044f\u043b\u043a\u0438\u00bb. \u0425\u043e\u0442\u044f \u0432 \u0438\u0442\u043e\u0433\u0435 \u0440\u043e\u0431\u043e\u0442 \u0438 \u043d\u0435 \u043f\u043e\u043b\u0443\u0447\u0438\u043b\u0441\u044f \u0434\u043e\u0441\u0442\u0430\u0442\u043e\u0447\u043d\u043e \u0440\u0435\u0437\u0432\u044b\u043c, \u043d\u043e \u043e\u043d \u0447\u0435\u0441\u0442\u043d\u043e \u0432\u0437\u0430\u0438\u043c\u043e\u0434\u0435\u0439\u0441\u0442\u0432\u0443\u0435\u0442 \u0441 \u043e\u043a\u0440\u0443\u0436\u0430\u044e\u0449\u0438\u043c\u0438 \u0435\u0433\u043e \u043b\u044e\u0434\u044c\u043c\u0438. \u041e\u0441\u043e\u0431\u0435\u043d\u043d\u043e \u044d\u0442\u043e \u043d\u0440\u0430\u0432\u0438\u0442\u0441\u044f \u0434\u0435\u0442\u044f\u043c (\u0438\u043d\u043e\u0433\u0434\u0430, \u043f\u0440\u0430\u0432\u0434\u0430, \u043a\u0430\u0436\u0435\u0442\u0441\u044f, \u0447\u0442\u043e \u043e\u043d\u0438 \u0432\u043e\u0442-\u0432\u043e\u0442 \u0440\u0430\u0441\u0442\u043e\u043f\u0447\u0443\u0442 \u0435\u0433\u043e, \u0430\u0436 \u0441\u0435\u0440\u0434\u0446\u0435 \u0451\u043a\u0430\u0435\u0442&#8230;). \u0414\u0443\u043c\u0430\u044e, \u0434\u043b\u044f \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u0438\u0437\u0430\u0446\u0438\u0438 \u0442\u0435\u0445\u043d\u0438\u0447\u0435\u0441\u043a\u043e\u0433\u043e \u043a\u043e\u043d\u0441\u0442\u0440\u0443\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u044d\u0442\u043e \u0445\u043e\u0440\u043e\u0448\u0435\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435.<\/p>\n<h2>Struktura robota<\/h2>\n<p>\nWi\u0119c zdecydowali\u015bmy si\u0119 na pomys\u0142, przechodzimy do <b>kompozycji<\/b>. Lista element\u00f3w jest tworzona z tego, co robot powinien umie\u0107. Tutaj wszystko jest ca\u0142kiem oczywiste, wi\u0119c od razu przyjrzymy si\u0119 numeracji:<\/p>\n<p><img decoding=\"async\" alt=\"Do\u015bwiadczenie w budowie pierwszego robota na Arduino (robot-\u00abmy\u015bliwy\u00bb)\" src=\"\/wp-content\/uploads\/2019\/10\/d9a9eda197cb04e81e2c5b8d3cd48fa9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n\u00abM\u00f3zgi\u00bb robota \u2014 p\u0142ytka Arduino Uno (1), by\u0142a w zam\u00f3wionym zestawie z Chin. Dla naszych cel\u00f3w jest to wystarczaj\u0105ce (skupiamy si\u0119 na liczbie u\u017cywanych pin\u00f3w). Z tego samego zestawu wzi\u0119li\u015bmy gotowe podwozie (2), na kt\u00f3re mocowane s\u0105 dwa nap\u0119dowe ko\u0142a (3) i jedno tylne (swobodnie obracaj\u0105ce si\u0119) (4). W zestawie by\u0142 tak\u017ce gotowy pojemnik na baterie (5). Z przodu robota znajduje si\u0119 czujnik ultrad\u017awi\u0119kowy (HC-SR04) (6), z ty\u0142u \u2014 sterownik silnik\u00f3w (L298N) (7), na \u015brodku \u2014 dioda LED migaj\u0105ca (8) i nieco z boku \u2014 buzzer (9).<\/p>\n<p>Na etapie kompozycji zwracamy uwag\u0119:<\/p>\n<p> \u2014 \u017ceby wszystko si\u0119 zmie\u015bci\u0142o<br \/>\n \u2014 \u017ceby by\u0142o zbalansowane<br \/>\n \u2014 \u017ceby by\u0142o racjonalnie rozmieszczone<\/p>\n<p>Cz\u0119\u015bciowo zrobili to ju\u017c za nas chi\u0144scy koledzy. Tak, ci\u0119\u017cki pojemnik na baterie zosta\u0142 umieszczony na \u015brodku, a mniej wi\u0119cej pod nim znajduj\u0105 si\u0119 ko\u0142a nap\u0119dowe. Wszystkie inne p\u0142ytki s\u0105 lekkie, mo\u017cna je umie\u015bci\u0107 na peryferiach.<\/p>\n<p>Szczeg\u00f3\u0142y:<\/p>\n<ol>\n<li>W podwoziu z zestawu jest wiele fabrycznych otwor\u00f3w, ale jaka jest ich logika \u2014 nie zdo\u0142a\u0142em si\u0119 dowiedzie\u0107. Silniki i blok akumulator\u00f3w zosta\u0142y zamocowane bez problemu, dalej zacz\u0119\u0142a si\u0119 \u201eadaptacja\u201d z wierceniem nowych otwor\u00f3w, aby zamocowa\u0107 t\u0119 czy inn\u0105 p\u0142ytk\u0119.<\/li>\n<li>Bardzo przyda\u0142y si\u0119 mosi\u0119\u017cne wsporniki i inne mocowania z zapas\u00f3w (czasami musia\u0142em improwizowa\u0107).<\/li>\n<li>Przewody z ka\u017cdej p\u0142ytki przepuszcza\u0142em przez zaciski (znalezione znowu w zapasach). Bardzo wygodne, wszystkie kable le\u017c\u0105 \u0142adnie i nie s\u0105 lu\u017ane.<\/li>\n<\/ol>\n<p><\/p>\n<h2>Oddzielne bloki<\/h2>\n<p>\nTeraz przejd\u0119 do <b>blok\u00f3w<\/b> i opowiem osobno o ka\u017cdym.<\/p>\n<p><b>Pojemnik na baterie<\/b><\/p>\n<p>Jasne, \u017ce robot musi mie\u0107 dobre \u017ar\u00f3d\u0142o energii. Opcje mog\u0105 by\u0107 r\u00f3\u017cne, ja wybra\u0142em opcj\u0119 z 4 akumulatorami AA. W sumie daj\u0105 oko\u0142o 5 V, a takie napi\u0119cie mo\u017cna bezpo\u015brednio poda\u0107 na pin 5V p\u0142ytki Arduino (omijaj\u0105c stabilizator).<\/p>\n<p>Oczywi\u015bcie by\u0142em troch\u0119 ostro\u017cny, ale to rozwi\u0105zanie dzia\u0142a ca\u0142kiem dobrze.<\/p>\n<p>Poniewa\u017c zasilanie potrzebne jest wsz\u0119dzie, dla wygody zrobi\u0142em na \u015brodku robota dwa z\u0142\u0105cza: jedno \u201eudost\u0119pnia\u201d mas\u0119 (po prawej), a drugie \u2014 5 V (po lewej).<\/p>\n<p><img decoding=\"async\" alt=\"Do\u015bwiadczenie w budowie pierwszego robota na Arduino (robot-\u00abmy\u015bliwy\u00bb)\" src=\"\/wp-content\/uploads\/2019\/10\/9b6e9842a8e6c73400119f63dc66ece9.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\n<b>Silniki i sterownik<\/b><\/p>\n<p>Najpierw o mocowaniu silnik\u00f3w. Mocowanie jest fabryczne, ale wykonane z du\u017cymi tolerancjami. Innymi s\u0142owy, silniki mog\u0105 \u201ewibracyjnie\u201d porusza\u0107 si\u0119 o kilka milimetr\u00f3w w lewo i prawo. Dla naszego zadania nie jest to krytyczne, ale gdzie indziej mo\u017ce to wp\u0142ywa\u0107 (robot zacznie zbacza\u0107 na bok). Na wszelki wypadek ustawi\u0142em silniki \u015bci\u015ble r\u00f3wnolegle i zafiksowa\u0142em je klejem.<\/p>\n<p><img decoding=\"async\" alt=\"Do\u015bwiadczenie w budowie pierwszego robota na Arduino (robot-\u00abmy\u015bliwy\u00bb)\" src=\"\/wp-content\/uploads\/2019\/10\/5fe08f0746ece439a987ec6c85f7a24b.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nDo sterowania silnikami, jak pisa\u0142em wcze\u015bniej, wykorzystuje si\u0119 sterownik L298N. Zgodnie z dokumentacj\u0105 ma on trzy piny na ka\u017cdy silnik: jeden do zmiany pr\u0119dko\u015bci i par\u0119 pin\u00f3w do kierunku obrotu. Tutaj jest jedna wa\u017cna kwestia. Okazuje si\u0119, \u017ce je\u015bli napi\u0119cie zasilania wynosi 5 V, to regulacja pr\u0119dko\u015bci po prostu nie dzia\u0142a! To znaczy, \u017ce albo ca\u0142kowicie nie kr\u0119ci, albo kr\u0119ci na maksa. Taka szczeg\u00f3lno\u015b\u0107, przez kt\u00f3r\u0105 'zgubi\u0142em' kilka wieczor\u00f3w. W ko\u0144cu znalaz\u0142em wzmiank\u0119 gdzie\u015b na jednym z for\u00f3w.<\/p>\n<p>Generalnie niska pr\u0119dko\u015b\u0107 obrotu by\u0142a mi potrzebna podczas nawracania robota \u2014 aby mia\u0142 zapas czasu na zeskanowanie przestrzeni. Poniewa\u017c jednak taka koncepcja si\u0119 nie sprawdzi\u0142a, musia\u0142em to robi\u0107 inaczej: ma\u0142y obr\u00f3t \u2014 zatrzymanie \u2014 obr\u00f3t \u2014 zatrzymanie itd. Znowu, nie tak elegancko, ale dzia\u0142a.<\/p>\n<p>Tutaj dodam, \u017ce po ka\u017cdym \u015bciganiu robot wybiera losowy kierunek nowego obrotu (zgodnie lub przeciwnie do ruchu wskaz\u00f3wek zegara).<\/p>\n<p><b>Czujnik ultrad\u017awi\u0119kowy<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Do\u015bwiadczenie w budowie pierwszego robota na Arduino (robot-\u00abmy\u015bliwy\u00bb)\" src=\"\/wp-content\/uploads\/2019\/10\/d723408fb51c754dd63ba1f3ad2318ac.jpeg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nKolejny kawa\u0142ek sprz\u0119tu, w kt\u00f3rym musia\u0142em znale\u017a\u0107 kompromisowe rozwi\u0105zanie. Czujnik ultrad\u017awi\u0119kowy na rzeczywistych przeszkodach daje niestabilne wyniki. W\u0142a\u015bciwie, by\u0142o to do przewidzenia. Dzia\u0142a idealnie na zawodach, gdzie s\u0105 g\u0142adkie, r\u00f3wne i prostopad\u0142e powierzchnie, ale je\u015bli przed nim \u201emigaj\u0105\u201d czyje\u015b nogi \u2014 wprowadza\u0107 trzeba dodatkowe przetwarzanie.<\/p>\n<p>Jako takie przetwarzanie zastosowa\u0142em <noindex><a rel=\"nofollow\" href=\"https:\/\/ru.wikipedia.org\/wiki\/%D0%9C%D0%B5%D0%B4%D0%B8%D0%B0%D0%BD%D0%BD%D1%8B%D0%B9_%D1%84%D0%B8%D0%BB%D1%8C%D1%82%D1%80\">filtr medianowy<\/a><\/noindex> na trzy pomiary. Na podstawie test\u00f3w na prawdziwych dzieciach (w trakcie test\u00f3w \u017cadne dziecko nie ucierpia\u0142o!), okaza\u0142o si\u0119 to wystarczaj\u0105ce do normalizacji danych. Fizyka jest prosta: mamy sygna\u0142y odbite od <b>potrzebnych<\/b> obiekt\u00f3w (daj\u0105ce wymagan\u0105 odleg\u0142o\u015b\u0107) i odbite od dalszych, na przyk\u0142ad \u015bcian. Te drugie stanowi\u0105 przypadkowe odchylenia w pomiarach typu 45, 46, <b>230<\/b>, 46, 46, 45, 45, <b>310<\/b>, 46\u2026 To w\u0142a\u015bnie ich filtr medianowy odrzuca.<\/p>\n<p>Po przetworzeniu wszystkich danych uzyskujemy odleg\u0142o\u015b\u0107 do najbli\u017cszego obiektu. Je\u015bli jest ona mniejsza ni\u017c pewna warto\u015b\u0107 progowa \u2014 wtedy w\u0142\u0105czamy sygnalizacj\u0119 i jedziemy prosto do \"naruszyciela\".<\/p>\n<p><b>Migacz i syrena<\/b><\/p>\n<p>To chyba najprostsze elementy z wymienionych. Wida\u0107 je na zdj\u0119ciach powy\u017cej. O podzespo\u0142ach nie ma sensu si\u0119 rozwodzi\u0107, wi\u0119c przejd\u017amy teraz do <b>kodu<\/b>.<\/p>\n<h2>Program zarz\u0105dzaj\u0105cy<\/h2>\n<p>\nNie widz\u0119 sensu w szczeg\u00f3\u0142owym opisywaniu kodu, kto potrzebuje \u2014 link na ko\u0144cu artyku\u0142u, tam wszystko jest wystarczaj\u0105co czytelne. A og\u00f3ln\u0105 struktur\u0119 warto by by\u0142o wyja\u015bni\u0107.<\/p>\n<p>Pierwsza rzecz, kt\u00f3r\u0105 musia\u0142em zrozumie\u0107: robot to urz\u0105dzenie dzia\u0142aj\u0105ce w czasie rzeczywistym. A konkretnie, musz\u0119 to przypomnie\u0107, poniewa\u017c wcze\u015bniej i teraz zajmuj\u0119 si\u0119 elektronik\u0105. Tak wi\u0119c, od razu zapominamy o wywo\u0142aniu <b>delay()<\/b>, kt\u00f3re bardzo ch\u0119tnie stosuje si\u0119 w przyk\u0142adach i kt\u00f3re po prostu \"zamra\u017ca\" program na wskazany czas. Zamiast tego, jak radz\u0105 do\u015bwiadczeni, wprowadzamy timery dla ka\u017cdego bloku. Min\u0105\u0142 wymagany czas \u2014 wykonujemy dzia\u0142anie (zwi\u0119kszamy jasno\u015b\u0107 diody LED, w\u0142\u0105czamy silnik itd.).<\/p>\n<p>Timery mog\u0105 by\u0107 ze sob\u0105 powi\u0105zane. Na przyk\u0142ad, brz\u0119czyk dzia\u0142a synchronicznie z migaczem. To troch\u0119 upraszcza program.<\/p>\n<p>Oczywi\u015bcie, wszystko dzielimy na oddzielne funkcje (migacz, d\u017awi\u0119k, skr\u0119t, ruch do przodu itd.). Je\u015bli si\u0119 tego nie zrobi, p\u00f3\u017aniej nie b\u0119dzie wiadomo, co sk\u0105d i dok\u0105d. <\/p>\n<h2>Niuanse pedagogiki<\/h2>\n<p>\nWszystko, co opisa\u0142em powy\u017cej, robi\u0142em w wolnym czasie wieczorami. W niespiesznym trybie sp\u0119dzi\u0142em na robocie oko\u0142o trzech tygodni. Mo\u017cna by na tym zako\u0144czy\u0107, ale obieca\u0142em wam r\u00f3wnie\u017c opowiedzie\u0107 o pracy z dzieckiem. Co mo\u017cna zrobi\u0107 w tym wieku?<\/p>\n<p><b>Praca wed\u0142ug instrukcji<\/b><\/p>\n<p>Ka\u017cd\u0105 cz\u0119\u015b\u0107 najpierw sprawdzali\u015bmy osobno \u2014 diody LED, brz\u0119czyk, silniki, czujniki itd. Jest wiele gotowych przyk\u0142ad\u00f3w \u2014 niekt\u00f3re bezpo\u015brednio w \u015brodowisku programistycznym, inne mo\u017cna znale\u017a\u0107 w Internecie. To niew\u0105tpliwie cieszy. Bierzemy kod, pod\u0142\u0105czamy element, upewniamy si\u0119, \u017ce dzia\u0142a, a nast\u0119pnie zaczynamy go modyfikowa\u0107 pod nasze zadania. Pod\u0142\u0105czenia wed\u0142ug schematu i pod moim pewnym nadzorem dziecko wykonuje samodzielnie. To dobre. Umiej\u0119tno\u015b\u0107 pracy precyzyjnie wed\u0142ug instrukcji te\u017c jest potrzebna.<\/p>\n<p><b>Kolejno\u015b\u0107 pracy (\"od szczeg\u00f3\u0142u do og\u00f3\u0142u\")<\/b><\/p>\n<p>\u0412\u043e\u0442 \u044d\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0439 \u043f\u0443\u043d\u043a\u0442. \u041d\u0443\u0436\u043d\u043e \u043f\u0440\u0438\u0443\u0447\u0430\u0442\u044c, \u0447\u0442\u043e \u0431\u043e\u043b\u044c\u0448\u043e\u0439 \u043f\u0440\u043e\u0435\u043a\u0442 (\u00ab\u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0440\u043e\u0431\u043e\u0442\u0430\u00bb) \u0441\u043e\u0441\u0442\u043e\u0438\u0442 \u0438\u0437 \u043c\u0435\u043b\u043a\u0438\u0445 \u0437\u0430\u0434\u0430\u0447 (\u00ab\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0434\u0430\u0442\u0447\u0438\u043a\u00bb, \u00ab\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043c\u043e\u0442\u043e\u0440\u044b\u00bb&#8230;), \u0430 \u0442\u0435, \u0432 \u0441\u0432\u043e\u044e \u043e\u0447\u0435\u0440\u0435\u0434\u044c, \u0438\u0437 \u0435\u0449\u0435 \u0431\u043e\u043b\u0435\u0435 \u043c\u0435\u043b\u043a\u0438\u0445 \u0448\u0430\u0433\u043e\u0432 (\u00ab\u043d\u0430\u0439\u0442\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0443\u00bb, \u00ab\u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u043f\u043b\u0430\u0442\u0443\u00bb, \u00ab\u0437\u0430\u0433\u0440\u0443\u0437\u0438\u0442\u044c \u043f\u0440\u043e\u0448\u0438\u0432\u043a\u0443\u00bb&#8230;). \u0412\u044b\u043f\u043e\u043b\u043d\u044f\u044f \u0431\u043e\u043b\u0435\u0435-\u043c\u0435\u043d\u0435\u0435 \u043f\u043e\u043d\u044f\u0442\u043d\u044b\u0435 \u0437\u0430\u0434\u0430\u0447\u0438 \u043d\u0438\u0436\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u043c\u044b \u00ab\u0437\u0430\u043a\u0440\u044b\u0432\u0430\u0435\u043c\u00bb \u0437\u0430\u0434\u0430\u0447\u0438 \u0441\u0440\u0435\u0434\u043d\u0435\u0433\u043e \u0443\u0440\u043e\u0432\u043d\u044f, \u0430 \u0438\u0437 \u043d\u0438\u0445 \u0443\u0436\u0435 \u0441\u043a\u043b\u0430\u0434\u044b\u0432\u0430\u0435\u0442\u0441\u044f \u043e\u0431\u0449\u0438\u0439 \u0440\u0435\u0437\u0443\u043b\u044c\u0442\u0430\u0442. \u041e\u0431\u044a\u044f\u0441\u043d\u044f\u043b, \u043d\u043e, \u0434\u0443\u043c\u0430\u044e, \u043e\u0441\u043e\u0437\u043d\u0430\u043d\u0438\u0435 \u043f\u0440\u0438\u0434\u0435\u0442 \u0435\u0449\u0435 \u043d\u0435 \u0441\u043a\u043e\u0440\u043e. \u0413\u0434\u0435-\u0442\u043e, \u043d\u0430\u0432\u0435\u0440\u043d\u043e\u0435, \u043a \u043f\u043e\u0434\u0440\u043e\u0441\u0442\u043a\u043e\u0432\u043e\u043c\u0443 \u0432\u043e\u0437\u0440\u0430\u0441\u0442\u0443.<\/p>\n<p><b>Monta\u017c<\/b><\/p>\n<p>Wiercenie, gwintowanie, \u015bruby, nakr\u0119tki, lutowanie i zapach kalafonii - gdzie\u017c by bez tego. Dziecko zdoby\u0142o podstawow\u0105 umiej\u0119tno\u015b\u0107 \u201ePraca z lutownic\u0105\u201d - uda\u0142o si\u0119 po\u0142\u0105czy\u0107 kilka element\u00f3w (troch\u0119 mu w tym pomog\u0142em, nie skrywam). Nie zapomnijcie o om\u00f3wieniu zasad bezpiecze\u0144stwa.<\/p>\n<p><b>Praca przy komputerze<\/b><\/p>\n<p>Program do robota pisa\u0142em ja, ale uda\u0142o si\u0119 osi\u0105gn\u0105\u0107 kilka dodatkowych wynik\u00f3w.<\/p>\n<p>Pierwsze: angielski. W szkole dopiero zacz\u0119li go uczy\u0107, wi\u0119c ledwo radzili\u015bmy sobie z tym, co to jest pishalka, migalka, yarkost i inne translitowe s\u0142owa. Zrozumieli\u015bmy przynajmniej to. \u015awiadomie nie u\u017cywa\u0142em rodzimych angielskich s\u0142\u00f3w, poniewa\u017c do tego poziomu jeszcze nie doszli\u015bmy.<\/p>\n<p>Drugie: efektywna praca. Uczyli\u015bmy gor\u0105cych skr\u00f3t\u00f3w klawiszowych, jak szybko wykonywa\u0107 typowe operacje. Co jaki\u015b czas, kiedy pisali\u015bmy program, zamieniali\u015bmy si\u0119 miejscami z synem, a ja m\u00f3wi\u0142em, co trzeba zrobi\u0107 (zmiana, wyszukiwanie itp.). Musia\u0142em powtarza\u0107 w k\u00f3\u0142ko: \u201ezaznacz podw\u00f3jnym klikni\u0119ciem\u201d, \u201enaci\u015bnij Shift\u201d, \u201enaci\u015bnij Ctrl\u201d i tak dalej. Proces nauki nie jest szybki, ale my\u015bl\u0119, \u017ce umiej\u0119tno\u015bci b\u0119d\u0105 stopniowo odk\u0142ada\u0107 si\u0119 \u201ew pod\u015bwiadomo\u015bci\u201d.<\/p>\n<p><b class=\"spoiler_title\">Ukryty tekst<\/b>Mo\u017cesz powiedzie\u0107, \u017ce to, co opisano powy\u017cej, jest oczywiste. Ale, szczerze m\u00f3wi\u0105c, tej jesieni mia\u0142em okazj\u0119 prowadzi\u0107 zaj\u0119cia z informatyki w klasach 9 w jednej szkole. To straszne. Uczniowie nie znaj\u0105 tak podstawowych rzeczy, jak Ctrl + Z, Ctrl + C i Ctrl + V, zaznaczania tekstu z wci\u015bni\u0119tym Shift czy podw\u00f3jnym klikni\u0119ciem na s\u0142owie itd. A to pomimo, \u017ce to ju\u017c trzeci rok nauki informatyki\u2026 Wnioski wyci\u0105gnijcie sami. <\/p>\n<p>Trzecie: \u015blepe pisanie. Komentarze w kodzie powierzy\u0142em dziecku (niech \u0107wiczy). Od razu u\u0142o\u017cyli\u015bmy r\u0119ce w odpowiedniej pozycji, aby palce stopniowo zapami\u0119ta\u0142y uk\u0142ad klawiszy.<\/p>\n<p>Jak wida\u0107, dopiero zaczynamy. Umiej\u0119tno\u015bci i wiedza b\u0119d\u0105 dalej doskonalone, na pewno si\u0119 przydadz\u0105 w \u017cyciu.<\/p>\n<p>Przy okazji, co do perspektyw...<\/p>\n<h2>Dalszy rozw\u00f3j<\/h2>\n<p>\nRobot jest gotowy, je\u017adzi, miga i piszczy. Co teraz? Zainspirowani osi\u0105gni\u0119ciami planujemy dalszy rozw\u00f3j. Mamy pomys\u0142 na zdalne sterowanie \u2014 co\u015b w stylu \u0142azika. By\u0142oby ciekawe, siedz\u0105c przy wirtualnym pilocie, kontrolowa\u0107 ruch robota, kt\u00f3ry porusza si\u0119 w zupe\u0142nie innym miejscu. Ale to ju\u017c inna historia\u2026<\/p>\n<p>I na koniec, bohaterowie tego artyku\u0142u (filmik po klikni\u0119ciu):<\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=faFykvct8r8\"><img decoding=\"async\" alt=\"Do\u015bwiadczenie w budowie pierwszego robota na Arduino (robot-\u00abmy\u015bliwy\u00bb)\" src=\"\/wp-content\/uploads\/2019\/10\/087b0780a42eeee48c345f30fff54827.jpeg\" style=\"display:block;margin: 0 auto;\" \/><\/a><\/noindex><\/p>\n<p>Dzi\u0119kuj\u0119 za uwag\u0119!<\/p>\n<p>\u2192 <noindex><a rel=\"nofollow\" href=\"https:\/\/vk.com\/doc35098661_487769877\">Link do kodu<\/a><\/noindex><br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/post\/436118\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0430\u0440\u0434\u0443\u0438\u043d\u043e. \u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043b\u0435\u0437\u0435\u043d \u0434\u0440\u0443\u0433\u0438\u043c \u0442\u0430\u043a\u0438\u043c \u0436\u0435 \u043d\u043e\u0432\u0438\u0447\u043a\u0430\u043c, \u043a\u0430\u043a \u0438 \u044f, \u043a\u043e\u0442\u043e\u0440\u044b\u0435 \u0437\u0430\u0445\u043e\u0442\u044f\u0442 \u0438\u0437\u0433\u043e\u0442\u043e\u0432\u0438\u0442\u044c \u043a\u0430\u043a\u0443\u044e-\u043d\u0438\u0431\u0443\u0434\u044c \u00ab\u0441\u0430\u043c\u043e\u0431\u0435\u0433\u043b\u0443\u044e \u0442\u0435\u043b\u0435\u0436\u043a\u0443\u00bb. \u0421\u0442\u0430\u0442\u044c\u044f \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 \u043e\u043f\u0438\u0441\u0430\u043d\u0438\u0435 \u044d\u0442\u0430\u043f\u043e\u0432 \u0440\u0430\u0431\u043e\u0442\u044b \u0441 \u043c\u043e\u0438\u043c\u0438 \u0434\u043e\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f\u043c\u0438 \u043f\u043e \u0440\u0430\u0437\u043b\u0438\u0447\u043d\u044b\u043c \u043d\u044e\u0430\u043d\u0441\u0430\u043c. \u0421\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u0438\u0442\u043e\u0433\u043e\u0432\u044b\u0439 \u043a\u043e\u0434 (\u0441\u043a\u043e\u0440\u0435\u0435 \u0432\u0441\u0435\u0433\u043e, \u043d\u0435 \u0441\u0430\u043c\u044b\u0439 \u0438\u0434\u0435\u0430\u043b\u044c\u043d\u044b\u0439) \u0434\u0430\u043d\u0430 \u0432 \u043a\u043e\u043d\u0446\u0435 \u0441\u0442\u0430\u0442\u044c\u0438. [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":39337,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[702],"tags":[],"class_list":["post-39336","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-news"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0430\u0440\u0434\u0443\u0438\u043d\u043e.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u041e\u043f\u044b\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0410\u0440\u0434\u0443\u0438\u043d\u043e (\u0440\u043e\u0431\u043e\u0442-\u00ab\u043e\u0445\u043e\u0442\u043d\u0438\u043a\u00bb) | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0430\u0440\u0434\u0443\u0438\u043d\u043e.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:30:33+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:30:33+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Do\u015bwiadczenie w tworzeniu pierwszego robota na Arduino (robot-\u00ab\u0142owca\u00bb) | ProHoster","description":"Witam. W tym artykule chcia\u0142bym opisa\u0107 proces budowy mojego pierwszego robota na Arduino.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u041e\u043f\u044b\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u044f \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0410\u0440\u0434\u0443\u0438\u043d\u043e (\u0440\u043e\u0431\u043e\u0442-\u00ab\u043e\u0445\u043e\u0442\u043d\u0438\u043a\u00bb) | ProHoster","og:description":"\u0417\u0434\u0440\u0430\u0432\u0441\u0442\u0432\u0443\u0439\u0442\u0435. \u0412 \u0434\u0430\u043d\u043d\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0445\u043e\u0447\u0443 \u043e\u043f\u0438\u0441\u0430\u0442\u044c \u043f\u0440\u043e\u0446\u0435\u0441\u0441 \u0441\u0431\u043e\u0440\u043a\u0438 \u0441\u0432\u043e\u0435\u0433\u043e \u043f\u0435\u0440\u0432\u043e\u0433\u043e \u0440\u043e\u0431\u043e\u0442\u0430 \u043d\u0430 \u0430\u0440\u0434\u0443\u0438\u043d\u043e.","og:url":"https:\/\/prohoster.info\/pl\/blog\/news\/opyt-sozdaniya-pervogo-robota-na-arduino-robot-ohotnik","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:30:33+00:00","article:modified_time":"2019-10-31T19:30:33+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"39336","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-01-24 01:41:20","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 00:51:28","updated":"2026-01-24 01:41:20","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/39336","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=39336"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/39336\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/39337"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=39336"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=39336"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=39336"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}