Ta strona używa ciasteczek (plików cookies), dzięki którym może działać lepiej. Dowiedz się więcejRozumiem i akceptuję

Kurs budowy robotów – #2 – sterownik robota, czujniki

Roboty 16.12.2016 Damian (Treker)

kursbudowyrobota_2Podczas budowy robotów mobilnych lepiej unikać plątaniny przewodów i płytek stykowych. Drgania, które pojawiają się podczas jazdy mogą prowadzić do błędów w działaniu całej konstrukcji.

Właśnie dlatego zaczniemy od zapoznania się z shieldem Arduino, który został zaprojektowany specjalnie na potrzeby tego kursu!

Nawigacja serii artykułów:
« poprzednia częśćnastępna część »

» Pokaż/ukryj cały spis treści «

Kup zestaw elementów i zacznij naukę w praktyce! Przejdź do strony dystrybutora »

Nakładka pasująca do złącz Arduino (shield) została zaprojektowana i złożona przez polską firmę MSX, która zajmuje się między innymi produkcją uniwersalnych modułów. Dzięki współpracy z tak doświadczonym partnerem udało się przygotować płytkę idealną, która zawiera praktycznie wszystko, co może przydać się w prostych robotach mobilnych!

Kurs budowy robotów (tak, jak wszystkie inne) kierowany jest głównie do początkujących. Dlatego w tym odcinku skupimy się na dokładnym poznaniu całego shielda.

Zestaw elementów do budowy robota

Gwarancja pomocy na forum dla osób, które kupią poniższy zestaw!

Części pozwalające wykonać ćwiczenia z kursu budowy robotów dostępne są w formie gotowych zestawów! W komplecie znajdują się elementy mechaniczne (w tym koła i silniki), baterie oraz shield!


Kup w Botlandzie »

Zasilanie robota

Podczas budowy robotów należy pamiętać, że z jednego źródła zasilania musimy „ożywić” część elektroniczną (m.in. Arduino) oraz silniki. Niestety napędy potrafią wprowadzić bardzo dużo złego na liniach zasilania.

W przypadku tego robota musimy zasilać minimum dwa silniki z przekładniami. Każdy silnik podczas startu pobiera stosunkowo wysoki prąd (wyższy od tego, który pobierany jest podczas normalnej pracy napędu).

Takie nagłe zapotrzebowanie na dużą ilość prądu może doprowadzić
do spadku napięcia w całym układzie, a to już krok od resetowania się Arduino.

Aby uniknąć takich problemów konieczne jest odpowiednie zaprojektowanie części zasilającej. W naszym wypadku w jej skład wchodzi kilka elementów:

Złącze zasilania

Idąc od lewej strony, na płytce znajdziemy zielone złącze zasilania. To właśnie w to miejsce trzeba podłączyć baterię. W naszym przypadku będzie to 6 połączonych szeregowo baterii AA. takie połączenie da nam około 9V.

forbot_shield_robot_zasilanie_zlacze_zasilania

Dlaczego właśnie tak? Nie można było podłączyć 1 baterii 9V? Nie można. Baterie 9V mają bardzo małą pojemność i nie nadają się do zasilania „prądożernych układów”. W najlepszym przypadku nasz robot działałby na niej kilkanaście minut. W przypadku niektórych konfiguracji może się zdarzyć, że robot nie da rady nawet ruszyć, gdy będzie zasilany z małej baterii 9V. Baterie AA wytrzymają w takim robocie znacznie dłużej.

Baterie podłączone do tego gniazda zasilają shield (5V), Arduino (5V)
oraz bezpośrednio silniki (o tym więcej w dalszej części).

Podczas podłączania zasilania należy pamiętać o odpowiedniej polaryzacji. Symbole „+” oraz „-” można znaleźć na płytce. W razie pomyłki nie powinno się jednak nic stać, ponieważ shield ma wbudowane zabezpieczenie przed odwrotnym zasilaniem.

Na tym etapie nie podłączaj jeszcze zasilania – zrobimy to później!

Bezpiecznik

Kolejnym elementem czuwającym nad bezpieczeństwem elektroniki jest bezpiecznik polimerowy. Od innych bezpieczników odróżnia go możliwość wielokrotnego użycia. W momencie, gdy prąd płynący przez bezpiecznik osiągnie krytyczną wartość, bezpiecznik zaczyna się nagrzewać, aż następuje rozwarcie obwodu.

