Zakres laboratorium:
  1. Komunikacja po interfejsie UART
  2. Odbieranie danych na terminalu komputera – rysowanie wykresów
  3. Wysyłanie danych z terminala komputera
  4. Program do obliczania wieku

 

1. Komunikacja po interfejsie UART

Skonfigurować interfejs komunikacyjny UART:

  • prędkość transmisji: 19200 bps
  • rozmiar danych: 8 bitów
  • bity parzystości:  brak
  • bity stopu: 1

Wysłać napis “Hello World: 1” na terminal komputera.

Napisy powinny być wysyłane co jedną sekundę, a licznik powinien być zwiększany o 1 przy każdym wysłaniu.

Każdy wysłany napis powinien wyświetlić się od początku nowej linii terminala.

W celu podglądu wysyłanych danych na komputer należy uruchomić aplikację komunikującą się na wybranym porcie COM.

W środowisku Arduino jest wbudowana taka funkcja “Narzędzia->Monitor portu szeregowego”. Pojawi się nowe okno terminala, gdzie należy ustawić parametry transmisji zgodne z ustawionymi po stronie mikrokontrolera. Jeśli wszystko zrobiliśmy poprawnie to w białym oknie powinien pojawiać się nasz wysyłany napis.

Interfejs UART na płytce Arduino Nano jest podłączony przez konwerter UART/USB do złącza USB. Tym samym konwerterem/złączem programujemy mikrokontroler, dlatego nie należy wykonywać żadnych dodatkowych połączeń przewodami.

 

2. Odbieranie danych na terminalu komputera – rysowanie wykresów

Na podstawie zadania 4 z laboratorium 4 należy zaprezentować działania regulatora za pomocą wykresów rysowanych na komputerze PC.

Do przygotowania wykresów należy wykorzystać wbudowaną w środowisko Arduino funkcję “Kreślarka” .

Należy narysować (na jednym wykresie kilka przebiegów):

  • przebieg napięcia z fotorezystora
  • przebieg napięcia z potencjometru
  • przebieg binarny przedstawiający działanie włącznika zmierzchowego

przeanalizować za pomocą wykresów działanie wyłącznika i histerezy. Zrobić zdjęcia ekranu i opisać punkty zadziałania w notatce z zajęć.

 

3. Wysyłanie danych z terminala komputera

Napisać program, który odbierze pojedyncze znaki wysyłane z terminala i wykona następujące operacje:

  • odebrany znak ‘a’ – włączenie diody LED1 – wyświetli na terminalu komunikat “LED1 ON”
  • odebrany znak ‘s’ – wyłączenie diody LED1 – wyświetli na terminalu komunikat “LED1 OFF”
  • odebrany znak ‘d’ – sprawdzenie stanu pinu, gdzie podłączymy przycisk – komunikat o stanie przycisku należy wysłać na terminal
  • odebrany znak ‘f’ – wyświetlamy ilość sekund od uruchomienia programu (licznik liczący sekundy powinien działać w tle programu)
4. Program do obliczania wieku

Napisać program, który po uruchomieniu poprosi użytkownika (wyśle odpowiedni komunikat na terminal komputera) o podanie roku urodzenia. Użytkownik wysyła za pomocą terminala rok swojego urodzenia. Program odbiera dane i oblicza wiek użytkownika, wysyła odpowiedź na terminal z odpowiednim komentarzem. Program powinien posiadać zabezpieczenia na błędne podanie roku urodzenia itd.

Jeśli użytkownik podany zły rok, to należy wyświetlić odpowiedni komunikat.

Program działa w sposób ciągły, po obliczeniu wieku, wyświetla ponownie komunikat z prośbą o podanie kolejnego roku.

Komentarz do obliczonego wieku:

  • 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”, ” …”,