Teraz możesz kupić zestaw ponad 70 elementów niezbędnych do przeprowadzenia ćwiczeń z kursu u naszych dystrybutorów!

Wielkość: px
Rozpocząć pokaz od strony:

Download "Teraz możesz kupić zestaw ponad 70 elementów niezbędnych do przeprowadzenia ćwiczeń z kursu u naszych dystrybutorów!"

Transkrypt

1 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 oraz losowaniu liczb. Sprawdzimy również, jak łatwo informacje, które trafiają do PC przedstawić w formie wykresu! rysowanie wykresów Oczywiście IDE z czasem się zmienia. Niedawno pojawiła się tam bardzo wygodna opcja, która pozwala na szybkie rysowanie wykresów z informacji przesyłanych przez UART. Aby móc korzystać z tego narzędzia potrzebujemy nowej wersji IDE, jeśli instalowałeś je niedawno i w menu narzędzia widzisz dwie opcje: Szeregowy monitor oraz Monitor portu szeregowego, to nie musisz już nic robić. Nowe pozycje w menu IDE. Niestety, ale nazwy obu opcji w polskiej wersji językowej IDE są delikatnie mówiąc mało intuicyjne i mylące. Poprzednio używany przez nas terminal znajduje się teraz pod opcją: Szeregowy monitor. Jeśli widzisz tylko jedną opcję tego typu, to zaktualizuj swoje IDE. Najnowsza wersja dostępna jest oczywiście za darmo na stronie projektu. Aby rysować wykres musimy, najlepiej w regularnych, odstępach wysyłać do komputera liczby w nowej linii. Na początku stwórzmy układ, który będzie rysował wykres napięcia mierzonego na wejściu A, do którego podłączymy potencjometr w roli dzielnika napięcia. 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!

2 Schemat podłączenia układu wygląda następująco: Potencjometr podłączony do A. Standardowa wersja programu wysyłającego dane do terminala wyglądałaby następująco: 0 int odczytanawartosc = 0; Serial.begin(00); //Uruchomienie komunikacji przez USART odczytanawartosc = analogread(a); //Odczytujemy wartość napięcia Serial.println(odczytanaWartosc); //Wysyłamy ją do terminala delay(00); //Czekamy, aby wygodniej odczytywać wyniki Korzystając z opcji Szeregowy monitor, podczas kręcenia potencjometrem, zobaczymy taki efekt: Zmiany napięcia na A. Mało czytelnie prawda? Wystarczy jednak włączyć drugą opcję, czyli Monitor portu szeregowego, a naszym oczom ukaże się znacznie bardziej czytelniejszy efekt. Będzie to wykres, przykład dla pomiarów, gdy zmieniałem ręcznie ustawienia potencjometru:

3 Pomiar napięcia na A, wykres w. Prawda, że znacznie czytelniej? Kiedy w praktyce przydają się takie opcje? Oczywiście wtedy, gdy korzystamy z czujników (odległości, temperatury itd.). Tak się składa, że w poprzedniej części kursu omówiliśmy obsługę czujnika odległości HC-SR0. Spróbujmy narysować więc wykres mierzonej odległości! wykres odległości od przeszkody W tym celu wracamy do schematu montażowego z poprzedniego artykułu: Schemat podłączenia czujnika odległości. Uruchamiamy również kod napisany podczas poprzedniej lekcji. Należy wprowadzić tylko dwie zmiany. Pierwsza, to wyświetlanie wyniku w nowej linii bez jednostki. Druga, to odrobina większa częstotliwość pomiarów dzięki temu wykres będzie bardziej płynny. 0 #define trigpin #define echopin Serial.begin (00); pinmode(trigpin, OUTPUT); //Pin, do którego podłączymy trig jako wyjście pinmode(echopin, INPUT); //a echo, jako wejście long czas, dystans; digitalwrite(trigpin, LOW); delaymicroseconds(); digitalwrite(trigpin, HIGH); delaymicroseconds(0);