Po usunięciu usterki (wyłączeniu lub zredukowaniu płynącego prądu)
i ochłodzeniu bezpiecznika, może on dalej pełnić swoją funkcję.

forbot_shield_robot_zasilanie_bezpiecznik

Włącznik suwakowy

Zasilanie konstrukcji (Arduino, shield, napędy) można włączać i wyłączać za pomocą włącznika suwakowego, który znalazł się na pokładzie naszej nakładki. Oczywiście ma on wpływ na zasilanie doprowadzane z naszego shielda przez złącze zasilania.

forbot_shield_robot_zasilanie_wlacznik

Po podłączeniu kabla USB Arduino nadal może być zasilane z portu USB
i ustawienia przełącznika nie będą wpływały na jego działanie.

Osobne zasilanie dla serwomechanizmów

O możliwości sterowania napędami będzie jeszcze za chwilę. Już teraz widać jednak, że nasza płytka pozwala dodatkowo na podłączenie serwomechanizmu modelarskiego. Tak jak było to już mówione podczas kursu podstaw programowania Arduino #6, nie wolno zasilać z tego samego stabilizatora elementów elektronicznych oraz prądożernego serwa. W związku z tym wbudowaliśmy stabilizator, który poradzi sobie idealnie z zasilaniem małych serwomechanizmów.

forbot_shield_robot_zasilanie_osobne_zasilanie_serwomechanizmu

Filtrowanie zakłóceń – kondensatory

W celu eliminacji zakłóceń na płytce znajduje się kilka kondensatorów ceramicznych. Ważną rolę odgrywają tutaj również dwa duże kondensatory elektrolityczne – czyli te srebrne, małe puszki. Z wyglądu odbiegają od kondensatorów elektrolitycznych znanych nam z kursu podstaw elektroniki, jednak nie ma się czego obawiać. Po prostu kondensatory, które przeznaczone są do montażu powierzchniowego (bez długich nóżek) są produkowane właśnie w takich obudowach.

forbot_shield_robot_zasilanie_filtrowanie_zaklocen

Zworka odcinająca dopływ zasilania do napędów

Ta niepozorna zworka to jeden z moich ulubionych „gadżetów” umieszczonych na płytce. Podczas konstruowanie robotów często konieczna jest zmiana oprogramowania. Mało kto ma czas, aby za każdym razem wyciągać Arduino. Najwygodniej postawić robota obok komputera, wpiąć kabel USB i wgrać nowy algorytm.

Łatwo jednak wtedy zapomnieć, że nasz pojazd po wgraniu programu
może popełnić próbę samobójczą i zjechać z biurka…

Często wygodnie jest również przetestować pewne fragmenty programu (np. działanie czujników), gdy robot stoi w miejscu. Każdorazowe odłączanie silników nie jest zbyt wygodne – stąd pomysł na jeszcze prostsze rozwiązanie.

Zmieniając położenie zworki można natychmiast odciąć zasilanie od wszystkich
napędów. W tym przypadku będą to silniki z przekładniami oraz serwo.

Zworki to małe elementy, które (jak nazwa wskazuje) zwierają sygnał, czyli łączą dwa piny złącza. Przykład takich elementów widoczny jest na zdjęciu (często mają różne kształty i kolory).

Przykłady zworek.

Dioda sygnalizacyjna

Nie zabrakło również diody, która sygnalizuje poprawne zasilanie i uruchomienie modułu.

forbot_shield_robot_zasilanie_sygnalizacja_wlaczenia

Sterowanie napędami

Żaden robot nie będzie mógł się poruszać bez odpowiednich napędów. W naszym przypadku są to dwa silniki DC z przekładniami. Oczywiście elementami takimi nie można sterować bezpośrednio z Arduino (szczegóły w kursie Arduino – poziom I). Niezbędny jest mostek-h, tym razem będziemy korzystać z małego DRV8835, który pozwala na wysterowanie dwóch silników.

Układ ten może sterować silnikami wymagającymi do 11V (stąd ograniczenia napięcia dla całego shielda). Każdy z silników może pobierać do 1,2 A.

forbot_shield_robot_silniki_mostek_h_drv8835_zlacza

Drugim ważnym elementem jest 3-pinowe złącze, które służy do podłączenia serwomechanizmu. Podczas tego kursu nie będziemy go wykorzystywać, ale jeśli ktoś ma taki napęd po I poziomie kursu programowania Arduino, to będzie mógł podłączyć go właśnie tutaj.

