Nazwa implementacji: Pamięć i zręczność - zapamiętaj kolejność. Autor: Krzysztof Bytow

Podobne dokumenty
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: Zróbmy grę - Tetris. Autor: Łukasz Ciężki

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

Schemat blokowy architektury AVR

Klawiatura matrycowa

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

Tematem projektu jest oparty na Arduino zegar pokazujący godzinę oraz datę.

SCL > Pin 21 SDA > Pin 20 VCC > 5V GND > GND

Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

Przyrząd do grania bluesa Projekt zaliczeniowy z przedmiotu Programowanie Mikrokontrolerów

Immobilizer samochodowy otwierający dostęp poprzez kod czteroznakowy.

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

Algorytmy z powrotami. Algorytm minimax

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

1. Wartość, jaką odczytuje się z obszaru przydzielonego obiektowi to: a) I - wartość b) definicja obiektu c) typ oboektu d) p - wartość

ZASTOSOWANIE PLATFORM CYFROWYCH ARDUINO I RASPBERRY PI W NAUCZANIU STEROWANIA OBIEKTEM PNEUMATYCZNYM

Systemy Wbudowane. Arduino C. Arduino C - stałe. Arduino C - Stałe. Arduino C - Stałe. Funkcje matematyczne. Arduino C - Stałe

Programowanie obiektowe

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

Prosty system alarmowy z Arduino

Pilot RF 4-kanałowy + odbiornik XY-DJM-5V umożliwia zdalne sterowanie do czterech urządzeń. Nadajnik pilot MX804. Odbiornik XY-DJM.

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

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

Arduino i nowe diody RGB

1 Wielokrotne powtarzanie tych samych operacji

Programowanie obiektowe

1 Podstawy c++ w pigułce.

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

DYNAMICZNE PRZYDZIELANIE PAMIECI

Instrukcje cykliczne (pętle) WHILE...END WHILE

Pętle i tablice. Spotkanie 3. Pętle: for, while, do while. Tablice. Przykłady

Bloki anonimowe w PL/SQL

Instrukcja dla: Icomsat v1.0 SIM900 GSM/GPRS shield for Arduino oraz dla GPRS Shield produkcji Seeedstudio.

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Problem Próby rozwiązania Maszyna stanów Inne zastosowania Podsumowanie. Maszyny stanów. Programowanie gier bez Unity, cz. 3.

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

Programowanie, algorytmy i struktury danych

Java Podstawy. Michał Bereta

Wstęp do Informatyki

1 Podstawy c++ w pigułce.

Lista dwukierunkowa - przykład implementacji destruktorów

Łukasz Wieczorek Paweł Zaleski Grupa I3 [REFLEKSOMETR] Systemy wbudowane projekt laboratoryjny.

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Języki i metody programowania Java INF302W Wykład 2 (część 1)

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

PROGRAMOWANIE MIKROKONTROLERÓW

Pętle while, for, do while, instrukcje break, continue, switch 1. Pętle

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Instrukcja wyboru, pętle. 2 wykład. Podstawy programowania - Paskal

Listing_ $crystal = deklaracja

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

Pętle. for, while, do... while, foreach. Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.

Instrukcja ST-226/ST-288

Wykład 2. Poprawność algorytmów

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Wprowadzenie do języka Java

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Kontrola przebiegu programu

Materiały do zajęć III

by Jody Culkin PIERWOTNY WZÓR BĘDĄCY PODSTAWĄ DO STWORZENIA GOTOWEGO PRODUKTU.

PILOT RGB 4-STREFY, radiowy RF, programowalny, seria SEMI MAGIC

Systemy Wbudowane. Arduino, AVR (wersja 2018) Arduino. Arduino. Oprogramowanie. Rys historyczny. Mikrokontroler

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

Projektowanie Systemów Wbudowanych

LabVIEW PLATFORMA EDUKACYJNA Lekcja 6 LabVIEW i Arduino programy wykorzystujące wyświetlacz LCD, czujnik temperatury, PWM i diodę LED

Sterowanie oświetleniem poprzez TEBIS

Budowa i generowanie planszy

Podstawy techniki mikroprocesorowej

Wykład 7 Abstrakcyjne typy danych słownik (lista symboli)

Zadanie 04 Ktory z ponizszych typow danych w jezyku ANSI C jest typem zmiennoprzecinkowym pojedynczej precyzji?

> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Pętle instrukcje powtórzeo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zofia Kruczkiewicz, Programowanie obiektowe - java, wykład 2 1

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Podejście obiektowe. Tablice (1) obiektów

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Microsoft IT Academy kurs programowania

BANKOWOŚĆ PRZEDSIĘBIORSTW

Commander

AKTUATOR DO SYSTEMU DUO Q

LABORATORIUM INTELIGENTNYCH SYSTEMÓW ELEKTRYCZNYCH

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

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

Wstęp do programowania

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Dokumentacja Techniczna. Konwerter USB/RS-232 na RS-285/422 COTER-24I COTER-24N

