Kurs Arduino #2 podstawy programowania, porty I/O. 2 //Zawartość programu. 1 int main() { void setup() { //Instrukcje, które wykonają się jeden raz
|
|
- Franciszek Wojciechowski
- 5 lat temu
- Przeglądów:
Transkrypt
1 Kurs # podstawy programowania, porty I/O W drugiej części kursu zaczniemy pisać programy. Na początku zajmiemy się kompletnymi podstawami. operuje na dostosowanym do platformy języku C. Artykuł ten wprowadzi więc w podstawy programowania w C i przedstawi jego praktyczne wykorzystanie na przykładzie portów I/O. 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» Podstawowy szkielet programu Każdy program komputerowy jest zbiorem rozkazów. Dedykowany układ zwany licznikiem rozkazów wywołuje kolejne rozkazy jeden po drugim. W języku C wszystkie instrukcje, które chcemy wykonać, umieszczamy w funkcji main (o funkcjach dokładniej później), która wygląda tak: int main() //Zawartość programu Uwaga! Musisz to zapamiętać! Symbolami // oznaczamy komentarze. Czyli informacje mieszczące się w jednej linijce, które pomagają człowiekowi w zrozumieniu programu. Podczas kompilacji zostają one pominięte. Jeśli chcemy umieścić dłuższy komentarz, to należy zawrzeć go /* w takich symbolach */. Komentowanie jest bardzo ważne! Pamiętajcie, aby komentować kod nawet, gdy programy piszecie tylko na własny użytek. W pewne sprawy są uproszczone. Otóż w każdym programie najpierw niektóre instrukcje wykonują się jednorazowo, a następnie inne, wykonują się w pętli. //Instrukcje, które wykonają się jeden raz //Instrukcje, które będą wykonywały się w koło (w pętli) W praktyce pierwsza funkcja będzie zawierała najczęściej pewne ustawienia. Dzięki nim dane piny mikrokontrolera będą ustawione jako wejścia lub wyjścia. Uruchomimy bardziej zaawansowane peryferia oraz wykonamy akcje, które mają dziać się tylko raz, po włączeniu zasilania. W drugiej funkcji umieścimy właściwy kod aplikacji, który będzie wykonywał się cały czas (w pętli). Dużo łatwiej zrozumiesz to na praktycznych przykładach, które znajdują się dalej. Funkcje co oznaczają te zapisy? Funkcje można pisać samodzielnie, może również korzystać z gotowych, dostarczanych przez producentów lub przez maniaków programowania, którzy zechcieli podzielić się własnym kodem. Na początku kursu skupimy się na wykorzystywaniu funkcji dostarczanych w bibliotekach razem z kompilatorem. Nie zaszkodzi jednak odrobina szczegółów na ich temat. W języku C istnieje pojęcie funkcji. Skojarzenie z matematyką jest tutaj trafne. Otóż okazuje się, że funkcja w językach programowania to blok (lista) pewnych wyodrębnionych rozkazów z głównego kodu, których wykonanie zapewnia jakiś wynik. Dla nas jest to wygodne, ponieważ raz zadeklarowaną funkcję możemy wywoływać dowolną ilość razy bez żmudnego powielania tych samych linii kodu wystarczy nazwa funkcji. Każda funkcja może przyjmować pewną ilość argumentów oraz (standardowo) zwracać jeden wynik. Programista może określać, jakimi wartościami będą wynik oraz dane wejściowe. Każda funkcja ma swój typ (czyli rodzaj wynik) może być liczbą, znakiem lub czymś jeszcze innym. Istnieje też specyficzny rodzaj funkcji nie zwracającą wyniku (ma ona przedrostek void).
2 Skupmy się na głównych funkcjach w programach pisanych na. Procedura setup ma za zadanie wykonać jednorazowo blok instrukcji, które się w niej znajdują. Jak wskazuje nazwa przeznaczona jest głównie do ustawień. W niej inicjalizowany jest procesor, konfigurowane są peryferia itd. Funkcja (procedura) loop jest pętlą nieskończoną. Znajdują się w niej instrukcje, które powinny wykonywać się bez przerwy. Przejdźmy do przykładów praktycznych. Pamiętaj, że podstawą w zrozumieniu programowania jest praktyka. Nie będziesz umiał wykorzystać zdobytej tu wiedzy, jeśli nie wykonasz ćwiczeń z kursu. Zestaw elementów do przeprowadzenia ćwiczeń Gwarancja pomocy na forum dla osób, które kupią poniższy zestaw! Teraz możesz kupić zestaw ponad 0 elementów niezbędnych do przeprowadzenia ćwiczeń z kursu u naszych dystrybutorów! Uwaga nowość! Masz już zestaw? Zarejestruj go! Sprawdź dlaczego warto» Wyprowadzenia UNO Tak jak zostało powiedziane w poprzedniej części, korzystając ze specjalnych złącz, do można podłączyć elementy zewnętrzne takie jak np.: diody i przełączniki. Za nim jednak do tego dojdziemy musimy poznać wyprowadzenie złącz oraz odpowiednie funkcje, które służą do operowania na portach I/O (Input/Output), czyli na portach wejścia/wyjścia.
3 Na powyższym zdjęciu zaznaczone zostały najważniejsze sygnały, do których mamy dostęp. Ciemnozielone sygnały (0-), to porty I/O (wejściowo/wyjściowe). Są to piny cyfrowe, czyli takie, których wyjściu możemy ustawić 0V lub V, takie same sygnały możemy z nich odczytywać. Oznacza, to że właśnie za ich pomocą możemy przykładowo sterować diodami lub odczytywać informacje z prostych czujników/przycisków. Jasnozielonym kolorem zaznaczone zostały wejścia analogowe (A0-A). Są to wyjątkowe wejścia, które pozwalają na pomiar napięcia (w zakresie 0-V). Jak niedługo przekonasz się sam, wejścia te są bardzo przydatne szczególnie podczas pomiarów wielkości fizycznych (np.: natężenie światła). Na niebiesko zaznaczone zostały alternatywne funkcje dla poszczególnych sygnałów pinów. Oznacza to, że oprócz bycia standardowym wejściem lub wyjściem mogą one pełnić bardziej skomplikowane funkcje. Zajmiemy się nimi później, na ten moment wystarczy jedynie krótki opis: SDA, SCL wyprowadzenia magistrali I²C, wykorzystywana np.: do komunikacji z bardziej zaawansowanymi czujnikami, TX, RX interfejs UART, wykorzystywany np.: do komunikacji z komputerem, PWM wyprowadzenia, na których możliwe jest generowanie sygnału prostokątnego o zmiennym wypełnieniu. Bardzo przydatna funkcja np.: przy sterowaniu serwomechanizmami, LED dioda świecąca, wbudowana na stałe w, która połączona jest z pinem nr. Kolor pomarańczowy, to wyprowadzenia które nie są programowalne. Odpowiadają one głównie za zasilanie układu. Zostaną one dokładniej omówione, gdy przyjdzie pora na ich wykorzystanie. Wyjścia w praktyce dioda LED Teraz zajmiemy się rzeczą najprostszą, włączymy diodę LED. Zgodnie z powyższym opisem możemy do tego wykorzystać dowolny pin I/O. Na początek wybierzmy wyjście cyfrowe o nr. Wyjście cyfrowe jest to wyjście, które możemy ustawić w jeden z dwóch stanów. Niski lub wysoki. W przypadku będzie to V lub 0V. Układ należy podłączyć zgodnie z poniższym rysunkiem. Diodę łączymy szeregowo z rezystorem (0R). Następnie dłuższą nóżkę diody (anodę) łączymy z wyprowadzeniem nr. Drugą, przez rezystor z masą, którą znajdziemy w złączu zasilania (opisaną jako GND).Na płytce znajdują się wyprowadzenia opisane jako GND. Możemy wybrać dowolne. UWAGA! Pamiętaj, aby podczas podłączania większości peryferiów (diody, buzzery) do robić to przez rezystory! Stosowne informacje znajdziesz na naszych rysunkach poglądowych. Brak rezystora możesz doprowadzić do USZKODZENIA podłączonych elementów, a nawet! Podłączenie diody do. Programowe włączenie diody jest bardzo proste. Podłącz do komputera za pomocą kabla USB. Uruchom IDE i przepisz poniższy kod. Następnie wgraj go na płytkę. Opis tej czynności znajdziesz w pierwszej części kursu. Staraj się przepisywać kody! Kopiowanie jest szybsze, ale sprawi, że będziesz mniej umiał!
4 pinmode(, OUTPUT); digitalwrite(, HIGH); Funkcja pinmode(pin, Tryb) umożliwia wybranie, czy dany pin jest wejściem, czy wyjściem. Pin może być liczbą całkowitą z zakresu od 0 do, zaś Tryb to: INPUT, OUTPUT, INPUT_PULLUP. Jeżeli chcemy sterować wyjściem, to zawsze używamy trybu Output. Pozostałe tryby zostaną omówione później. Dzięki takiej konfiguracji możemy ustawić stan logiczny na wyjściu (i dzięki temu włączyć diodę). Do tego celu służy funkcja digitalwrite(pin, Stan). Stan jest stanem logicznym, który może być HIGH bądź LOW (wysoki bądź niski). W naszym przykładzie dioda została już podłączona do masy, dlatego musi doprowadzić do niej stan wysoki stąd digitalwrite(, HIGH);. Każdy rozkaz kończymy średnikiem! Po jednorazowym ustawieniu pinu w stan wysoki jego wartość nie zmieni się do momentu, gdy sami ustawimy mu inną wartość. W związku z tym, program taki jak powyższy sprawi, że dioda będzie świeciła się cały czas. Opóźnienia w programie miganie diodą Tym razem będziemy diodą migać. Do tego potrzebna jest nowa funkcja, której zadaniem będzie wprowadzanie opóźnienia delay. Schemat połączeń jest dokładnie taki sam jak w pierwszym przypadku. Natomiast kod będzie wyglądał jak poniżej: 0 pinmode(, OUTPUT); //Konfiguracja pinu jako wyjście digitalwrite(, HIGH); //Włączenie diody delay(000); //Odczekanie sekundy digitalwrite(, LOW); //Wyłączenie diody delay(000); //Odczekanie jednej sekundy Stan wyjścia zmienia się tu cały czas w pętli nieskończonej. W programie zostały dodane opóźnienia z pomocą funkcji delay(czas) (dzięki temu miganie jest widoczne). Funkcja ta jako argument przyjmuje liczbę milisekund, jakie mają zostać przeczekane. Bez wprowadzonych opóźnień układ zmieniał by stan swojego wyjścia tak szybko, że zauważenie zmian gołym okiem byłoby niemożliwe. Możesz przeprowadzić taki eksperyment ustawiając opóźnienie na 0ms. Zadanie domowe nr. Sprawdź przy jakiej najmniejszej wartości opóźnień będziesz w stanie zauważyć miganie diody! Co stanie się, gdy dioda będzie migała zbyt szybko? Swoimi spostrzeżeniami podziel się w komentarzu! Zadanie domowe nr. Wybierz wolny pin i podłącz do niego drugą diodę. Napisz program, który będzie włączał obie diody LED. Następnie napisz program, w który sprawi, że obie diody będą migały na zmianę. Wejścia układu w praktyce instrukcja warunkowa Bardzo często chcemy, aby zaprogramowany układ mógł reagować na sygnały z zewnątrz. Tym razem do podłączymy oprócz diody przycisk. Należy zrobić to zgonie z poniższym przykładem. Jedna strona przycisku została podłączona do masy (minusa), druga do wyprowadzenia nr.
5 Podłączenie przycisku do. Uwaga! Przyciski dołączane do zestawów mają wyprowadzenia zamiast. Wszystko dlatego, aby pasowały lepiej do płytki stykowej. Nie musisz przejmować się tym, że przełącznik na grafikach ma wyjścia. Zadanie na będzie proste, ale musimy wykorzystać coś nowego instrukcje warunkowe. Naszym celem jest stworzenie programu, który w momencie wciśnięcia przycisku włączy diodę. Przejdźmy do realizacji zadania. Oczekujemy, że program będzie nieustannie w jednym z dwóch stanów dioda włączona lub wyłączona. Na początek konieczne jest odczytanie stanu logicznego, który występuje na wejściu z przyciskiem. Z konfiguracja wejścia spotkasz się tutaj pierwszy raz. Zwróć uwagę, na wcześniej wspomniany tryb INPUT_PULLUP. Będziemy wykorzystywać go za każdym razem, gdy do podłączymy przełącznik. Pierwszy człon nazwy (input) oznacza oczywiście wejście. natomiast drugi (pullup) sugeruje nam włączenie wewnętrznego rezystora podciągającego wejście. Jeśli nie wiesz o czym mowa, to zajrzyj do tego artykułu. Teraz musimy odczytać stan wejścia. Do tego konieczna jest funkcja digitalread(pin), która zwraca wartość HIGH bądź LOW, zależnie od stanu. W naszym układzie przycisk zwiera wejście z masą (LOW). Samo odczytanie wejścia nic nam nie da, musimy umieć uzależnić od tej informacji działanie programu. Stąd instrukcja warunkowa (potocznie if lub warunek). Instrukcja ta jest bardzo popularna. Dzięki niej możemy wykonać daną część kodu, jeśli zaszły pewne okoliczności. Czyli np.: jeśli wciśnięto przycisk. 0 [...] //Kod wykonywany przy każdym obiegu pętli if ( WARUNEK ) /* Kod wykonywany tylko, gdy w danym obiegu pętli spełniony jest WARUNEK */ //Kod wykonywany przy każdym obiegu pętli Instrukcja ta może zostać bardzo łatwo rozbudowana o część kodu, która zostanie wykonana tylko, gdy warunek nie zostanie spełniony. Służy do tego instrukcja else. [...]
6 0 //Kod wykonywany przy każdym obiegu pętli if ( WARUNEK ) /* Kod wykonywany tylko, gdy w danym obiegu pętli spełniony jest WARUNEK */ else /* Kod wykonywany tylko, gdy w danym obiegu pętli warunek NIE jest spełniony*/ //Kod wykonywany przy każdym obiegu pętli Łącząc zdobytą wiedzę możemy stworzyć program realizujący nasze zadanie. Przeanalizuj go, a następnie wgraj do. 0 pinmode(, OUTPUT); //Dioda jako wyjście pinmode(, INPUT_PULLUP); //Przycisk jako wejście digitalwrite(, LOW); //Wyłączenie diody if (digitalread() == LOW) //Jeśli przycisk wciśnięty digitalwrite(, HIGH); //Włącz diodę else //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty) digitalwrite(, LOW); //Wyłącz diodę Program taki jest jednak mało użyteczny. Po co nam włącznik światła, który działa tylko, gdy go trzymamy palcem? Czy nie lepiej byłoby, gdyby po wciśnięciu przycisku dioda świeciła przez określony czas? Przykład Włącznik światła z czasomierzem Załóżmy, że chcemy przerobić powyższy przykład tak, aby dioda świeciła przez 0 sekund od wciśnięcia przycisku. Później ma być wyłączona, oczywiście tylko do czasu ponownego wciśnięcia przycisku. Czy jesteś w stanie napisać już taki program samodzielnie? Mam nadzieje, że tak! W razie problemów możesz podejrzeć mój kod: 0 pinmode(, OUTPUT); //Dioda jako wyjście pinmode(, INPUT_PULLUP); //Przycisk jako wejście digitalwrite(, LOW); //Wyłączenie diody if (digitalread() == LOW) //Jeśli przycisk wciśnięty digitalwrite(, HIGH); //Włącz diodę delay(0000); //Czekamy 0 sekund digitalwrite(, LOW); //Wyłączamy diodę Przykład Światła drogowe Nasz kolejny układ będzie układem przełączanych świateł drogowych. Naszym głównym celem będzie napisanie programu, który po wciśnięciu przycisku wyświetli kolejną, poprawną sekwencje świateł. Przyjmijmy taki cykl pracy świateł: [ ] -> Zielone -> Pomarańczowe -> Czerwone -> Czerwone + Pomarańczowe[ ] Kiedy naciśniemy przycisk, układ powinien przełączyć światła w ich kolejną sekwencję. Dojdziemy do tego kilkoma etapami. Na początku podłącz diody oraz przełącznik zgodnie z poniższym rysunkiem.
7 Podłączenie sygnalizacji drogowej. Przygotujmy szkielet programu, na którym będziemy działać. Jego zadanie to tylko konfiguracja wejść i wyjść. 0 pinmode(0, OUTPUT); //Dioda czerwona pinmode(, OUTPUT); //Dioda żółta pinmode(, OUTPUT); //Dioda zielona pinmode(, INPUT_PULLUP); //Przycisk digitalwrite(0, LOW); //Wyłączenie diod digitalwrite(, LOW); digitalwrite(, LOW); //Tutaj będzie nasz program Teraz zapomnijmy o przełączniku i napiszmy program, który będzie zmieniał światła samoczynnie, co sekundę. Powinien on wyglądać następująco: pinmode(0, OUTPUT); //Dioda czerwona pinmode(, OUTPUT); //Dioda żółta pinmode(, OUTPUT); //Dioda zielona pinmode(, INPUT_PULLUP); //Przycisk digitalwrite(0, LOW); //Wyłączenie diod digitalwrite(, LOW); digitalwrite(, LOW); digitalwrite(0, LOW); //Czerwona digitalwrite(, LOW); //Pomarańczowa digitalwrite(, HIGH); //Zielona delay(000); //Czekamy sekundę digitalwrite(0, LOW); //Czerwona digitalwrite(, HIGH); //Pomarańczowa digitalwrite(, LOW); //Zielona delay(000); //Czekamy sekundę digitalwrite(0, HIGH); //Czerwona digitalwrite(, LOW); //Pomarańczowa digitalwrite(, LOW); //Zielona delay(000); //Czekamy sekundę digitalwrite(0, HIGH); //Czerwona digitalwrite(, HIGH); //Pomarańczowa
8 digitalwrite(, LOW); //Zielona delay(000); //Czekamy sekundę Wgraj program do i sprawdź czy działa. Musimy mieć pewność, że wszystko jest poprawnie podłączone zanim przejdziemy do dalszej pracy. Pętla While Do tej pory korzystaliśmy tylko z głównej, obowiązkowej pętli w kodzie loop(). Teraz pora na poznanie pętli, którą będziemy mogli używać wewnątrz naszych programów. Różnych pętli będziemy mieli do dyspozycji kilka. Kolejnymi zajmiemy się w dalszych częściach kursu. Teraz omówimy pętlę while(), która działa, do momentu, gdy warunek jest spełniony. Jej praca została przedstawiona w poniższym kodzie: 0 [...] //Kod wykonywany przy każdym obiegu GŁÓWNEJ pętli loop while ( WARUNEK ) /* Kod wykonywany w koło, do momentu, gdy WARUNEK przestanie być spełniany */ //Kod wykonywany przy każdym obiegu GŁÓWNEJ pętli loop Dla jasności, pętle while() wykonuje cały czas tylko ten kod, który mieści się między jej nawiasami klamrowymi (zaznaczony u góry na pomarańczowo). Cała reszta kodu nie jest wtedy wykonywana. Wykorzystajmy złożony w tej chwili układ ze światłami drogowymi i napiszmy program, który będzie migał jedną diodą, tylko gdy mamy wciśnięty przycisk. Prawdopodobnie pomyślałeś tutaj o instrukcji warunkowej if. Jednak jak chciałbyś zrealizować miganie diodą? To wbrew pozorom trudniejsze zadanie od napisanego wcześniej ciągłego świecenia. Program ten najlepiej zrealizować z użycie pętli while(), będzie to wyglądało następująco: 0 0 pinmode(0, OUTPUT); //Dioda czerwona pinmode(, OUTPUT); //Dioda żółta pinmode(, OUTPUT); //Dioda zielona pinmode(, INPUT_PULLUP); //Przycisk digitalwrite(0, LOW); //Wyłączenie diod digitalwrite(, LOW); digitalwrite(, LOW); while (digitalread() == LOW) //Jeśli przycisk jest wciśnięty digitalwrite(0, LOW); //Czerwona wyłącz delay(000); digitalwrite(0, HIGH); //Czerwona włącz delay(000); Jeśli rozumiesz powyższy kod możemy przejść do zrealizowania naszego pierwotnego zadania. Czyli automatycznego przełączania świateł. Tym razem sekwencje mają być wyświetlane do momentu, gdy wciśniemy przycisk (wtedy ma nastąpić zmiana). Zakładamy na razie, że przycisk wciskamy i puszczamy bardzo szybko. Gotowy program powinien wyglądać jak poniżej:
9 0 0 0 pinmode(0, OUTPUT); //Dioda czerwona pinmode(, OUTPUT); //Dioda żółta pinmode(, OUTPUT); //Dioda zielona pinmode(, INPUT_PULLUP); //Przycisk digitalwrite(0, LOW); //Wyłączenie diod digitalwrite(, LOW); digitalwrite(, LOW); digitalwrite(0, LOW); //Czerwona digitalwrite(, LOW); //Pomarańczowa digitalwrite(, HIGH); //Zielona while (digitalread() == HIGH) //Jeśli przycisk jest wciśnięty digitalwrite(0, LOW); //Czerwona digitalwrite(, HIGH); //Pomarańczowa digitalwrite(, LOW); //Zielona while (digitalread() == HIGH) //Jeśli przycisk jest wciśnięty digitalwrite(0, HIGH); //Czerwona digitalwrite(, LOW); //Pomarańczowa digitalwrite(, LOW); //Zielona while (digitalread() == HIGH) //Jeśli przycisk jest wciśnięty digitalwrite(0, HIGH); //Czerwona digitalwrite(, HIGH); //Pomarańczowa digitalwrite(, LOW); //Zielona while (digitalread() == HIGH) //Jeśli przycisk jest wciśnięty W tym wypadku pętla została wykorzystana w dość dziwny sposób. Otóż jak możecie zobaczyć w nawiasach klamrowych nie znajduje się nic! Dlaczego więc program działa? Dzieje się tak, bo program wykorzystuje pętle do tego, aby się zatrzymać. Jak to działa?. Uruchamiamy świecenie diodami zgodnie z pewną sekwencją. Wchodzimy w pętlę while(), które jest tuż poniżej. Pętla jest pusta, więc program cały czas kręci się w koło i nic nie robi. Dopiero po wciśnięciu przycisku (niespełnienie warunku) program wychodzi z pętli. Zapalana jest kolejne sekwencja i sytuacja się powtarza. Sprawdźmy działanie programu w praktyce! Co się dzieje? Czy wszystko działa tak jak powinno? Otóż nie! Pomimo, że przycisk wciskamy nawet na bardzo krótko, to czasami program działa poprawnie, a czasami przeskakuje o kilka pozycji. Dlaczego tak się stało?jak powinieneś pamiętać z pierwszej części, mówiąc w uproszczeniu, procesor wykonuje około milionów operacji na sekundę. W związku z tym, podczas wciśnięcia przycisku zdąży obiec wszystkie stany naszej sygnalizacji (i to nie jeden raz ). Różne efekty po zwolnieniu przycisku, to tylko efekt losowego wstrzelenia się w daną sekwencję. Jak rozwiązać ten problem? Bardzo prosto. Wystarczy przerobić program w taki sposób, aby zmiana świateł nie następowała częściej niż np.: co sekundę. Możemy wykorzystać do tego znaną już funkcję opóźniającą delay(). pinmode(0, OUTPUT); //Dioda czerwona pinmode(, OUTPUT); //Dioda żółta pinmode(, OUTPUT); //Dioda zielona
10 pinmode(, INPUT_PULLUP); //Przycisk digitalwrite(0, LOW); //Wyłączenie diod digitalwrite(, LOW); digitalwrite(, LOW); digitalwrite(0, LOW); //Czerwona digitalwrite(, LOW); //Pomarańczowa digitalwrite(, HIGH); //Zielona delay(000); //Zatrzymujemy program przed wejsciem do pętli na sekunde while (digitalread() == HIGH) //Jeśli przycisk jest wciśnięty digitalwrite(0, LOW); //Czerwona digitalwrite(, HIGH); //Pomarańczowa digitalwrite(, LOW); //Zielona delay(000); //Zatrzymujemy program przed wejsciem do pętli na sekunde while (digitalread() == HIGH) //Jeśli przycisk jest wciśnięty digitalwrite(0, HIGH); //Czerwona digitalwrite(, LOW); //Pomarańczowa digitalwrite(, LOW); //Zielona delay(000); //Zatrzymujemy program przed wejsciem do pętli na sekunde while (digitalread() == HIGH) //Jeśli przycisk jest wciśnięty digitalwrite(0, HIGH); //Czerwona digitalwrite(, HIGH); //Pomarańczowa digitalwrite(, LOW); //Zielona delay(000); //Zatrzymujemy program przed wejsciem do pętli na sekunde while (digitalread() == HIGH) //Jeśli przycisk jest wciśnięty Teraz wszystko musi już działać poprawnie! Warto wspomnieć, że warunki w pętli while() mogą być łączone oraz znacznie bardziej rozbudowane, wrócimy jednak do tego tematu, gdy poznamy zmienne. Pamiętaj, że komplet elementów niezbędnych do przeprowadzenia wszystkich ćwiczeń jest dostępny w Botlandzie. Zakup zestawów wspiera kolejne publikacje na Forbocie! Podsumowanie Po sprawdzeniu i zrozumieniu programów z tej części nie powinniście mieć problemów z najważniejszymi peryferiami mikrokontrolerów portami I/O. Mam nadzieje, że zauważyłeś równie, że często warto rozbić program na kilka etapów zamiast od razu pisać pełną funkcjonalność. Pytajcie w komentarzach jeśli coś jest niejasne. W kolejnej części zajmiemy się komunikacją z komputerem przez port USB. Dzięki temu ułatwione będzie testowanie późniejszych, rozbudowanych programów. 0
Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307
Język C Wykład 9: Mikrokontrolery cz.2 Łukasz Gaweł Chemia C pokój 307 lukasz.gawel@pg.edu.pl Pierwszy program- powtórka Częstotliwość zegara procesora μc (należy sprawdzić z kartą techniczną μc) Dodaje
Notatka lekcja_#3_1; na podstawie W.Kapica 2017 Strona 1
Na poprzednich zajęciach zajmowaliśmy się odczytywaniem sygnałów cyfrowych. Dzięki temu mogliśmy np.: sprawdzić, czy przycisk został wciśnięty. Świat, który nas otacza nie jest jednak cyfrowy, czasami
Uwaga: dioda na wyjściu 13 świeci gdy na wyjście podamy 0.
Podstawowe funkcje sterowania pinami cyfrowymi pinmode(8, OUTPUT); //ustawienie końcówki jako wyjście pinmode(8, INPUT); // ustawienie końcówki jako wejście pinmode(8, INPUT_PULLUP); // ustawienie końcówki
Czym jest sygnał PWM?
Kurs # PWM, serwomechanizmy, biblioteki Poprzednia część omawiała przetwornik ADC. Tym razem pójdziemy w drugą stronę i zajmiemy się generowanie specyficznego sygnału. Mowa o PWM modulacji szerokości impulsu.
Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.
Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio. IComsat jest to shield GSM/GPRS współpracujący z Arduino oparty o moduł SIM900 firmy SIMCOM.
Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści
Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.
MultiTool instrukcja użytkownika 2010 SFAR
MultiTool instrukcja użytkownika 2010 SFAR Tytuł dokumentu: MultiTool instrukcja użytkownika Wersja dokumentu: V1.0 Data: 21.06.2010 Wersja urządzenia którego dotyczy dokumentacja: MultiTool ver. 1.00
Rafał Staszewski Maciej Trzebiński, Dominik Derendarz
R Staszewski Rafał Staszewski Maciej Trzebiński, Dominik Derendarz Henryk Niewodniczański Institute of Nuclear Physics Polish Academy of Sciences (IFJ PAN Cracow) Zagraj w Naukę 27 października 2014 1
INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie
INSTRUKCJA OBSŁUGI 1. Zastosowanie Przekaźnik czasowy ETM jest zadajnikiem czasowym przystosowanym jest do współpracy z prostownikami galwanizerskimi. Pozwala on załączyć prostownik w stan pracy na zadany
znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.
Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo
Arduino jako wyłącznik z opóźnieniem
Arduino jako wyłącznik z opóźnieniem W układach elektronicznych czasami chcemy przez pewien czas utrzymać włączone urządzenie nawet wtedy, gdy wyłącznik elektryczny został wyłączony. Zwykłe przyciski służące
SCL > Pin 21 SDA > Pin 20 VCC > 5V GND > GND
Nazwa implementacji: Budowa RTC w oparciu o DS1307 Autor: Krzysztof Bytow Opis implementacji: Układ DS1307 jest to zegar czasu rzeczywistego (Real Time Clock) służy do odliczania czasu niezależnie od stanu
Sygnał PWM, serwomechanizmy i biblioteki. 1. Czym jest sygnał PWM? Strona 1
- Sygnał PWM, serwomechanizmy i biblioteki. 1. Czym jest sygnał PWM? Załóżmy, że do mikrokontrolera podłączyliśmy diodę świecącą i zaczęliśmy migać nią w pętli. Dioda jest włączona przez sekundę, a przez
LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program
LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program Przygotował: Jakub Wawrzeńczak 1. Wprowadzenie Lekcja przedstawia wykorzystanie środowiska LabVIEW 2016
Zmierzyć się z żywiołami, czyli jak zbudować własną stację badawczą! Zaczynamy! Pole komunikatów programu. Nawigacja w programie Arduino
Zaczynamy! Lista zadań Menu programu sprawdzanie kodu Skróty wybranych poleceń wgrywanie kodu nowy program otwieranie zapisanych prog. Pole do wprowadzania kodu zapisywanie zmian wywołanie podglądu portu
sygnałów cyfrowych przetwornikiem analogowo-cyfrowym Krótki wstęp teoretyczny Wysokim niskim chcielibyśmy poznać dokładną odległość od przeszkody
Kurs # Przetwornik ADC W poprzednich częściach kursu zajmowaliśmy się odczytywaniem sygnałów cyfrowych. Dzięki temu mogliśmy np.: sprawdzić, czy przycisk został wciśnięty. Świat, który nas otacza nie jest
Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.
E113 microkit Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100 1.Opis ogólny. Zestaw do samodzielnego montażu. Edukacyjny sterownik silnika krokowego przeznaczony jest
Jak zawsze wyjdziemy od terminologii. While oznacza dopóki, podczas gdy. Pętla while jest
Pętle Pętla to pewien fragment kodu, który jest wykonywany wielokrotnie. Wyobraź sobie taką sytuację. Piszesz program do szyfrowania danych. Dane są szyfrowane kolejno bajt po bajcie. Załóżmy, że plik
Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach?
Część XVIII C++ Funkcje Widoczność zmiennych Czy wartości każdej zmiennej można zmieniać w dowolnym miejscu kodu? Czy można zadeklarować dwie zmienne o takich samych nazwach? Umiemy już podzielić nasz
Spis treści. Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
El ektroni ka cyfrow a Aut orpr ogr amuz aj ęć: mgri nż.mar ci njuki ewi cz Pr oj ektwspół f i nansowanyześr odkówuni ieur opej ski ejwr amacheur opej ski egofunduszuspoł ecznego Spis treści Zajęcia 1:
Stair Lighting Driver. Sterownik oświetlenia schodowego Instrukcja użytkowania
Stair Lighting Driver Sterownik oświetlenia schodowego Instrukcja użytkowania 1 S t r o n a Spis treści 1. Zasady BHP przy obsłudze urządzenia... 3 1.1. Wymogi ogólne... 3 1.2. Na stanowisku instalacji
Instrukcja. Silnik Portos DELUX- R
Instrukcja Silnik Portos DELUX- R Spis treści Podłączenia elektryczne str. 3 Ustawianie pozycji krańcowych str. 4 Dodawanie/usuwanie nadajników str. 9 Programowanie pozycji pośrednich str. 10 Edytowanie
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
El ektroni ka cyfrow a Aut orpr ogr amuz aj ęć: mgri nż.mar ci njuki ewi cz Pr oj ektwspół f i nansowanyześr odkówuni ieur opej ski ejwr amacheur opej ski egofunduszuspoł ecznego Spis treści Zajęcia 1:
Teraz możesz kupić zestaw ponad 70 elementów niezbędnych do przeprowadzenia ćwiczeń z kursu u naszych dystrybutorów!
0 Kurs #0 wykresy, liczby losowe, warunki cd. Pora na obiecaną, dodatkową część naszego kursu. Tym razem zajmiemy się kilkoma rzeczami, które usprawnią programowanie. Mowa między innymi o łączeniu warunków
Dekoder do zwrotnic Roco 61196
INSTRUKCJA OBSŁUGI Dekoder do zwrotnic Roco 61196 Produkt nr 244859 Strona 1 z 7 Strona 2 z 7 Dekoder do zwrotnic Dekoder rozjazdu może być: zaprogramowany z adresami przełączników. sterowany cyfrowo za
LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2
LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie budowy systemów opartych na układach Arduino. W tej części nauczymy się podłączać różne czujników,
A-100WP ELEKTRONICZNY WANDALOODPORNY ZEWNĘTRZNY ZAMEK SZYFROWY DO MONTAŻU NADTYNKOWEGO
S t r o n a 1 A-100WP ELEKTRONICZNY WANDALOODPORNY ZEWNĘTRZNY ZAMEK SZYFROWY DO MONTAŻU NADTYNKOWEGO A-100IMWP jest autonomicznym zamkiem szyfrowym przeznaczonym do zastosowań na zewnątrz budynków. Zbudowany
INSTRUKCJA OBSŁUGI IMMOBILIZERA TRANSPONDEROWEGO
INSTRUKCJA OBSŁUGI IMMOBILIZERA TRANSPONDEROWEGO SPIT - 805 Immobilizer transponderowy SPIT - 805 jest urządzeniem służącym do ochrony pojazdów samochodowych przed kradzieżą. Urządzenie blokuje jednocześnie
Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego
El ektroni ka cyfrow a Aut orpr ogr amuz aj ęć: mgri nż.mar ci njuki ewi cz Pr oj ektwspół f i nansowanyześr odkówuni ieur opej ski ejwr amacheur opej ski egofunduszuspoł ecznego Spis treści Zajęcia 1:
Podstawy techniki mikroprocesorowej
Podstawy techniki mikroprocesorowej Temat 2 Obsługa wyświetlaczy v.1.0 Uniwersytet Pedagogiczny, Instytut Techniki Dominik Rzepka, dominik.rzepka@agh.edu.pl, 2014 1. Obsługa pinów mikroprocesora i wyświetlacze
Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski
Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/
W przeciwnym wypadku wykonaj instrukcję z bloku drugiego. Ćwiczenie 1 utworzyć program dzielący przez siebie dwie liczby
Część XI C++ W folderze nazwisko36 program za każdym razem sprawdza oba warunki co niepotrzebnie obciąża procesor. Ten problem można rozwiązać stosując instrukcje if...else Instrukcja if wykonuje polecenie
Systemy Wbudowane. Arduino - rozszerzanie. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD. Podłączanie wyświetlacza LCD
Wymagania: V, GND Zasilanie LED podswietlenia (opcjonalne) Regulacja kontrastu (potencjometr) Enable Register Select R/W (LOW) bity szyny danych Systemy Wbudowane Arduino - rozszerzanie mgr inż. Marek
by Jody Culkin PIERWOTNY WZÓR BĘDĄCY PODSTAWĄ DO STWORZENIA GOTOWEGO PRODUKTU.
CO TO JEST ARDUINO? TO OTWARTA PLATFORMA DO BUDOWY ELEKTRONICZNYCH PROTOTYPÓW. by Jody Culkin CO TO ZNACZY? ZASOBY, KTÓRE MOGĄ BYĆ UŻYWANE, ZMIENIANE I DYSTRYBUOWANE BEZ OPŁAT. TAK OPROGRAMOWANIE JAK I
Sygnały, czyli pogadajmy z Arduino
Sygnały, czyli pogadajmy z Arduino Wejścia i wyjścia cyfrowe (zero-jedynkowe) Na samym początku zasialiśmy układ baterią, ale taka bateria szybko nam się rozładowuje i trzeba kupić nową. Zamiast tego możemy
Lekcja 5 - PROGRAMOWANIE NOWICJUSZ
Lekcja 5 - PROGRAMOWANIE NOWICJUSZ 1 Programowanie i program według Baltiego Najpierw sprawdźmy jak program Baltie definiuje pojęcia programowania i programu: Programowanie jest najwyższym trybem Baltiego.
Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie
Część X C++ Typ znakowy służy do reprezentacji pojedynczych znaków ASCII, czyli liter, cyfr, znaków przestankowych i innych specjalnych znaków widocznych na naszej klawiaturze (oraz wielu innych, których
Schemat blokowy architektury AVR
Schemat blokowy architektury AVR Rejestry procesora AVR dostępne programowo Rejestry procesora AVR związane z pobraniem i wykonaniem rozkazu Schemat blokowy procesora ATMega 2560 ATMEL ATMEGA328P MEMORY
INSTRUKCJA OBSŁUGI KROSOWNICY WIDEO KV-12/4
INSTRUKCJA OBSŁUGI KROSOWNICY WIDEO KV-2/4 Opis działania Krosownica wideo KV-2/4 umożliwia przełączanie dwunastu wejść do czterech wyjść w dowolnej konfiguracji Posiada dwa tryby pracy, krosownicy i przełącznika
LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017
Politechnika Wrocławska, Wydział Elektroniki Mikrosystemów i Fotoniki Wydziałowy Zakład Metrologii Mikro- i Nanostruktur LABORATORIUM UKŁADÓW PROGRAMOWALNYCH PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR
LABORATORIUM - ELEKTRONIKI Układy mikroprocesorowe cz.2
LABORATORIUM - ELEKTRONIKI Układy mikroprocesorowe cz.2 PRZEBIEG ĆWICZENIA 1. Wybrać z dostarczonych przez prowadzącego następujące elementy Układ Arduino Mega Płytka prototypowa Wyświetlacz 2X16 Potencjometr
STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107
Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity
INSTRUKCJA OBSŁUGI K3-3. Czytnik kart i zamek kodowy z kontrolerem dostępu i interfejsem Wiegand. Copyright Domster T. Szydłowski
INSTRUKCJA OBSŁUGI K3-3 Czytnik kart i zamek kodowy z kontrolerem dostępu i interfejsem Wiegand Copyright Domster T. Szydłowski 1. Opis, funkcje i specyfikacja 1.1 Opis K3-3 to autonomiczny, czytnik kart
Laboratorium Analogowych Układów Elektronicznych Laboratorium 4
Laboratorium Analogowych Układów Elektronicznych Laboratorium 4 1/6 Komparator, wyłącznik zmierzchowy Zadaniem jest przebadanie zachowania komparatora w układach z dodatnim sprzężeniem zwrotnym i bez sprzężenia
Szybki przewodnik instalacji
Video Serwer ACD-2100 Ver. 070206 Szybki przewodnik instalacji Początki 1.1 ZAWARTOŚĆ OPAKOWANIA ACD-2100 Zasilacz sieciowy (Opcjonalnie) CD produktu Blok złączy i wkręty Karta gwarancyjna 1.2 OPIS TECHNICZNY
Długopis z ukrytą kamerą cyfrową HD
Długopis z ukrytą kamerą cyfrową HD Instrukcja obsługi Nr produktu: 956256 Strona 1 z 5 1. Szczegóły produktu Nr Nazwa Opis 1 Przycisk obsługi Jest to wielofunkcyjny przycisk, którego funkcje zależą od
INSTRUKCJA OBSŁUGI DOZOWNIKA AROMATÓW CA-50
INSTRUKCJA OBSŁUGI DOZOWNIKA AROMATÓW CA-50 1 Dozownik aromatów CA-50 jest uniwersalnym urządzeniem służącym do podawania esencji aromatycznych w postaci płynnej. Podstawowe przeznaczenie urządzenia to
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR
Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać
Instytut Teleinformatyki
Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory Zapoznanie się ze środowiskiem IAR Embedded Workbench; kompilacja, debuggowanie,
Instrukcja obsługi elektronicznego licznika typu 524. Model 524. Licznik sumujący i wskaźnik pozycji typu Opis. 1. Opis
Instrukcja obsługi elektronicznego licznika typu 524 Model 524 Model 524 jest urządzeniem wielozadaniowym i zależnie od zaprogramowanej funkcji podstawowej urządzenie pracuje jako: licznik sumujący i wskaźnik
INSTRUKCJA UŻYTKOWNIKA OBSŁUGA I EKSPLOATACJA SAMOCHODU WYPOSAŻONEGO W SYSTEM SEKWENCYJNEGO WTRYSKU GAZU. Diego G3 / NEVO
INSTRUKCJA UŻYTKOWNIKA OBSŁUGA I EKSPLOATACJA SAMOCHODU WYPOSAŻONEGO W SYSTEM SEKWENCYJNEGO WTRYSKU GAZU Diego G3 / NEVO Strona 2 z 7 Spis treści 1. URUCHAMIANIE SILNIKA... 3 2. PANEL STERUJĄCY... 3 2.1
Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"
Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026" Sp. z o.o. 41-250 Czeladź ul. Wojkowicka 21 Tel. 032 763-77-77 Fax: 032 763-75-94 v.1.2 www.mikster.pl mikster@mikster.pl (14.11.2007) SPIS
Klawiatura matrycowa
Klawiatura matrycowa Budowa matrycy klawiatury. Nieodzownym elementem każdego systemu mikroprocesorowego jest klawiatura. Umożliwia ona wpływ użytkownika na wykonywany przez niego program. Jednak teoretycznie
dokument DOK 02-05-12 wersja 1.0 www.arskam.com
ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania
Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo
Laboratorium 2 Sterowanie urządzeniami z wykorzystaniem systemu plików Intel Galileo Zakres: Laboratorium obrazuje podstawy sterowania urządzeń z wykorzystaniem wirtualnego systemu plików sysfs z poziomu
Instrukcja obsługi lampka LivingColors Iris
Instrukcja obsługi lampka LivingColors Iris Rozpakowywanie i instalacja Rozpoczęcie korzystania z lampki LivingColors Po rozpakowaniu lampki LivingColors nie ma potrzeby parowania z nią pilota zdalnego
Kod produktu: MP-BTM222-5V
Moduł interfejsu Bluetooth na bazie BTM-222, sterowany komendami AT, poziom napięć TTL 5V Urządzenie zbudowano w oparciu o moduł transmisyjny Bluetooth typu BTM-222 firmy Rayson, umożliwiający zasięg bezprzewodowy
Calisto Telefon konferencyjny USB. Instrukcja użytkowania
Calisto 7200 Telefon konferencyjny USB Instrukcja użytkowania Spis treści Przegląd 3 Ustanawianie połączenia z komputerem 4 Codzienne użytkowanie 5 Zasilanie 5 Głośność 5 Wyłączanie i włączanie mikrofonu
STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107
Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32 Butterfly Zestaw STM32 Butterfly jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity
Sterownik źródła zasilania STR-Z01
Sterownik źródła zasilania STR-Z01 Instrukcja obsługi i instalacji v1.0 1 Instrukcja obsługi sterownika źródła zasilania STR-Z01 Spis treści 1. Parametry urządzenia... 2 2. Zasada działania sterownika...
Q3 Autonomiczny czytnik kart i zamek kodowy z kontrolerem dostępu, przyciskiem dzwonka i interfejsem Wiegand
Q3 Autonomiczny czytnik kart i zamek kodowy z kontrolerem dostępu, przyciskiem dzwonka i interfejsem Wiegand Instrukcja obsługi Copyright Domster T. Szydłowski . Opis, funkcje i parametry techniczne. Opis:
Kod produktu: MP01105
MODUŁ INTERFEJSU KONTROLNO-POMIAROWEGO DLA MODUŁÓW Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs kontrolno-pomiarowy do podłączenia modułów takich jak czujniki temperatury, moduły przekaźnikowe,
1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Programator procesorów rodziny AVR AVR-T910
Programator procesorów rodziny AVR AVR-T910 Instrukcja obsługi Opis urządzenia AVR-T910 jest urządzeniem przeznaczonym do programowania mikrokontrolerów rodziny AVR firmy ATMEL. Programator podłączany
ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC
ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami
ORVALDI ATS. Automatic Transfer Switch (ATS)
ORVALDI ATS Automatic Transfer Switch (ATS) 1. Wprowadzenie ORVALDI ATS pozwala na zasilanie krytycznych odbiorów z dwóch niezależnych źródeł. W przypadku zaniku zasilania lub wystąpienia zakłóceń podstawowego
Poradnik programowania procesorów AVR na przykładzie ATMEGA8
Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR
Panelowy moduł automatyki SZR SIEĆ-AGREGAT ATS-10
Panelowy moduł automatyki SZR SIEĆ-AGREGAT ATS-10 Opis Moduł ATS-10 odpowiada za kontrolę napięcia zasilania sieciowego i automatyczne przełączenie na zasilanie z agregatu. W przypadku awarii głównego
Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP
Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP ZL32ARM ZL32ARM z mikrokontrolerem LPC1114 (rdzeń Cotrex-M0) dzięki wbudowanemu programatorowi jest kompletnym zestawem uruchomieniowym.
Ustawienia ogólne. Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony
Ustawienia ogólne Ustawienia okólne są dostępne w panelu głównym programu System Sensor, po kliknięciu ikony Panel główny programu System Sensor (tylko dla wersja V2, V3, V4) Panel główny programu System
Modułowy programowalny przekaźnik czasowy firmy Aniro.
Modułowy programowalny przekaźnik czasowy firmy Aniro. Rynek sterowników programowalnych Sterowniki programowalne PLC od wielu lat są podstawowymi systemami stosowanymi w praktyce przemysłowej i stały
Krótki wstęp o wyświetlaczach. Jak zmusić wyświetlacz do pracy?
7 Kurs Arduino #7 Wyświetlacz tekstowy, LCD Do tej pory nasza komunikacja z płytką Arduino była stosunkowo ograniczona. Mogliśmy użyć diod święcących do sygnalizowania pewnych stanów lub UART do połączenia
Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy
Ćwiczenie V LABORATORIUM MECHATRONIKI IEPiM Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy Zał.1 - Działanie i charakterystyka sterownika PLC
1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania
1. Opis aplikacji Interfejs programu podzielony jest na dwie zakładki. Wszystkie ustawienia znajdują się w drugiej zakładce, są przygotowane do ćwiczenia i nie można ich zmieniac bez pozwolenia prowadzącego
Zestaw głośnomówiący B-Speech BT-FSE PRIM
INSTRUKCJA OBSŁUGI Zestaw głośnomówiący B-Speech BT-FSE PRIM Nr produktu 769722 Strona 1 z 6 Gratulujemy zakupu zestawu głośnomówiącego B-Speech BT-FSE PRIM. To urządzenie pozwala komunikować się bezprzewodowo
LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:
LITEcompLPC1114 Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Bezpłatny zestaw dla Czytelników książki Mikrokontrolery LPC1100. Pierwsze kroki LITEcompLPC1114 jest doskonałą platformą mikrokontrolerową
STEROWNIK PODŚWIETLANIA SCHODÓW ANIMACJI LED S-H1
STEROWNIK PODŚWIETLANIA SCHODÓW ANIMACJI LED S-H1 Sterownik podświetlania schodów służy do podświetlania schodów, korytarzy, przejść itp. we współpracy z listwami led, żarówkami led. Sterownik posiada
Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.
Nazwa implementacji: Termometr cyfrowy - pomiar temperatury z wizualizacją pomiaru na wyświetlaczu LCD Autor: Krzysztof Bytow Opis implementacji: Wizualizacja działania elementu zestawu modułu-interfejsu
Instrukcja obsługi Zasilacz regulowany WINNERS XL4015 USB
Instrukcja obsługi Zasilacz regulowany WINNERS XL4015 USB Moduł przetwornicy regulowanej WINNERS XL4015 USB może zostać użyty jako standardowy układ obniżający napięcie stałe DC, ładowarka akumulatorów
NASTROJOWA LAMPA LED Z GŁOŚNIKIEM BLUETOOTH
NASTROJOWA LAMPA LED Z GŁOŚNIKIEM BLUETOOTH Instrukcja obsługi 33040 Podczas używania lampy 33040 należy stosować się do poniższych wskazówek. 1. Aby włączyćć urządzenie, użyj przełącznika znajdującego
UWAGA! PRZECZYTAJ ZANIM WYKONASZ AKTUALIZACJĘ FIRMWARE.
UWAGA! PRZECZYTAJ ZANIM WYKONASZ AKTUALIZACJĘ FIRMWARE. Po Aktualizacji Firmware urządzenia konieczny będzie reset i ponowne wpisanie wszystkich jego ustawień i parametrów w tym także parametrów kalibracyjnych
SML3 październik
SML3 październik 2005 24 100_LED8 Moduł zawiera 8 diod LED dołączonych do wejść za pośrednictwem jednego z kilku możliwych typów układów (typowo jest to układ typu 563). Moduł jest wyposażony w dwa złącza
Modem radiowy MR10-GATEWAY-S
Modem radiowy MR10-GATEWAY-S - instrukcja obsługi - (dokumentacja techniczno-ruchowa) Spis treści 1. Wstęp 2. Budowa modemu 3. Parametry techniczne 4. Parametry konfigurowalne 5. Antena 6. Dioda sygnalizacyjna
Termometr internetowy
BYDGOSZCZ Termometr internetowy Czyli mała chmura IoT P.K. 2017 Spis treści Wersje dokumentu... 2 Opis i zasada działania... 3 Budowa termometru... 4 Dioda RGB LED... 5 Instalacja i pierwsze uruchomienie...
Przełącznik KVM USB. Przełącznik KVM USB z obsługą sygnału audio i 2 portami. Przełącznik KVM USB z obsługą sygnału audio i 4 portami
Przełącznik KVM USB Przełącznik KVM USB z obsługą sygnału audio i 2 portami Przełącznik KVM USB z obsługą sygnału audio i 4 portami Instrukcja obsługi DS-11403 (2 porty) DS-12402 (4 porty) 1 UWAGA Urządzenie
Instrukcja obsługi programowalnego zegara cyfrowego
Art. Nr 61 60 21 Cyfrowy mini-zegar sterujący www.conrad.pl Instrukcja obsługi programowalnego zegara cyfrowego A. Funkcje 1. Programowalny zegar cyfrowy (określany w dalszej części instrukcji jako zegar
AKTUATOR DO SYSTEMU DUO Q
AKTUATOR DO SYSTEMU DUO ----- 2281Q Aktuator 2281Q, przeznaczony do systemu DUO, umożliwia sterowanie funkcjami automatyki domowej lub aktywacji funkcji dodatkowych, takich jak otwieranie elektrozaczepu
BRC SQ 24 MY07 DOSTROJENIE MANUAL by LemonR ZADBAJ O BATERIĘ W LAPTOPIE!
BRC SQ 24 MY07 DOSTROJENIE MANUAL by LemonR ZADBAJ O BATERIĘ W LAPTOPIE! Potwierdzeniem poprawnej komunikacji z komputerem LPG jest pojawienie się dostępnych wszystkich zakładek. Pierwszym krokiem jest
Instrukcja do oprogramowania ENAP DEC-1
Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych
ze względu na jego zaokrąglony kształt musimy go umieścić w innych bloczkach np. ze zmienną: lub jeśli chcemy sprawdzić jaki właśnie znak odczytujemy:
Ostatnio kontynuowaliśmy temat "rozmawiania" z Arduino (komunikacji z wykorzystaniem portu szeregowego), która jest nam o tyle potrzebna, że właśnie w ten sposób później będziemy rozmawiać z płytką wykorzystując
Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia
Ćwiczenie VIIN Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi Przebieg ćwiczenia 1. Rozpoznać elementy stanowiska (rys.1,2,3) i podłączyć
Obsługa pilota uniwersalnego RCU650
Obsługa pilota uniwersalnego RCU650 RCU650 jest pilotem uniwersalnym 5 w 1 przeznaczonym do obsługi do telewizorów, amplitunerów, wzmacniaczy, odtwarzaczy BD i DVD, odtwarzaczy CD, nagrywarek, różnych
Instrukcja obsługi. Czujnik refleksyjny OJ / / 2005
Instrukcja obsługi R Czujnik refleksyjny OJ 701809 / 0 0 / 005 Funkcje i własności W połączeniu z odbłyśnikiem lub folią refleksyjną, czujnik refleksyjny wykrywa przeźroczyste obiekty i materiały w sposób
Bufor danych USB jednorazowego użytku EBI 330-T30/EBI 330-T85 Nr produktu
INSTRUKCJA OBSŁUGI Bufor danych USB jednorazowego użytku EBI 330-T30/EBI 330-T85 Nr produktu 000101609 Strona 1 z 5 Bufor danych USB jednorazowego użytku EBI 330-T30/EBI 330-T85 Opis Bufor danych serii
1.1 Co to jest USBCOM?... 3 1.2 Budowa oraz parametry techniczne... 3
2014 Konwerter USBCOM Instrukcja obsługi www.barion-st.com 2014-09-30 2 SPIS TREŚCI 1. WSTĘP... 3 1.1 Co to jest USBCOM?... 3 1.2 Budowa oraz parametry techniczne... 3 2. OBSŁUGA URZĄDZENIA... 5 2.1 Instalacja
DŁUGOPIS Z KAMERĄ 1. Wprowadzenie
DŁUGOPIS Z KAMERĄ 1. Wprowadzenie Rewelacyjny długopis który jest rejestratorem wideo w wysokiej rozdzielczości, Możesz nim nagrywać filmy w wysokiej rozdzielczości wideo, nagrywać dobrej jakości dźwięk
Płytka uruchomieniowa XM32
2015 Płytka uruchomieniowa XM32 Instrukcja obsługi - www.barion-st.com 2015-08-07 2 SPIS TREŚCI 1. WSTĘP... 3 1.1 Co to jest XM32?... 3 1.2 Budowa oraz parametry techniczne... 3 1.3 Schemat połączeń...
Kod produktu: MP01611-ZK
ZAMEK BEZSTYKOWY RFID ZE ZINTEGROWANĄ ANTENĄ, WYJŚCIE RS232 (TTL) Moduł stanowi gotowy do zastosowania bezstykowy zamek pracujący w technologii RFID dla transponderów UNIQUE 125kHz, zastępujący z powodzeniem
LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU
LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU Ćwiczenie 9 STEROWANIE ROLETAMI POPRZEZ TEBIS TS. WYKORZYSTANIE FUNKCJI WIELOKROTNEGO ŁĄCZENIA. 2 1. Cel ćwiczenia. Celem ćwiczenia jest nauczenie przyszłego użytkownika
DWUKIERUNKOWY REGULATOR SILNIKA DC VDC 20A
DWUKIERUNKOWY REGULATOR SILNIKA DC 12-24 VDC 20A Regulator przeznaczony do silników prądu stałego DC o napięciu 12-24V i prądzie max 20A. Umożliwia płynną regulację prędkości obrotowej, zmianę kierunku