forbot_shield_robot_silniki_serwomechanizm

Tak samo, jak przy zasilaniu części elektronicznej, tutaj również znajdziemy osobną diodę, która będzie sygnalizowała dopływ zasilania do napędów.

forbot_shield_robot_silniki_sygnalizacja_zasilania_napedow

Dioda ta świeci się tylko, gdy zworka
zasilania napędów znajduje się w pozycji ON.

Dodatkowe funkcje shieldu

Oprócz naprawdę podstawowych dla robotów funkcji nasz shield wyposażony jest w całą gamę ciekawych dodatków.

Złącza dedykowane do czujników

Blisko lewej i prawej krawędzi płytki znajdują się 3-pinowe złącza. Każde z nich, to wyprowadzenie zasilania (Vcc, masa) oraz jednego wejścia analogowego. Za każdym razem będziemy podłączać tam czujniki (linii, światła, przeszkód itd).

forbot_shield_robot_logika_zlacza_czujnikow_lewe_prawe

Odbiornik podczerwieni

W jednym z narożników płytki umieszczony został odbiornik podczerwieni TSOP. Za jego pomocą możliwe będzie zdalne sterowanie robota. W tym celu wykorzystamy dołączony do zestawu pilot IR, który generuje kody w standardzie RC5.

forbot_shield_robot_logika_odbiornik_ir_poczerwieni

Ekspander portów

Zdarza się, że ilość wejść/wyjść dostępnych w Arduino nas ogranicza. Wtedy bardzo wygodnym rozwiązaniem okazuje się ekspander portów. Czyli układ, który komunikuje się z Arduino wyłącznie za pomocą 2 pinów, a w zamian oferuje nam dodatkowe 8 cyfrowych wejść/wyjść!

forbot_shield_robot_logika_ekspander_portow

Przycisk, dioda, buzzer

W celu łatwiejszego testowania, na shieldzie znalazło się jeszcze kilka użytecznych drobiazgów. Po pierwsze pojawiła się dioda podłączona do pinu 13. Dzięki temu nie trzeba zerkać pod shield, aby sprawdzić diodę, która jest domyślnie łączona z tym wyprowadzeniem już na płytce Arduino.

forbot_shield_robot_logika_buzzer_dioda_przycisk

Dioda świecąca jest wygodna podczas testowania układów „statycznych”. Jednak, gdy zajmujemy się jeżdżącymi robotami, to ciężko biegać za naszym pojazdem i obserwować świecenie małego punktu. Dlatego dodatkowo na płytce znalazło się również miejsce dla buzzera z generatorem.

Podczas testowania nowego programu w robocie
zdecydowanie łatwiej wychwytywać dźwięk.

Na płytce znalazł się również przycisk podłączony do Arduino z wykorzystaniem filtra RC. Dzięki temu nie trzeba przejmować się drganiami styków!

UART

Dla większej wygody wyprowadzono również osobne złącza z sygnałami od UARTa. Mogą one w przyszłości posłużyć do podłączenia dodatkowych modułów m.in. komunikacji bezprzewodowej przez WiFi lub Bluetooth. Na ten moment jednak nie będziemy z nich korzystać – można je więc traktować jak zwykłe piny I/O.

forbot_shield_robot_logika_uart

Pozostałe porty I/O, wejścia analogowe

Wszystkie wolne porty Arduino (w tym wejścia analogowe) zostały wyprowadzone na złącza, więc bez problemu można jeszcze dalej rozbudowywać naszego robota o kolejne podzespoły.

forbot_shield_robot_logika_pozostale_io

Czujniki uniwersalne

Budując roboty mobilne można podłączać do nich naprawdę wiele różnych czujników. Kurs budowy robotów z założenia ma być uniwersalny, więc nie chcieliśmy stosować tutaj wyszukanych i drogich czujników. Postawiliśmy na proste rozwiążania. W związku z tym w zestawie znalazły się dwa typy sensorów (po 2 szt. każdego z nich, łącznie 4).

Czujniki mechaniczne

Najprostsze, skuteczne i często stosowane czujniki przeszkód to najzwyklejsze przełączniki. Po uderzeniu robota w przeszkodę następuje zwarcie sygnału wewnątrz czujnika. W naszym robocie korzystamy z krańcówek, które mają wyjątkowo długie blaszki.

