Zakres laboratorium:
  • zapoznanie się z ekosystemem Arduino
  • obsługa przerwań zewnętrznych
  • poznanie interfejsu transmisji danych UART

 

Środowisko programistyczne: arduino

Jak wyciągnąć plik hex/elf z kompilacji Arduino IDE: link

Zapoznać się z zbiorem funkcji dostępnych w Arduino: link

 

W celu uruchomienia terminala należy kliknąć PPM Arduino i wybrać „Open serial Monitor.”

Zadanie 1 – ocena 3

Zapoznać się z obsługa przerwań w Arduino: link

  • stworzyć symulację z płytką Arduino Uno, dodać dwa przyciski dołączone do pinów 2 i 3, oddać 2 diody LED,
  • utworzyć program, który za pomocą przerwania z przycisku 1 będzie włączył/wyłączał diodę 1,
  • analogicznie do poprzedniego punktu, uruchomić przycisk 2 i diodę 2.

 

Zadanie 2 – ocena 3,5

Zapoznać się z możliwościami biblioteki do komunikacji Serial: link

  • na podstawie programu z zadania 1, należy uruchomić obsługę komunikacji UART,
  • ustawić prędkość komunikacji UART na 9600
  • na początku programu (tylko jeden raz), należy wysłać do terminala napis „Hello world – numer indeksu”, gdzie za napis numer indeksu podstawiamy swój numer,
  • w pętli głównej programu utworzyć licznik zliczający o 1, co 1 sekundę
  • na każdą zmianę licznika powinien zostać przesłany po interfejsie uart napis „dziala: n”, gdzie n to stan licznika,
  • każdy kolejny napis powinien być w nowej linijce,
  • dodać do obsługi przerwań przesyłanie komunikatu po UART o zmianie stanu diody LED.

 

Zadanie 3 – ocena 4

Zapoznać się z kodowaniem znaków ASCII: link

Utworzyć nowy program i skonfigurować komunikację UART jak w zadaniu 2.

  • na początku programu (tylko jeden raz), należy wysłać do terminala napis „Hello world – numer indeksu”, gdzie za napis numer indeksu podstawiamy swój numer,
  • program co 1 sekundę sprawdza czy został wysłane do mikrokontrolera jakiś znak po UART, jeśli tak to odbiera go i wyświetla na ekranie napis „Odebralem: x-nn”, gdzie x to przesłany znak w postaci znaku ASCII, a nn to jego kod liczbowy,czyli dla przesłanego znaku „a” ma zostać wyświetlony komunikat „Odebrałem: a-97”
  • co każde 10 sekund jeśli nie został przesłany jakiś znak, wyświetla na ekranie napis „Czekam na znak, pospiesz się…”
Zadanie 4 – ocena 4,5

Utworzyć program, który oblicza wiek osoby na podstawie wprowadzonego roku urodzenia.

  • Po uruchomieniu program przedstawia się, krótkim komunikatem z nazwą programu i opisem co robi,
  • następnie prosi o podanie roku urodzenia,
  • wczytane dane zamienia na liczbę i dokonuje obliczenia wieku osoby (dla uproszczenia proszę przyjąć rok obecny na 2020),
  • wyświetla na ekranie komunikat, gdzie x to obliczony wiek, a „…” to miejsce na wymyślony komentarz, logiczne dokończenie komunikatu:
    • jeśli wiek <18 – „Masz x lat, ale jesteś …”,
    • dla 18<=wieku < 25 – „Masz x lat, jesteś …”,
    • dla 25<=wieku < 65 – „Masz x lat, czy już …”,
    • dla 65<=wieku – „Masz x lat, czy to już …”,
  • następnie program ponownie rozpoczyna działanie od początku.
Zadanie 5 – ocena 5

Utworzyć program, który na podstawie wprowadzonej daty urodzenia określa czy osoba jest pełnoletnia.

  • program prosi o podanie daty urodzenia w formacie dd.mm.yyyy, czyli 01.05.2000,
  • oblicza czy osoba ma skończone 18 lat, dla uproszczenia proszę przyjąć dzisiejszą datę jako 08.02.2021,
  • wyświetla na ekranie komunikat „Jesteś już pełnoletni.” lub „Jeszcze nie masz 18 lat, musisz poczekać: xxx dni”, gdzie xxx to ilość dni jaka pozostała aby dana osoba osiągnęła pełnoletność.