4 0 digitalwrite(trigpin, LOW); czas = pulsein(echopin, HIGH); dystans = czas / ; Serial.println(dystans); delay(00); Gotowe? Pora uruchomić narzędzie do rysowania wykresów. Tutaj może być różnie czasami zadziała, a czasami nie. Dlaczego? Przy korzystaniu z takich czujników zawsze ryzykujemy, że odbierzemy pewne zakłócenia. W przypadku tego czujnika odległości zakłócenie może spowodować, że wyślemy do komputera informację o błędnym pomiarze. Na poniższym zrzucie ekranu widać, że jeden z pierwszych pomiarów wskazał odległość wynoszącą 000 cm. Nie jest to możliwe, jeśli producent zadeklarował maksymalny pomiar na 00 cm. Błędny odczyt z czujnika. Spowodowało to automatyczne dobranie skali na wykresie, które utrudnia odczytanie późniejszych, poprawnych wyników. Jak temu zaradzić? Najlepiej programowo. Dodajmy prosty warunek, który będzie sprawdzał jaką wartość wysyłamy do komputera. Może on wyglądać np. tak: if (dystans > 00) { //Jeśli obliczona odległość jest większa od 00 dystans = 00; //to ustaw ją na 00 (max wskazane przez producenta) Dzięki temu nigdy nie wyślemy do komputera wartości, która wykracza za zakres czujnika. Zmienna dystans została zadeklarowana jako liczba dodatnia, więc wystarczy sprawdzać górny zakres. Nie musimy kontrolować dolnego. Cały program po zmianach wygląda tak: 0 #define trigpin #define echopin Serial.begin (00); pinmode(trigpin, OUTPUT); //Pin, do którego podłączymy trig jako wyjście pinmode(echopin, INPUT); //a echo, jako wejście long czas, dystans; digitalwrite(trigpin, LOW); delaymicroseconds(); digitalwrite(trigpin, HIGH); delaymicroseconds(0); digitalwrite(trigpin, LOW);

5 0 czas = pulsein(echopin, HIGH); dystans = czas / ; if (dystans > 00) { //Jeśli obliczona odległość jest większa od 00 dystans = 00; //to ustaw ją na 00 (max wskazane przez producenta) Serial.println(dystans); delay(00); Teraz wykres za każdym razem będzie wyglądał poprawnie: Wykres odległości wersja poprawna. Podczas nagrywania pomiarów przesuwałem szybko przeszkodę przed czujnikiem. Jak widać, kilka razy nasze ograniczenie uchroniło nas przed błędnymi pomiarami. Przy okazji warto zwrócić uwagę, jak rysowanie wykresu ułatwia zauważenie problemów z jakością odczytów z sensora! Tutaj np.: widać stosunkowo duże szumy wartości, odczyty nie są stabilne. wykres kilku wartości Opisana funkcja rysowania wykresów pozwala również na jednoczesne rysowanie kilku wartości na jednej planszy. Aby wykorzystać tę opcję należy wysłać liczby w tej samej linii oddzielonych znakiem tabulatora, a na ich końcu powinien pojawić się znak nowej linii. W praktyce kod będzie wyglądał tak: Serial.print(Wartosc); Serial.print("\t"); // Znak tabulatora Serial.print(Wartosc); Serial.print("\t"); // Znak tabulatora Serial.print(Wartosc); Serial.print("\t"); // Znak tabulatora Serial.print(Wartosc); Serial.println(""); // Przejście do nowej linii Natomiast wykres po podstawieniu wartości losowych wyjdzie przykładowo taki:

6 Różne dane na jednym wykresie. Rysowanie wykresów może być również szczególnie przydatne, gdy wykorzystujemy czujniki przyspieszenia lub położenia. Zachęcam do przeczytania mojego artykułu, w którym pokazałem jak wykorzystać najnowsze Genuino 0 do obrazowania jego położenia! Tam właśnie wykorzystałem jednoczesne rysowanie wykresu dla kilku wartości: Wizualizacja zmiany położenia układu. Zadanie domowe 0. Wykorzystaj w praktyce możliwość rysowania jednocześnie kilku wykresów. Do podłącz dwa fotorezystory robiliśmy to już w innych lekcjach. Następnie mierz napięcie odzwierciedlające poziom światła padającego na każdy z czujników. Obie wartości zaprezentuj na jednym wykresie. Pochwal się w komentarzu zrzutem ekranu przedstawiającym Twój wykres! liczby losowe Czasami oczekujemy, aby program działał w sposób nieprzewidywalny. Praktyczny przykład? Robot, który po wykryciu przeszkody obraca się o losowy kąt lub prosta gra, w której komputer wykonuje swój ruch z nieprzewidywalnym opóźnieniem. W poprzednim przykładzie użyłem właśnie takich wartości, aby zademonstrować jednoczesne rysowanie wykresów dla różnych danych.

7 niestety nie może rzucić kośćmi do gry W tym miejscu przydaje się funkcja zwracająca losową wartość. Jednak mówiąc szczerze, liczba ta nie będzie zupełnie nieprzewidywalna. Dlatego w przypadku komputerów/mikrokontrolerów mówimy o liczbach pseudolosowych. Jest to temat dość rozbudowany i nie będziemy się tutaj nim zajmować. Warto jednak zapamiętać, że wartości losowane przez komputer z punktu widzenia statystyki nie są idealnie losowe (w dużym uproszczeniu pisząc). Za zwracanie losowej wartości odpowiedzialna jest funkcjarandom();, która może przyjąć dwa argumenty. Dzięki nim kształtujemy zakres, z jakiego losowane są liczby. W praktyce funkcję najczęściej wykorzystujemy na jeden z dwóch sposobów. Z podaniem wyłącznie górnego zakresu: random(00); //Liczba losowa z zakresu 0- Wtedy zwrócona wartość będzie liczbą z zakresu od 0 do liczby o jeden mniejszej od tej wpisanej w nawiasie. Możemy również wpłynąć na dolne ograniczenie zakresu. W tym celu wystarczy dodać drugi argument: random(00, 00); //Liczba losowa z zakresu 00- Zapamiętaj! Maksymalna wylosowana liczba będzie zawsze o mniejsza od podanego przez nas górnego zakresu! Pora sprawdzić działanie tej funkcji w praktyce. W tym celu napiszmy najbanalniejszy program, jaki tylko można wykonać. Jego zadaniem jest losowanie liczb w odstępach sekundy i wyświetlanie ich w terminalu (opcja Szeregowy monitor w menu Narzędzia ): Serial.begin(00); Serial.println(random(00)); delay(000); Zgodnie z zapowiedzią w terminalu oczekujemy losowych wartości. Sprawdźmy:

8 Wynik pierwszego uruchomienia programu. Chcieliśmy losowe dane i mamy. Teraz uruchommy wgrany program kilka kolejnych razy. Zgodnie z oczekiwaniami za każdym razem liczby losowe powinny być inne, prawda? trzecie uruchomienie, czwarte uruchomienie,

9 piąte uruchomienie. Niestety, za każdym razem otrzymujemy identyczny ciąg. Tak jak pisałem losowość zwracanych liczb jest trochę oszukana. Mikrokontroler na pokładzie, to bardzo precyzyjny układ, który wykonuje kolejne, zaprogramowane operacje. W jego świecie nie istnieją wartości losowe. Jak można się domyślać losowe liczby generuje wykonując pewne określone operacje na poprzednio wylosowanej wartości. Stąd taki sam początek sprawia, że kolejne liczby są identyczne. Aby poprawić działanie algorytmu losującego najlepiej byłby przed każdym jego startem zaczynać od podania innej wartości jako tej pierwszej, początkowej. Ta liczba, na podstawie której generowane są następne nosi nazwę ziarna/zarodka, w języku angielskim określona jest ona jako random seed. Więcej na ten temat znaleźć można na Wikipedii (hasło: generator liczb pseudolosowych). Dla nas najważniejsze jest, że w języku występuje również takie pojęcie mamy wpływ na owe ziarno. Służy do tego funkcja: randomseed(wartosc_poczatkowa); W jej argumencie, zaznaczonym tutaj jako wartosc_poczatkowa, należy podać za każdym razem losową wartość. Ale namieszałem, prawda? Aby losować liczby, potrzebujemy losowej wartości. Macie pomysł jak to uzyskać? Jeśli nie, to zerknijcie to lekcji o przetworniku ADC w. Co dzieje się, gdy do odczytywanego wejście nie podłączymy żadnego sygnału? Wtedy zbieramy śmieci z otoczenia, które są właśnie losowe. Do tej pory było to dla nas problemem. Jednak tutaj wykorzystamy te wartości w słusznym celu. Aby nasze korzystało z bardziej losowych liczb możemy na początku zrobić tak: randomseed(analogread(a0)); Dzięki temu, przy każdym starcie programu zmierzymy losowe napięcie panujące na wejściu A0. Dalej wartość ta zostanie podana jako ziarno do generatora liczb pseudolosowych. Oczywiście całość zadziała najlepiej, jeśli wejście A0 nie będzie wykorzystywane jako standardowe wejście/wyjście. Poprawmy szybko nasz program i sprawdźmy go w praktyce: Serial.begin(00); randomseed(analogread(0)); Serial.println(random(00)); delay(000); Od teraz, po każdym uruchomieniu otrzymamy inne wartości:

10 Pierwsze uruchomienie, drugie uruchomienie, trzecie uruchomienie. Oczywiście nadal nie jest to idealny generator liczb losowych, jednak w takiej formie wystarczy on do wykorzystania w zdecydowanej większości projektów tworzonych na bazie. Zadanie domowe 0. Sprawdź, co stanie się, jeśli zamiast ziarna odczytywanego z wejścia analogowego wpiszemy tam stałą wartość. Jak wtedy zachowa się generator liczb pseudolosowych? Zadanie domowe 0. Napisz program, który działa jak elektroniczna kostka do gry. Do podłącz przycisk. Każde jego wciśnięcie powinno wysyłać do komputera (prze UART) wylosowaną wartość oczywiście z zakresu od do. Losowe miganie diodą 0

11 Wykorzystajmy zdobytą wiedzą do napisania programu, który będzie migał diodą wbudowaną w w sposób losowy. Załóżmy, że długość świecenia ma wahać się od około 00ms do 0ms. Natomiast czas, gdy dioda jest wyłączona będzie w granicach 0-0ms. Obie wartości powinny zmieniać się w odstępach, co 0 ms. W tym celu potrzebować będziemy dwóch wartości losowych: int czaswlaczona = random(00, 000); int czaswylaczona = random(0, 00); Tak wylosowane wartości moglibyśmy wstawić do funkcji opóźniającej delay, jednak wtedy opóźnienie mogłoby przyjmować wartości np.: od 00 do, czyli nie zachowalibyśmy założonych odstępów o 0ms. Jak to naprawić? Wystarczy, że będziemy losować wartości 0 razy mniejsze, które pomnożymy razy 0 przed podstawieniem ich do funkcji opóźniającej: int czaswlaczona = random(0, 00); //Wartość z zakresu 0 - int czaswylaczona = random(, 0); //Wartość z zakresu - czaswlaczona = czaswlaczona * 0; //Wartość z zakresu 00-0, skok co 0 czaswylaczona = czaswylaczona * 0; //Wartość z zakresu 0-0, skok co 0 Teraz wartości te można podstawić już do programu: 0 pinmode(, OUTPUT); randomseed(analogread(0)); int czaswlaczona = random(0, 00); //Wartość z zakresu 0 - int czaswylaczona = random(, 0); //Wartość z zakresu - czaswlaczona = czaswlaczona * 0; //Wartość z zakresu 00-0, skok co 0 czaswylaczona = czaswylaczona * 0; //Wartość z zakresu 0-0, skok co 0 digitalwrite(, HIGH); delay(czaswlaczona); digitalwrite(, LOW); delay(czaswylaczona); W praktyce dioda miga, tak jak chcieliśmy, czyli zupełnie losowo! Łączenie instrukcji warunkowych Już na samym początku kursu zajęliśmy się instrukcjami warunkowymi, które są używane do sterowania pracą programu w zależności od pewnych informacji. Najczęściej sprawdzaliśmy tylko jeden warunek, np.: Czy przycisk został wciśnięty?. W programie wyglądało to następująco: if (digitalread() == LOW) { //Jeśli przycisk wciśnięty //Zrób coś else { //Jeśli warunek nie został spełniony (przycisk nie jest wciśnięty) //Zrób coś innego... W praktyce często może się zdarzyć, że będziemy chcieli sprawdzić jednocześnie dwa warunki. Najprostszym przykładem będzie sprawdzenie, czy użytkownik wcisnął więcej niż jeden przycisk. Oczywiście można to zrobić tradycyjnie: if (digitalread() == LOW) { //Jeśli pierwszy przycisk wciśnięty, sprawdź... if (digitalread() == LOW) { //...czy wciśnięto również drugi przycisk //Zrób coś Rozwiązanie jest skuteczne, jednak pojawią się pewne problemy z czytelnością takie zapisu, gdy będziemy chcieli sprawdzić jednocześnie jeszcze więcej warunków. Dlatego zdecydowanie łatwiej będzie, gdy poznamy dwa operatory logiczne:

12 . Iloczyn logiczny &&. Suma logiczna O takiej możliwości wspomniałem już w poprzedniej części kursu. Teraz rozwiniemy ten temat. Pierwszy z nich wykorzystamy, gdy będziemy chcieli sprawdzić, czy: warunek pierwszy i warunek drugi został spełniony if (warunek == && warunek == ) Drugi z nich służy natomiast do sprawdzania, czy: spełniony został warunek pierwszy lub warunek drugi (lub oba) if (warunek == warunek == ) Łączenie warunków w praktyce W tym celu podłączmy do dwie diody (zieloną i czerwoną) oraz dwa przyciski. Schemat montażowy wygląda następująco: Schemat montażowy do przykładu z operatorami logicznymi. Teraz napiszmy program, który będzie włączał diodę zieloną, gdy wciśniemy jeden z dwóch przycisków. Kod może wyglądać np. tak: 0 pinmode(0, INPUT_PULLUP); //Przycisk jako wejście pinmode(, INPUT_PULLUP); //Przycisk jako wejście pinmode(, OUTPUT); //Dioda zielona jako wyjście pinmode(, OUTPUT); //Dioda czerwona jako wyjście digitalwrite(, LOW); //Wyłączenie diody zielonej digitalwrite(, LOW); //Wyłączenie diody czerwonej if (digitalread() == LOW digitalread(0) == LOW) { //Jeśli przycisk pierwszy lub drugi digitalwrite(, HIGH); //Włącz diodę zieloną else { digitalwrite(, LOW); //Wyłącz diodę zieloną W praktyce najważniejsza część tego programu ogranicza się do jednej linijki. Konkretnie warunku, w którym za jednym razem sprawdzamy stany dwóch przycisków. Jeśli przynajmniej jeden z nich został wciśnięty, to dioda zostanie włączona. Nasz program sprawdza, czy spełniono przynajmniej jeden warunek. W związku z tym dioda będzie również świeciła, gdy jednocześnie wciśniemy oba przyciski. Rozbudujmy trochę program i dodajmy osobny warunek, który będzie włączał diodę czerwoną, tylko gdy jednocześnie wciśniemy oba przyciski:

13 0 0 pinmode(0, INPUT_PULLUP); //Przycisk jako wejście pinmode(, INPUT_PULLUP); //Przycisk jako wejście pinmode(, OUTPUT); //Dioda zielona jako wyjście pinmode(, OUTPUT); //Dioda czerwona jako wyjście digitalwrite(, LOW); //Wyłączenie diody zielonej digitalwrite(, LOW); //Wyłączenie diody czerwonej if (digitalread() == LOW digitalread(0) == LOW) { //Jeśli przycisk pierwszy lub drugi digitalwrite(, HIGH); //Włącz diodę zieloną else { digitalwrite(, LOW); //Wyłącz diodę zieloną if (digitalread() == LOW && digitalread(0) == LOW) { //Jeśli przycisk pierwszy i drugi digitalwrite(, HIGH); //Włącz diodę zieloną else { digitalwrite(, LOW); //Wyłącz diodę zieloną Działanie ostatecznej wersji programu widoczne jest na poniższym filmie: Praktyczny przykład czujnik odległości Powyższe przykłady pokazywały, że układ działa, ale nie były zbyt użyteczne. Spróbujmy teraz zrobić coś bardziej praktycznego. Podłączmy do przycisk, czujnik odległości oraz buzzer. Układ będzie miał piszczeć brzęczykiem, jeśli przeszkoda znajdzie się w odległości między 0, a 0 cm lub, gdy wciśniemy przycisk. Wyjdzie nam z tego połączenie czujników parkowania z klaksonem! Do dzieła, najpierw łączymy potrzebny obwód. Aby było trochę trudniej, tym razem zamiast schematu montażowego podaję listę połączeń + pomocnicze zdjęcie. Na tym etapie kursie wszyscy powinni już dać radę złożyć taki układ samodzielnie: o trigpin czujnika odległości do pinu nr o echopin czujnika odległości do pinu nr o buzzer do pinu nr o przycisk do pinu nr 0 Oczywiście dodatkowo należy podłączyć odpowiednio zasilanie Vcc (szynę dodatnią) do czujnika odległości, natomiast masę do buzzera, przycisku oraz oczywiście również do czujnika. U mnie w praktyce wyglądało to tak: Kurs układ do testowania łączenia warunków w praktyce. Pora na napisanie programu. Odczytywać odległość już potrafimy, tak samo sprawdzanie stanu przycisku nie stanowi już dla nas żadnego problemu. Dlatego skupimy się na przeanalizowaniu warunku. Tak jak napisałem, zależy nam na włączenie buzzera, gdy odczytana odległość znajduje się w zakresie od 0 do 0 cm. W tym celu musimy sprawdzić, czy odczytana wartość jest większa od 0 i jednocześnie mniejsza od 0 cm. Zrobimy to oczywiście w jednym warunku:

14 if (dystans > 0 && dystans < 0) { digitalwrite(, HIGH); //Włącz buzzer else { digitalwrite(, LOW); //Wyłącz buzzer Teraz pora na obsłużenie przycisku. Oczywiście moglibyśmy rozbić to na dwa osobne warunki: 0 if (dystans > 0 && dystans < 0) { digitalwrite(, HIGH); //Włącz buzzer else { digitalwrite(, LOW); //Wyłącz buzzer if (digitalread(0) == LOW) { //Jeśli przycisk wciśnięty digitalwrite(, HIGH); //Włącz buzzer else { digitalwrite(, LOW); //Wyłącz buzzer Tylko po co? Nie powinniśmy powielać tych samych fragmentów kody, gdy tego nie musimy. W tym wypadku zbędne jest ponowne sterowanie włączeniem i wyłączeniem buzzera. Czy nie możemy warunku połączyć w jeden? Oczywiście, że możemy! Sprawdzimy czy: (zmierzony dystans jest większy od 0 i mniejszy od 0) lub (czy wciśnięto przycisk) Przekładając to na język zrozumiały dla komputera będzie to: if ((dystans > 0 && dystans < 0) digitalread(0) == LOW) { digitalwrite(, HIGH); //Włącz buzzer else { digitalwrite(, LOW); //Wyłącz buzzer Tym samym cały program prezentuje się następująco: #define trigpin #define echopin pinmode(trigpin, OUTPUT); //Pin, do którego podłączymy trig jako wyjście pinmode(echopin, INPUT); //a echo, jako wejście pinmode(0, INPUT_PULLUP); //Przycisk jako wejście pinmode(, OUTPUT); //Buzzer jako wyjście digitalwrite(, LOW); //Wyłączenie buzzera long czas, dystans; digitalwrite(trigpin, LOW); delaymicroseconds(); digitalwrite(trigpin, HIGH); delaymicroseconds(0); digitalwrite(trigpin, LOW); czas = pulsein(echopin, HIGH); dystans = czas / ; if ((dystans > 0 && dystans < 0) digitalread(0) == LOW) { digitalwrite(, HIGH); //Włącz buzzer else { digitalwrite(, LOW); //Wyłącz buzzer W praktyce program działa dokładnie tak jak przewidywaliśmy. Na poniższym filmie widać, że buzzer wydaje dźwięk, gdy przeszkoda znajduje się w odpowiedniej odległości lub, gdy wciśniemy przycisk:

15 Pamiętasz wcześniejsze wykresy rysowane z odczytów tego czujnika? To właśnie te zakłócenia/piki sprawiają, że czasami słyszymy delikatne piknięcia. Oczywiście można je programowo filtrować, jeszcze kiedyś do tego wrócimy! Wykorzystanie operatorów logicznych do łączenia warunków jest bardzo proste, a ich odpowiednie użycie pozwala na rozwiązywanie naprawdę zawiłych problemów. Polecam potrenować we własnym zakresie rozbudowane warunki, chociażby rozwiązując poniższe zadanie domowe. Zadanie domowe 0. Napisz programy, które losują liczbę z zakresu 0-00, a następnie sprawdzają, czy wylosowana wartość jest:. mniejsza od 0 lub większa od 0. większa od 0, ale nie mieści się w przedziale 0-. równa 0, 0, 0 lub 0. mieści się w zakresie od 0 do 0 lub od 0 do 00 W każdym przypadku wyświetl na PC wylosowaną liczbę oraz informację, czy spełnia warunek. Podsumowanie Mam nadzieję, że wiedza, którą zdobyłeś podczas wykonywania ćwiczeń z tego odcinka kursu pomoże Ci w pisaniu jeszcze ciekawszych programów. Bardzo często, dla własnej wygody, będziesz korzystał z łączenia warunków oraz rysowania wykresów. Poświęć odpowiednią ilość czasu na opanowanie tego materiału. W kolejnym artykule na zajmiemy się sprawdzeniem zdobytej tu wiedzy! Tak, pora na mały QUIZ, który pozwoli na ocenę swoich umiejętności. Będzie to sygnał dla Was, czy możecie iść już dalej, czy warto wrócić do niektórych lekcji. Pojawią się również konkretne informacje dotyczące kontynuacji kursu, czyli poziomu II.

Notatka lekcja_#3_1; na podstawie W.Kapica 2017 Strona 1

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

Bardziej szczegółowo

LABORATORIUM - ELEKTRONIKI Układy mikroprocesorowe cz.2

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

Bardziej szczegółowo

Uwaga: dioda na wyjściu 13 świeci gdy na wyjście podamy 0.

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

Bardziej szczegółowo

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:

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

Bardziej szczegółowo

Pomiar odległości z Arduino czujniki, schematy, przykładowe kody

Pomiar odległości z Arduino czujniki, schematy, przykładowe kody Pomiar odległości z Arduino czujniki, schematy, przykładowe kody W robotyce, mechatronice czy modelarstwie do rozwiązania jest problem pomiaru odległości do czegoś, na przykład do ściany lub do kogoś idącego

Bardziej szczegółowo

Rafał Staszewski Maciej Trzebiński, Dominik Derendarz

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

Bardziej szczegółowo

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

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

Bardziej szczegółowo

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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:

Bardziej szczegółowo

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nazwa implementacji: Nauka języka Python wyrażenia warunkowe Autor: Piotr Fiorek Opis implementacji: Poznanie wyrażeń warunkowych if elif - else. Nasz kalkulator umie już liczyć, ale potrafi przeprowadzać

Bardziej szczegółowo

Kurs Arduino #2 podstawy programowania, porty I/O. 2 //Zawartość programu. 1 int main() { void setup() { //Instrukcje, które wykonają się jeden raz

Kurs Arduino #2 podstawy programowania, porty I/O. 2 //Zawartość programu. 1 int main() { void setup() { //Instrukcje, które wykonają się jeden raz 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

Bardziej szczegółowo

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

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

Bardziej szczegółowo

Kl 7-8 Szkoła Podstawowa

Kl 7-8 Szkoła Podstawowa Temat: Hello World! Hello Codey! Kl 7-8 Szkoła Podstawowa Przedmiot: informatyka Autor: Sylwester Zasoński Czas trwania: 1h lekcyjna Cele ogólne: Rozwijanie kompetencji miękkich (umiejętność pracy zespołowej,

Bardziej szczegółowo

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego

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:

Bardziej szczegółowo

sygnałów cyfrowych przetwornikiem analogowo-cyfrowym Krótki wstęp teoretyczny Wysokim niskim chcielibyśmy poznać dokładną odległość od przeszkody

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

Bardziej szczegółowo

Lekcja 3: Pierwsze kroki z Pythonem. Pętle

Lekcja 3: Pierwsze kroki z Pythonem. Pętle #SuperKoderzy www.superkoderzy.pl Mikrobitowcy Autorzy: Filip Kłębczyk Lekcja 3: Pierwsze kroki z Pythonem. Pętle Podczas lekcji uczniowie zapoznają się z dwoma rodzajami pętli - for i while - analizując

Bardziej szczegółowo

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 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

Bardziej szczegółowo

Oscyloskop (007; ; arduino; processing)

Oscyloskop (007; ; arduino; processing) Oscyloskop (007; 20.07.2009; arduino; processing) Sposób prezentacji danych pomiarowych w środowisku Processing opisany w artykule o pomiarze natężenia światła jest obrazowy, jednak mało przydatny. Przedstawię

Bardziej szczegółowo

lekcja 8a Gry komputerowe MasterMind

lekcja 8a Gry komputerowe MasterMind lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych

Bardziej szczegółowo

Zmierzyć się z żywiołami, czyli jak zbudować własną stację badawczą! Zaczynamy! Pole komunikatów programu. Nawigacja w programie Arduino

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

Bardziej szczegółowo

Wyniki (prawie)końcowe - Elektroniczne warcaby

Wyniki (prawie)końcowe - Elektroniczne warcaby Wyniki (prawie)końcowe - Elektroniczne warcaby Zbigniew Duszeńczuk 14 czerwca 2008 Spis treści 1 Stan realizacji projektu na dzień 14 czerwca 2008 2 2 Najważniejsze cechy projektu 2 2.1 Użyte elementy..............................

Bardziej szczegółowo

1. Opis aplikacji. 2. Przeprowadzanie pomiarów. 3. Tworzenie sprawozdania

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

Bardziej szczegółowo

Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia

Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia Scenariusz lekcji Ozobot w klasie: Tabliczka mnożenia Opracowanie scenariusza: Richard Born Adaptacja scenariusza na język polski: mgr Piotr Szlagor Tematyka: Informatyka, matematyka, obliczenia, algorytm

Bardziej szczegółowo

Instrukcja warunkowa i złoŝona.

Instrukcja warunkowa i złoŝona. Instrukcja warunkowa i złoŝona. Budowa pętli warunkowej. JeŜeli mielibyśmy przetłumaczyć instrukcję warunkową to brzmiałoby to mniej więcej tak: jeŝeli warunek jest spełniony, to wykonaj jakąś operację

Bardziej szczegółowo

Liczby losowe i pętla while w języku Python

Liczby losowe i pętla while w języku Python Liczby losowe i pętla while w języku Python Mateusz Miotk 17 stycznia 2017 Instytut Informatyki UG 1 Generowanie liczb losowych Na ogół programy są spójne i prowadzą do przewidywanych wyników. Czasem jednak

Bardziej szczegółowo

tinyesp WiFi Kontroler

tinyesp WiFi Kontroler tinyesp WiFi Kontroler Instrukcja 1 tinyesp to prosty kontroler WiFi oparty na popularnym module ESP8266 (4 MB) i doskonałym oprogramowaniu open source ESP_Easy. Poniżej znajduje się krótki krótki opis

Bardziej szczegółowo

kodowanienaekranie.pl

kodowanienaekranie.pl Temat: Naucz się tekstowego języka Python z Codey Rocky - część 1 Zdarzenia kl7-8 Szkoła Podstawowa Przedmiot: informatyka Autor: Sylwester Zasoński Czas trwania: 1h lekcyjna Cele ogólne: Rozwijanie kompetencji

Bardziej szczegółowo

Schemat blokowy architektury AVR

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

Bardziej szczegółowo

2.1. Duszek w labiryncie

2.1. Duszek w labiryncie https://app.wsipnet.pl/podreczniki/strona/38741 2.1. Duszek w labiryncie DOWIESZ SIĘ, JAK sterować duszkiem, stosować pętlę zawsze, wykorzystywać blok warunkowy jeżeli. Sterowanie żółwiem, duszkiem lub

Bardziej szczegółowo

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji

Podstawy programowania Laboratorium. Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Podstawy programowania Laboratorium Ćwiczenie 2 Programowanie strukturalne podstawowe rodzaje instrukcji Instrukcja warunkowa if Format instrukcji warunkowej Przykład 1. if (warunek) instrukcja albo zestaw

Bardziej szczegółowo

Bufor danych USB jednorazowego użytku EBI 330-T30/EBI 330-T85 Nr produktu

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

Bardziej szczegółowo

Dalmierze firmy SHARP na przykładzie 2D120XJ100F

Dalmierze firmy SHARP na przykładzie 2D120XJ100F Często w robotach zachodzi potrzeba zmierzenia dystansu, od robota do przeszkody. Wtedy z pomocą przychodzą nam gotowe dalmierze firmy SHARP. Zależnie od modelu mogą one mierzyć dystans z rożnych przedziałów.

Bardziej szczegółowo

Celem tego projektu jest stworzenie

Celem tego projektu jest stworzenie Prosty kalkulator Celem tego projektu jest stworzenie prostego kalkulatora, w którym użytkownik będzie podawał dwie liczby oraz działanie, które chce wykonać. Aplikacja będzie zwracała wynik tej operacji.

Bardziej szczegółowo

Kod produktu: MP01105

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,

Bardziej szczegółowo

Programowanie w Baltie klasa VII

Programowanie w Baltie klasa VII Programowanie w Baltie klasa VII Zadania z podręcznika strona 127 i 128 Zadanie 1/127 Zadanie 2/127 Zadanie 3/127 Zadanie 4/127 Zadanie 5/127 Zadanie 6/127 Ten sposób pisania programu nie ma sensu!!!.

Bardziej szczegółowo

Klawiatura matrycowa

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

Bardziej szczegółowo

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE

SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE SYSTEMY OPERACYJNE I SIECI KOMPUTEROWE WINDOWS 1 SO i SK/WIN 006 Wydajność systemu 2 SO i SK/WIN Najprostszym sposobem na poprawienie wydajności systemu, jeżeli dysponujemy zbyt małą ilością pamięci RAM

Bardziej szczegółowo

Czym jest sygnał PWM?

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.

Bardziej szczegółowo

Rejestratory Sił, Naprężeń.

Rejestratory Sił, Naprężeń. JAS Projektowanie Systemów Komputerowych Rejestratory Sił, Naprężeń. 2012-01-04 2 Zawartość Typy rejestratorów.... 4 Tryby pracy.... 4 Obsługa programu.... 5 Menu główne programu.... 7 Pliki.... 7 Typ

Bardziej szczegółowo

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 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

Bardziej szczegółowo

wbudowany system do głosowania Avtek TS Pro3 / Pro4K

wbudowany system do głosowania Avtek TS Pro3 / Pro4K głosowanie wbudowany system do głosowania Avtek TS Pro3 / Pro4K Opis System do głosowania i testów wybudowany w monitory interaktywne Avtek pozwala na szybkie przeprowadzenie głosowania wśród zgromadzonych

Bardziej szczegółowo

głosowanie wbudowany system do głosowania Avtek TS Pro3 / Pro4K

głosowanie wbudowany system do głosowania Avtek TS Pro3 / Pro4K głosowanie wbudowany system do głosowania Avtek TS Pro3 / Pro4K Opis System do głosowania i testów wybudowany w monitory interaktywne Avtek pozwala na szybkie przeprowadzenie głosowania wśród zgromadzonych

Bardziej szczegółowo

Przykład programowania PLC w języku drabinkowym - ćwiczenie 6

Przykład programowania PLC w języku drabinkowym - ćwiczenie 6 Przykład programowania PLC w języku drabinkowym - ćwiczenie 6 1. Cel ćwiczenia Zapoznanie się z podstawowymi elementami języka drabinkowego i zasadami programowania Programowalnych Sterowników Logicznych

Bardziej szczegółowo

Brain Game. Wstęp. Scratch

Brain Game. Wstęp. Scratch Scratch 2 Brain Game Każdy Klub Kodowania musi być zarejestrowany. Zarejestrowane kluby można zobaczyć na mapie na stronie codeclubworld.org - jeżeli nie ma tam twojego klubu sprawdź na stronie jumpto.cc/18cplpy

Bardziej szczegółowo

MultiTool instrukcja użytkownika 2010 SFAR

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

Bardziej szczegółowo

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie.

Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Część XXII C++ w Wskaźniki a tablice Wskaźniki i tablice są ze sobą w języku C++ ściśle związane. Aby się o tym przekonać wykonajmy cwiczenie. Ćwiczenie 1 1. Utwórz nowy projekt w Dev C++ i zapisz go na

Bardziej szczegółowo

Temat 20. Techniki algorytmiczne

Temat 20. Techniki algorytmiczne Realizacja podstawy programowej 5. 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych problemów; 2) formułuje ścisły opis prostej sytuacji problemowej, analizuje

Bardziej szczegółowo

Misja#3. Robimy film animowany.

Misja#3. Robimy film animowany. Po dzisiejszej lekcji będziesz: tworzyć programy animujące obiekty na ekranie komputera określać położenie i orientację obiektu w kartezjańskim układzie współrzędnych Zauważ że... Ludzkie oko charakteryzuje

Bardziej szczegółowo

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych

Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych Laboratorium - Podgląd informacji kart sieciowych bezprzewodowych i przewodowych Cele Część 1: Identyfikacja i praca z kartą sieciową komputera Część 2: Identyfikacja i użycie ikon sieci w obszarze powiadomień

Bardziej szczegółowo

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych

Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Temat 2. Zapisywanie w wybranej notacji algorytmów z warunkami i iteracyjnych Cele edukacyjne Usystematyzowanie podstawowych pojęć: algorytm z warunkami, iteracja, algorytm iteracyjny, zmienna sterująca.

Bardziej szczegółowo

Instrukcja obsługi sterownika Novitek Triton

Instrukcja obsługi sterownika Novitek Triton Instrukcja obsługi sterownika Triton I. Zastosowanie Sterownik TRITON przeznaczony jest do obsługi generatorów. Sterownik ten jest wyposażony w funkcję sterowania przekaźnikiem światła oraz przekaźnikiem

Bardziej szczegółowo

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

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/

Bardziej szczegółowo

Nawigacja po długim dokumencie może być męcząca, dlatego warto poznać następujące skróty klawiszowe

Nawigacja po długim dokumencie może być męcząca, dlatego warto poznać następujące skróty klawiszowe Zestawienie wydatków rok 2015 1 Wstaw numerację stron. Aby to zrobić przejdź na zakładkę Wstawianie i w grupie Nagłówek i stopka wybierz Numer strony. Następnie określ pozycję numeru na stronie (na przykład

Bardziej szczegółowo

SONEL ANALIZA MOBILNA

SONEL ANALIZA MOBILNA INSTRUKCJA OBSŁUGI APLIKACJI NA URZĄDZENIA Z SYSTEMEM ANDROID SONEL ANALIZA MOBILNA SONEL SA ul. Wokulskiego 11 58-100 Świdnica Polska Wersja 1.0, 23.12.2016 1 Informacje podstawowe Aplikacja Sonel Analiza

Bardziej szczegółowo

Kalibracja czujnika temperatury zestawu COACH Lab II+. Piotr Jacoń. K-5a I PRACOWNIA FIZYCZNA

Kalibracja czujnika temperatury zestawu COACH Lab II+. Piotr Jacoń. K-5a I PRACOWNIA FIZYCZNA Kalibracja czujnika temperatury zestawu COACH Lab II+. Piotr Jacoń K-5a I PRACOWNIA FIZYCZNA 21. 02. 2011 I. Cel ćwiczenia: 1. Zapoznanie się z zestawem pomiarowym Coach Lab II+. 2. Kalibracja czujnika

Bardziej szczegółowo

MIKROPROCESOROWY ODSTRASZACZ DŹWIĘKOWY V2.0

MIKROPROCESOROWY ODSTRASZACZ DŹWIĘKOWY V2.0 MIKROPROCESOROWY ODSTRASZACZ DŹWIĘKOWY V2.0 INSTRUKCJA MONTAŻU I OBSŁUGI 1 2 SPIS TREŚCI BEZPIECZEŃSTWO UŻYTKOWANIA...4 ZALECENIA MONTAŻOWE...4 DANE TECHNICZNE...4 ZASTOSOWANIE...5 ZASADA DZIAŁANIA...5

Bardziej szczegółowo

AKTUATOR DO SYSTEMU DUO Q

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

Bardziej szczegółowo

Informatyka dla klas I wykresy funkcji

Informatyka dla klas I wykresy funkcji 2013 mgr Jerzy Wałaszek I LO w Tarnowie Informatyka dla klas I wykresy funkcji Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych. Autor artykułu: mgr Jerzy Wałaszek, wersja1.0

Bardziej szczegółowo

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. 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.

Bardziej szczegółowo

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.

Schematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst. Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:

Bardziej szczegółowo

6.4. Efekty specjalne

6.4. Efekty specjalne 6.4. Efekty specjalne Ile wart byłby porządny film bez efektów specjalnych. Przecież to właśnie one nadają charakter dla filmu i przykuwają uwagę widza. Dlaczego nie wykorzystać by tego w prezentacjach?

Bardziej szczegółowo

Programowanie i techniki algorytmiczne

Programowanie i techniki algorytmiczne Temat 2. Programowanie i techniki algorytmiczne Realizacja podstawy programowej 1) wyjaśnia pojęcie algorytmu, podaje odpowiednie przykłady algorytmów rozwiązywania różnych 2) formułuje ścisły opis prostej

Bardziej szczegółowo

Programowanie xcomfort Cz. I Eaton Corporation. All rights reserved.

Programowanie xcomfort Cz. I Eaton Corporation. All rights reserved. Programowanie Cz. I Spis treści 1. Skanowanie dużych instalacji WSKAZÓWKA 2. Konfiguracja modułu programowania 3. Uruchomienie programu Eaton RF PL 4. Ustawianie opcji programu Eaton RF PL 5. Uruchamianie

Bardziej szczegółowo

Na początek: do firmowych ustawień dodajemy sterowanie wyłącznikiem ściennym.

Na początek: do firmowych ustawień dodajemy sterowanie wyłącznikiem ściennym. Na początek: do firmowych ustawień dodajemy sterowanie wyłącznikiem ściennym. Mamy dwa rodzaje wyłączników ściennych: 1. Stabilny który zazwyczaj wszyscy używają do włączania oświetlenia. Nazywa się stabilny

Bardziej szczegółowo

Gra Labirynt - Zajęcia 4

Gra Labirynt - Zajęcia 4 Gra Labirynt - Zajęcia 4 Cel zajęć: Zaprogramowanie duszków-potworów, aby utrudniały przejście przez labirynt. Poznanie nowej funkcji, która umożliwi liczenie punktów za zdobyte skarby. Przekazywane umiejętności:

Bardziej szczegółowo

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

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,

Bardziej szczegółowo

Szybki start SAMOOCENA W NOR-STA

Szybki start SAMOOCENA W NOR-STA Szybki start SAMOOCENA W NOR-STA W kwadrans nauczysz się jak: oceniać zgodność ze standardem w NOR-STA przeglądać i prezentować wyniki ocen oraz generować raporty z dowolnymi wykresami i zestawieniami

Bardziej szczegółowo

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Maciek Słomka 4 czerwca 2006 1 Celprojektu. Celem projektu było zbudowanie modułu umożliwiającego wizualizację stanu czujników

Bardziej szczegółowo

Ri-Co informacje techniczne

Ri-Co informacje techniczne Ri-Co informacje techniczne DIODA sygnalizacyjna WEJŚCIA sygnałowe 3-24VAC/DC ZŁĄCZE diagnostyczne WYJŚCIA Sterujące 20mA ZASILANIE 12-24 VAC/DC Ri-Co podłączenie Sterownik należy podłączyć do napędu zgodnie

Bardziej szczegółowo

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

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

Bardziej szczegółowo

Skrypt 7. Funkcje. Opracowanie: L1

Skrypt 7. Funkcje. Opracowanie: L1 Projekt Innowacyjny program nauczania matematyki dla liceów ogólnokształcących współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego Skrypt 7 Funkcje 8. Miejsce zerowe

Bardziej szczegółowo

Szybki start SAMOOCENA W NOR-STA

Szybki start SAMOOCENA W NOR-STA Szybki start SAMOOCENA W NOR-STA W kwadrans nauczysz się jak: oceniać zgodność ze standardem w NOR-STA przeglądać i prezentować wyniki ocen oraz generować raporty z dowolnymi wykresami i zestawieniami

Bardziej szczegółowo

Obsługa pilota uniwersalnego RCU650

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

Bardziej szczegółowo

BEZPRZEWODOWY VIDEODOMOFON XT-07 2.4GHz Cyfrowa transmisja

BEZPRZEWODOWY VIDEODOMOFON XT-07 2.4GHz Cyfrowa transmisja BEZPRZEWODOWY VIDEODOMOFON XT-07 2.4GHz Cyfrowa transmisja Dziękujemy za zakup videodomofonu firmy REER ELECTRONICS Prosimy o zapoznanie się z instrukcją przed podłączeniem videodomofonu Spis treści 1.

Bardziej szczegółowo

Zastanawiałeś się może, dlaczego Twój współpracownik,

Zastanawiałeś się może, dlaczego Twój współpracownik, Kurs Makra dla początkujących Wiadomości wstępne VBI/01 Piotr Dynia, specjalista ds. MS Office Czas, który poświęcisz na naukę tego zagadnienia, to 15 20 minut. Zastanawiałeś się może, dlaczego Twój współpracownik,

Bardziej szczegółowo

Kod produktu: MP01105T

Kod produktu: MP01105T MODUŁ INTERFEJSU DO POMIARU TEMPERATURY W STANDARDZIE Właściwości: Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs do podłączenia max. 50 czujników temperatury typu DS18B20 (np. gotowe

Bardziej szczegółowo

Krótki wstęp o wyświetlaczach. Jak zmusić wyświetlacz do pracy?

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

Bardziej szczegółowo

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby

Scenariusz zajęć. Moduł VI. Projekt Gra logiczna zgadywanie liczby Scenariusz zajęć Moduł VI Projekt Gra logiczna zgadywanie liczby Moduł VI Projekt Gra logiczna zgadywanie liczby Cele ogólne: przypomnienie i utrwalenie poznanych wcześniej poleceń i konstrukcji języka

Bardziej szczegółowo

MoboLab roboty i tablety w Twojej szkole Obszar II. Stwórz własnego robota Scenariusze lekcji i zajęć pozalekcyjnych

MoboLab roboty i tablety w Twojej szkole Obszar II. Stwórz własnego robota Scenariusze lekcji i zajęć pozalekcyjnych MoboLab roboty i tablety w Twojej szkole Obszar II. Stwórz własnego robota Scenariusze lekcji i zajęć pozalekcyjnych SCENARIUSZ 5. EKSPERYMENTY Z FOTOREZYSTOREM scenariusz zajęć pozalekcyjnych autor: Wojciech

Bardziej szczegółowo

Badanie diod półprzewodnikowych

Badanie diod półprzewodnikowych Badanie diod półprzewodnikowych Proszę zbudować prosty obwód wykorzystujący diodę, który w zależności od jej kierunku zaświeci lub nie zaświeci żarówkę. Jak znaleźć żarówkę: Indicators -> Virtual Lamp

Bardziej szczegółowo

Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf("%d\n", RAND_MAX); return 0; }

Liczby pseudolosowe. #include <stdio.h> #include <stdlib.h> int main() { printf(%d\n, RAND_MAX); return 0; } Liczby pseudolosowe Standardowa biblioteka języka C w pliku nagłówkowym posiada zadeklarowane dwie funkcje służące do generowania liczb pseudolosowych: rand i srand. Funkcja srand() jako parametr

Bardziej szczegółowo

1 Wprowadzenie do algorytmiki

1 Wprowadzenie do algorytmiki Teoretyczne podstawy informatyki - ćwiczenia: Prowadzący: dr inż. Dariusz W Brzeziński 1 Wprowadzenie do algorytmiki 1.1 Algorytm 1. Skończony, uporządkowany ciąg precyzyjnie i zrozumiale opisanych czynności

Bardziej szczegółowo

Lekcja : Tablice + pętle

Lekcja : Tablice + pętle Lekcja : Tablice + pętle Wprowadzenie Oczywiście wiesz już jak dużo można osiągnąć za pomocą tablic oraz jak dużo można osiągnąć za pomocą pętli, jednak tak naprawdę prawdziwe możliwości daje połączenie

Bardziej szczegółowo

BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO

BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO Temat ćwiczenia: BEZDOTYKOWY CZUJNIK ULTRADŹWIĘKOWY POŁOŻENIA LINIOWEGO 1. Wprowadzenie Ultradźwiękowy bezdotykowy czujnik położenia liniowego działa na zasadzie pomiaru czasu powrotu impulsu ultradźwiękowego,

Bardziej szczegółowo

Długopis z ukrytą kamerą cyfrową HD

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

Bardziej szczegółowo

kodowanienaekranie.pl

kodowanienaekranie.pl Temat: Międzynarodowy Dzień Kropki Przedmiot: zajęcia komputerowe/nauczanie zintegrowane Klasy: 3-6 Autor: Sylwester Zasoński Czas trwania: 1h lekcyjna Cele ogólne: Rozwijanie kompetencji miękkich Pobudzanie

Bardziej szczegółowo

Sterownik kompaktowy Theben PHARAO II

Sterownik kompaktowy Theben PHARAO II Wydział Elektroniki Politechniki Wrocławskiej Laboratorium Automatyki Budynkowej Sterownik kompaktowy Theben PHARAO II 1. Wstęp Pherao II jest niewielkim sterownikiem kompaktowym, który charakteryzuje

Bardziej szczegółowo

SONOFF DUAL INSTRUKCJA OBSŁUGI

SONOFF DUAL INSTRUKCJA OBSŁUGI SONOFF DUAL INSTRUKCJA OBSŁUGI Witam, zapraszamy do korzystania Sonoff Podwójny! Sonoff Podwójny obsługuje połączenia dwóch urządzeń AGD i urządzeń elektronicznych, co pozwala niezależnie kontrolować je

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

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.

Bardziej szczegółowo

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?

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

Bardziej szczegółowo

Czytanie wykresów to ważna umiejętność, jeden wykres zawiera więcej informacji, niż strona tekstu. Dlatego musisz umieć to robić.

Czytanie wykresów to ważna umiejętność, jeden wykres zawiera więcej informacji, niż strona tekstu. Dlatego musisz umieć to robić. Analiza i czytanie wykresów Czytanie wykresów to ważna umiejętność, jeden wykres zawiera więcej informacji, niż strona tekstu. Dlatego musisz umieć to robić. Aby dobrze odczytać wykres zaczynamy od opisu

Bardziej szczegółowo

POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRYCZNY KATEDRA ENERGOELEKTRYKI LABORATORIUM INTELIGENTNYCH INSTALACJI ELEKTRYCZNYCH

POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRYCZNY KATEDRA ENERGOELEKTRYKI LABORATORIUM INTELIGENTNYCH INSTALACJI ELEKTRYCZNYCH POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRYCZNY KATEDRA ENERGOELEKTRYKI LABORATORIUM INTELIGENTNYCH INSTALACJI ELEKTRYCZNYCH Wprowadzenie do oprogramowania firmowego Eaton RF-System (na podstawie dokumentacji

Bardziej szczegółowo

Modułowy programowalny przekaźnik czasowy firmy Aniro.

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

Bardziej szczegółowo

Multi-CZUJNIK 68. Programowany Multi-CZUJNIK zawierający czujnik. położenia, uderzenia i spadku napięcia.

Multi-CZUJNIK 68. Programowany Multi-CZUJNIK zawierający czujnik. położenia, uderzenia i spadku napięcia. 68. Programowany zawierający czujnik położenia, uderzenia i spadku napięcia. 1. CZUJNIK POŁOŻENIA. Precyzyjny programowany czujnik położenia (czułość 2-4-8 stopni lub wyłączony), niewrażliwy na bujanie

Bardziej szczegółowo

Termometr internetowy

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...

Bardziej szczegółowo

Realizacja algorytmu z warunkiem czy Twój uczeń lubi programować? Grażyna Koba

Realizacja algorytmu z warunkiem czy Twój uczeń lubi programować? Grażyna Koba Realizacja algorytmu z warunkiem czy Twój uczeń lubi programować? Grażyna Koba Krok 1 i = 1 Jak zmotywować ucznia? START i = 1 m = 4 TAK Czy Twój uczeń lubi programować? (czy i = m?) NIE i + + Metoda [i]

Bardziej szczegółowo

Przetwornik analogowo-cyfrowy

Przetwornik analogowo-cyfrowy Przetwornik analogowo-cyfrowy Przetwornik analogowo-cyfrowy A/C (ang. A/D analog to digital; lub angielski akronim ADC - od słów: Analog to Digital Converter), to układ służący do zamiany sygnału analogowego

Bardziej szczegółowo

Część XII C++ Warunki zagnieżdżone Ćwiczenie 1 nazwisko40 2. nie przepisując komentarzy!

Część XII C++ Warunki zagnieżdżone Ćwiczenie 1 nazwisko40 2. nie przepisując komentarzy! Część XII C++ Warunki zagnieżdżone Czasami zachodzi konieczność wykonania różnych instrukcji w zależności od spełnienia nie jednego, ale kilku warunków. To tak, jakbyśmy kupowali upominek - na początku

Bardziej szczegółowo

Scenariusz lekcji Ozobot w klasie: Prezentacja liczb trójkątnych i kwadratowych

Scenariusz lekcji Ozobot w klasie: Prezentacja liczb trójkątnych i kwadratowych Scenariusz lekcji Ozobot w klasie: Prezentacja liczb trójkątnych i kwadratowych Opracowanie scenariusza: Richard Born Adaptacja scenariusza na język polski: mgr Piotr Szlagor Tematyka: Matematyka, Informatyka,

Bardziej szczegółowo

Praca w sieci zagadnienia zaawansowane

Praca w sieci zagadnienia zaawansowane Rozdział 12 Praca w sieci zagadnienia zaawansowane Współdzielenie drukarek Kolejną czynnością często wykonywaną w sieci jest udostępnianie drukarek. Rozwiązanie to odnosi się do każdego modelu drukarki

Bardziej szczegółowo

Praca i energia Mechanika: praca i energia, zasada zachowania energii; GLX plik: work energy

Praca i energia Mechanika: praca i energia, zasada zachowania energii; GLX plik: work energy Praca i energia Mechanika: praca i energia, zasada zachowania energii; GLX plik: work energy PS 86 Wersja polska: M. Sadowska UMK Toruń Potrzebny sprzęt Nr części Ilość sztuk PASPORT Xplorer GLX PS-00

Bardziej szczegółowo