Podstawowe, mechaniczne czujniki przeszkód.

Podstawowe, mechaniczne czujniki.

Oczywiście czasami nawet takie wyprowadzenia mogą okazać się za małe. Dlatego wykorzystamy popularny sposób na ich przedłużenie. Kawałki opasek zaciskowych oraz rurki termokurczliwe sprawdzą się tutaj idealnie!

Przedłużone i zamontowane w robocie czujniki (zrobimy to w kolejnej części kursu).

Przedłużone i zamontowane w robocie czujniki (zrobimy to w kolejnej części kursu).

Czujniki optyczne

Drugi typ czujników, to połączenie fotorezystora i niebieskiej diody świecącej. Czujniki te pozwolą nam na zbudowanie Światłoluba, czyli robota poruszającego się w kierunku najsilniejszego źródła światła. Po ich obróceniu, założeniu zworki i odpowiednim ustawieniu, całość posłuży do budowy robota, który jeździ po torze wyklejonym z czarnej taśmy izolacyjnej (LineFollower).

Uniwersalne czujniki optyczne.

Uniwersalne czujniki optyczne.

Dokładne informacje na temat czujników, ich podłączenia
i wykorzystywania będą pojawiać się w odpowiednich momentach tego kursu.

Pierwszy test shieldu

Na tym etapie możliwe jest już przetestowanie najprostszych funkcji modułu. Zacznijmy od kodu, który po wciśnięciu przycisku umieszczonego na płytce wyda dźwięk (buzzerem) i zamiga diodą.

Zacznijmy od podłączenia zasilania. W tym celu wyciągamy pustą wtyczkę włożoną w gniazdo i odkręcamy śrubokrętem mocowanie.

Wyciągamy wtyczkę z gniazda zasilania.

Wyciągamy wtyczkę z gniazda zasilania.

Następnie wkładamy do środka przewód i skręcamy całość. Ważne jest, aby przewód umieścić w górnej części złącza, zgodnie z ilustracją:

 

Poprawne umiejscowienie przewodu w złączu.

Poprawne umiejscowienie przewodu w złączu.

Uwaga! Do środka złącza należy włożyć jedynie odizolowaną część przewodu! 

Do środka złącza wkładamy jedynie odizolowaną część przewodu.

Należy pamiętać o odpowiedniej polaryzacji złącza. Plus (czerwony
przewód) po lewej stronie, a masa (czarny przewód) po prawej stronie.

Odpowiednie podłączenie przewodów z koszyka.

Podłączenie przewodów z koszyka.

Do tak przygotowanego koszyka wkładamy 6 baterii, a następnie całość łączymy z shieldem. Jeśli wszystko zostało zrobione poprawnie, to zmieniając pozycję przełącznika powinniśmy włączać lub wyłączać cały układ (położenie zworki zasilania napędów nie ma w tej chwili znaczenia).

Włączone zasilanie Arduino i shielda.

Włączone zasilanie Arduino i shielda.

Następnie można już wgrać prosty program. Sam proces wgrywania przebiega identycznie, jak w kursie podstaw Arduino dlatego nie będę go tutaj opisywał. Mam nadzieję, że program również nie wymaga szerszego opisu. W razie kłopotów polecam lekturę kursu podstaw programowania.

Działanie programu w praktyce widoczne jest na poniższym, krótkim wideo:

Podsumowanie

Po dokładnym zapoznaniu się z elektroniką, którą dysponujemy można teraz spokojnie przejść do złożenia części mechanicznej. Właśnie tym zajmiemy się w kolejnej części, będzie to już ostatni krok przed uruchomieniem robota!

» Pokaż/ukryj cały spis treści «

Kup zestaw elementów i zacznij naukę w praktyce! Przejdź do strony dystrybutora »

Autor kursu: Damian (Treker) Szymański
Grafiki, ilustracje: Piotr Adamczyk

Powiadomienia o nowych, darmowych artykułach!

Komentarze

Treker
Autor wpisu
Administrator

10:23, 21.12.2016

#1

Uwaga! Ważna informacja dla osób, które kupiły zestawy do kursu budowy robotów przed 20 grudnia! Niestety w części zestawów zabrakło ulotek z kodami, które pozwalają na rejestrację zakupionych kompletów. Przepraszam za ten błąd i proszę wszystkie takie osoby o wypełnienie formularza dostępnego na dole tej strony: http://forbot.pl/blog/ogloszenia/wazne-ruszyla-rejestracja-wszystkich-zestawow-forbota-id18694

