Oprogramowanie do płytki EduTar dostępne na stronie: EduTar-arduino

Wszystkie programy tworzymy bez udziału bibliotek Arduino, czysty język C i praca na rejestrach mikrokontrolera.

Zadanie 1:

  1. zapoznać się z płytką EduTar i środowiskiem programowania Arduino
  2. napisać program, który mruga diodę LED na porcie PB5 z częstotliwością 1Hz, skorzystać z szablonu programu poniżej (kod wkleić bezpośrednio do programu Arduino zastępując inne funkcje):

Zadanie 2 (ocena 3):

  1. podłączyć diody LED1-LED8 (sterowanie stanem wysokim), podłączyć przyciski SW_1-SW_4 (przyciśnięcie podaje stan niski, ustawić pull up)
  2. zapewnić następująca funkcjonalność:
    1. przycisk SW_1 – jak przycisk jest wciśnięty to świeci dioda LED1. Jak przycisk jest puszczony to nie świeci dioda LED1
    2. przycisk SW_2 – przyciśnięcie i puszczenie przycisku uruchamia diodę LED2, ponowne przyciśnięcie i puszczenie powoduje wyłączenie diody LED2
    3. przycisk SW_3 – przyciśnięcie uruchamia animację biegający punkt na LED3-LED8 i zapętla jej działanie. Biegający punkt-jedna dioda z świeci w danej chwili, zaczynamy od LED3, co 500ms dioda przestaje świecić zaczyna świecić dioda po prawej stronie, operacja powtarza się od diody LED3 do LED8. Po zaświeceniu diody LED8, czekamy 500ms, wyłączamy diodę LED8 i uruchamiamy diodę LED7 i operacja biegnie dalej do LED3
    4. przycisk SW_4 – przyciśniecie powoduje wyłączenie animacji z punktu 3

Wszystkie działania muszą być niezależna i działać w jednym programie równocześnie.

Zadanie 3 (ocena 4):

Zapoznać się z działaniem enkodera ‘Encoder’: link1, link2, link3

  1. podłączyć diody LED3-LED8 i enkoder ‘Encoder’ do mikrokontolera (Enc_A, Enc_B do pinów PD2 i PD3 i ustawić jako wejście z pull up, Enc_com to GND)
  2. napisać program, który będzie wykrywał kręcenie impulsatorem i w zależności od kierunku obrotu będzie sterował aktualnie uruchomioną dioda
  3. kręcenie w prawo przesuwa świecącą diodę w prawo, kręcenie w lewo robi analogiczną operację ale w drugą stronę. W skrajnych położeniach kręcenie nic nie powoduje
  4. postarać się uodpornić program na drgania styków z impulsatora

Zadanie 4 (ocena 5):

  1. przerobić zadanie 3 tak aby obsługa enkodera odbywał się przy wykorzystaniu przerwania zewnętrznego
  2. przerwanie inkrementuje,dekrementuje globalny licznik w programie
  3. wartość z licznika przekładana jest na świecenie odpowiedniej diody LED

 

 

 

Zakres laboratorium 2017-2021 (nie aktualne)

Zadania do wykonania:

  1. Zadania 1-4 z laboratorium 1.2
  2. Program do obliczania wieku

Program do obliczania wieku:

Utworzyć program, który oblicza wiek osoby na podstawie wprowadzonego roku urodzenia. Wyświetla informacje na wyświetlaczu LCD, a dane pozyskuje z wykorzystaniem klawiatury 4×4.

  • Po uruchomieniu program przedstawia się, krótkim komunikatem z nazwą programu i opisem co robi -czas wyświetlania 5 sekund,
  • następnie prosi o podanie roku urodzenia,
  • wczytane dane zamienia na liczbę i dokonuje obliczenia wieku osoby (dla uproszczenia proszę przyjąć rok obecny na 2021),
  • wyświetla na wyświetlaczu LCD w dwóch liniach komunikat, gdzie x to obliczony wiek, a “…” to miejsce na wymyślony komentarz, logiczne dokończenie komunikatu:
    • jeśli wiek <18 – “Masz x lat”, ” …”,
    • dla 18<=wieku < 25 – “Masz x lat”, ” …”,
    • dla 25<=wieku < 65 – “Masz x lat”, ” …”,
    • dla 65<=wieku – “Masz x lat”, ” …”,
  • wyświetla informacje przez 20 sekund, lub do przyciśnięcia dowolnego klawisza
  • następnie program ponownie rozpoczyna działanie od początku.