Opis zagadnieo 1-3. Iteracja, rekurencja i ich realizacja

Język ludzki kod maszynowy

Tablice cz. I Tablice jednowymiarowe, proste operacje na tablicach

Podstawy programowania, Poniedziałek , 8-10 Projekt, część 1

Systemy Wbudowane. Arduino C. Arduino C - stałe. Arduino C - Stałe. Arduino C - Stałe. Funkcje matematyczne. Arduino C - Stałe

2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych

Aplikacje WWW - laboratorium

Server setup. #include <SPI.h> #include <Ethernet.h> boolean incoming = 0;

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

Generator funkcyjny. Spis treści. Działanie. Interfejs. Adam Miarka Maksymilian Szczepanik

Transkrypt:

Nazwa implementacji: Pamięć i zręczność - zapamiętaj kolejność Autor: Krzysztof Bytow Opis implementacji: Budowa układu i programu do symulacji losowania jednej z sześciu liczb, jak w kostce do gry. Prezentacja wyniku losowania z wykorzystaniem diod elektroluminescencyjnych. Rozwijając wiedzę o zastosowaniu diod elektroluminescencyjnych, układ moduł-interfejsu zostaje rozbudowany o kolejne elementy. Efektem jest opracowanie implementacji pozwalającej ćwiczyć pamięć i zręczność. Schemat połączeń: 1

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

dioda LED czerwona oznaczenie kodem barwnym rezystora 220 Ω button Kod implementacji: Po złożeniu układu i jego oprogramowaniu, należy skupić się na diodach LED. Każda z nich ma przypisany odpowiedni button: przykładowo dioda D1 = S1, D2 = S2. Uruchomienie układu inicjuje losowanie zapalenia diody, należy następnie przycisnąć odpowiedni przycisk. Zostaje wylosowana dioda D4. Należy wybrać button, kolejny poziom to 2 diody wybrane losowo. Po zapaleniu należy powtórzyć sekwencję na przyciskach (zapalają nam się diody D2, D3, D3, D4, D1, D2) a po zgaśnięciu należy odtworzyć sekwencję na przyciskach S2, S3, S3, S4, S1, S2. Błędny wybór buttona oznajmiany jest zapaleniem wszystkich czterech diod. int dioda1 = 4; int dioda2 = 5; int dioda3 = 6; int dioda4 = 7; int s1=8; int s2=9; int s3=10; int s4=11; int level=0; // przypisanie wartości 0 int poziom[50]; // tworzymy deklarujemy tablicę int u=0; // przypisanie wartości 0 void setup() // początkowa konfiguracja część przygotowująca układ do // działania Serial.begin(9600); // ustawienie prędkości komunikacji for (int i=3; i<=7;i++) // pętla for pinmode(i,output); // ustawienie pinu jako wyjście digitalwrite(i,low); pinmode(s1,input); digitalwrite(s1,high); pinmode(s2,input); digitalwrite(s2,high); pinmode(s3,input); 3

digitalwrite(s3,high); pinmode(s4,input); digitalwrite(s4,high); void loop() // główna pętla level=level++; // ziększ level for (int z=0; z<=level;z++) // pętla for int f=random(4,8); // przypisuje losową wartość z zakresu digitalwrite(f,high); // ustaw stan wysoki na wyjściach f poziom[z]=f; // zapis do tablicy delay(600); // czekaj 600 ms digitalwrite(f,low); // ustaw stan niski delay(300); // czekaj 300 ms for (int p=0;p<=level;p++) // pętla for int m=poziom[p]; // przypisanie wartości m Serial.print("Dioda "); // wyświetl tekst Serial.println(m); // wyświetl wartość m u = button(); // przypisanie wartości z button Serial.print("Wduszono przycisk numer "); // wyświetl tekst Serial.println(u); // wyświetl wartość u if (m == u) Serial.println("Wybrano poprawna diode"); // wyświetl tekst else Serial.println("Przegrana"); // wyświetl tekst off(); // skocz do funkcji off void off() digitalwrite(4,high); digitalwrite(5,high); digitalwrite(6,high); digitalwrite(7,high); delay(5000); digitalwrite(4,low); digitalwrite(5,low); digitalwrite(6,low); digitalwrite(7,low); // funkcja ogg zapala i gasi diody //czekaj 5 sekund boolean get(int e) switch(e) // warunek wielokrotnego wyboru 4

case 4: return digitalread(s1) == LOW; case 5: return digitalread(s2) == LOW; case 6: return digitalread(s3) == LOW; case 7: return digitalread(s4) == LOW; default: return false; int button() int a = 0; while(!a) if(get(4)) a = 4; if(get(5)) a = 5; if(get(6)) a = 6; if(get(7)) a = 7; delay(180); return a; // pętla while // czekaj 180ms // zwraca wartość a Film instruktażowy: http://youtu.be/evilg2zpwgi 5