Kody zostaną wygenerowane na nowo i przesłane drogą elektroniczną :)

#R2D2#

23:27, 25.12.2016

#2

Świetny kawałek sprzętu.

Jak nazywają się te zielone złącza?

Czy sterownik się nie przegrzewa przy długim działaniu silników? Raczej jest za mały żeby jakoś sensownie odprowadzać ciepło. I jak jest ze ścieżkami na PCB? Są zapewne bardzo cienkie, a przepływa przez nie stosunkowo duży prąd. Nic się z nimi nie stanie? Przepraszam, że zadaję takie być może amatorskie pytania, ale jeszcze wiele nauki przede mną w świecie elektroniki. :-)

deshipu

19:32, 26.12.2016

#3

To zielone to "zacisk śrubowy" (screw terminal), albo po prostu "zacisk elektryczny", popularny wśród elektryków domowych.

Kontroler nie musi być duży żeby dobrze odprowadzać ciepło -- sam kwarc w środku jest przecież maciupeńki. Jeśli jest poprawnie wlutowany w płytkę, gdzie przekazuje całe ciepło do wylewu, to powinien sobie doskonale radzić. Miedź ma zadziwiająco dobrą przewodność zarówno termiczną jak i elketryczną -- dlatego ścieżki też raczej powinny dać radę z tymi kilkoma amperami, chyba, że są naprawdę cienkie (ale nie sądzę, żeby popełniono tu tatki podstawowy błąd).

Elvis

20:19, 26.12.2016

#4

#R2D2#, o samym sterowniku znajdziesz wszystko w jego dokumentacji: https://www.pololu.com/file/0J570/drv8835.pdf Maksymalny prąd, który można dostarczyć do silników to 1.5A, nie jest to więc układ dla silnika dużej mocy, ale do małego robota jak najbardziej wystarczy.

Dla takiego prądu ścieżka o szerokości 0.5mm powinna wystarczyć, tak przynajmniej piszą tutaj: http://www.elportal.pl/pdf/2003/edw_2003_09_s20.pdf

Laminat pewnie ma standardowe miedziowanie 35um, więc nie powinno być nispodzianek.

Złącza są ogólnie dostępne, to chyba ten typ chociaż głowy nie dam: http://www.tme.eu/en/details/15edgk-3.5_2p/terminal-blocks-pcb-mount/degson-electronics/15edgk-35-02p-14-00ah/

Treker
Autor wpisu
Administrator

21:53, 27.12.2016

#5

#R2D2#, już mnie koledzy ubiegli z odpowiedziami :) Jednak dla pewności dodam, że faktycznie sterownik silników jest mały, ale świetnie sobie radzi w takich zastosowaniach. Może nie jest najpopularniejszy, bo trudno polutować go w warunkach domowych, ale podczas montażu automatycznego nie sprawiało to problemów. Jeśli chodzi o złącza, to nie znam konkretnych symboli, bo to już specjalność MSX'a. Prawdopodobnie Elvis trafił dobrze :) Jak widać są one dość drogie, ale naprawdę baaaardzo wygodne. W każdym razie zdecydowanie lepsze od standardowych złączy typu ARK.

merek2

14:43, 05.01.2017

#6

Przedwczoraj dostałem zestaw, wczoraj złożyłem (na marginesie: brakowało jednego dystansu 10mm)

Oczywiście odpaliłem kod powyżej i nie mogę zrozumieć jak podłączony jest przełącznik,że jeśli trzyma cały czas wciśnięty to dioda i brzęczyk działają tylko przez chwilę. Przerobiłem program na przerwanie i wywoływał przerwanie zarówno przy naciśnięciu lub zwolnieniu przycisku (w zależności od parametru

FALLING/RISING). Przy CHANGE zachowanie było dziwne.

Treker
Autor wpisu
Administrator

22:07, 05.01.2017

#7

merek2, przycisk podłączony jest przez filtr RC, dzięki temu nie trzeba zajmować się filtrowaniem

drgań styków z poziomu programu. Wszystko filtruje za nas warstwa sprzętowa :)

Lukaszm

23:59, 05.01.2017

#8

Cytat:

Wszystko filtruje za nas warstwa sprzętowa

Nie jeśli chce się wykorzystać przerwania, wg drugiego testu merek2.

Treker
Autor wpisu
Administrator

23:58, 06.01.2017

#9

Lukaszm, ciężko mi oceniać, co było testowane bez znajomości kodu oraz tego, jakie były efekty. Filtr RC to wygodna sprawa i mi podczas testów nie sprawiał problemów. W takim robocie najczęściej przycisk wykorzystuje się do startu/stopu i w takim zastosowaniu całość sprawdza się doskonale. Oczywiście jeśli komuś filtr RC przeszkadza, to można go bez problemu odlutować :) Przy okazji zachęcam do lektury kolejnej części kursu: Kurs budowy robotów – #4 – pierwsze programowanie

merek2

10:51, 09.01.2017

#10

Chyba zostałe źle zrozumiany.

Chodziło mi o taki kod (z opisu shielda II cześć Kursu budowy robotów)

define LED 13

#define BUZZER 10

#define PRZYCISK 2

void setup() {

//Konfiguracja wyjsc

pinMode(LED, OUTPUT);

pinMode(BUZZER, OUTPUT);

//Konfiguracja wyjscia

pinMode(PRZYCISK, INPUT_PULLUP);

//Wylaczenie diody i buzzera

digitalWrite(LED, LOW);

digitalWrite(BUZZER, LOW);

//Testowe migniecia LED

digitalWrite(LED, HIGH);

delay(500);

digitalWrite(LED, LOW);

delay(500);

}

void loop() {

if (digitalRead(PRZYCISK) == LOW) { //Jesli przycisk jest wcisniety...

digitalWrite(LED, HIGH);

digitalWrite(BUZZER, HIGH);

delay(500);

} else { //Jesli przycisk nie jest wcisniety...

digitalWrite(LED, LOW);

digitalWrite(BUZZER, LOW);

}

}

Jeśli przycisk jest cały czas wciśnięty to dioda zamruga tylko raz i buzer nie brzęczy ciągle.

Czyli digitalRead(PRZYCISK) != LOW), dlaczego? Normalnie filtr RC (kondensator + rezystor) jest podłączany równolegle do switcha. Tu jest inaczej? Czy można prosić o podanie schematu shielda?

Treker
Autor wpisu
Administrator

13:23, 09.01.2017

#11

merek2, rozumiem i już wyjaśniam.

Akurat tutaj zastosowany został filtr RC w trochę innej konfiguracji i po wciśnięciu przycisku wejście Arduino zwierane jest do masy tylko na chwilę. Podczas testów i prototypów takie rozwiązanie wydało nam się wystarczające. Z założenia robot ma się poruszać, więc nie braliśmy pod uwagę przypadku, gdy ktoś chciałby trzymać cały czas wciśnięty przycisk. Aktualny mechanizm pełni też rolę zabezpieczenia w sytuacji, gdyby ktoś w programie popełnił błąd i na pinie, do którego podłączony jest przycisk wystawił stan wysoki. Przy normalnym podłączeniu wciśnięcie/przytrzymanie przycisku doprowadziłoby do zwarcia układu (Vcc z Arduino i GND z przycisku), w obecnej konfiguracji czas takiego zwarcia jest wtedy zminimalizowany do minimum.

Jeśli takie działanie przycisku jest problematyczne, to prawdopodobnie od kolejnej partii shieldów będziemy montować filtr w tradycyjnej konfiguracji (kwestia zamienia 2 elementów). Jeśli zależy Ci na "normalnym" działaniu przycisku, to odezwij się do mnie na PW zorganizuję wymianę shieldu na taki z przelutowanym filtrem RC.

merek2

14:29, 09.01.2017

#12

Dzięki teraz rozumiem. Takie rozwiązanie mi nie przeszkadza. Chciałem tylko rozwiać swoje wątpliwości a bez schematu trudno ocenić jakie są połączenia. Teraz tylko ten komentarz trochę przekłamuje : if (digitalRead(PRZYCISK) == LOW) { //Jesli przycisk jest wcisniety... ;-)

Zobacz powyższe komentarze na forum

FORBOT Damian Szymański © 2006 - 2017 Zakaz kopiowania treści oraz grafik bez zgody autora. vPRsLH.

Robotyka przemysłowa – podsumowanie tygodnia

"Więcej niż 200 tysięcy robotów przemysłowych zostanie zainstalowanych w 2014...

Zamknij