Zakres laboratorium:
  1. Zapoznanie z bibliotekami Arduino
  2. Obsługa LCD, pomiar temperatury – czujnik DS18B20
  3. Dioda RGB, zmiana kolorów

 

1. Zapoznanie z bibliotekami Arduino – program oscyloskopu

  • stworzyć nowy program zgodny z koncepcją Arduino
  • skonfigurować interfejs UART do pracy z prędkością 19200 (biblioteka “Serial”)
  • podłączyć potencjometr do kanału pomiarowego analogowego A0, odczytać napięcie z tego pinu (funkcja “analogRead()”)
  • odczytane napięcie wysłać na terminal, narysować wykres

2. Obsługa wyświetlacza LCD, pomiar temperatury czujnik DS18B20 – program termometru

  • dodać kolejną funkcjonalność do poprzedniego programu
  • do obsługi LCD, wykorzystać bibliotekę “LiquidCrystal”. Przykładowy kod poniżej:

  • podłączyć czujnik DS18b20 – złącze na płytce “EduTar” oznaczone “DS_conn” – do wybranego pinu mikrokontrolera. Wybrany pin należy skonfigurować w programie, definicja preprocessora “ONE_WIRE_BUS”
  • odczytać temperaturę i wyświetlić na wyświetlaczu LCD. Do odczytu temperatury można użyć następujący kod:

3. Dioda RGB, zmiana kolorów

  • Wykorzystać sygnał PWM do sterowania diodą RGB – co to jest za sygnał?
  • W Arduino można użyć funkcji “analogWrite()”. Sprawdzić na jakich wyprowadzeniach można używać sygnału PWM.
  • Dioda RGB ma wspólna anodę podłączoną do napięcia zasilania, jej wyprowadzane są dostępne na pinach “LED_R”, “LED_G”, “LED_B”. Każdy z pinów to osobna katoda diody RGB.
  • W programie należy podawać sygnał PWM tak aby uzyskać efekt przełączającej się tęczy.

4. Program kolorowego czajnika elektrycznego

Na bazie poprzedniego programu utworzyć program naśladujący sygnalizację diodą RGB poziomu nagrzania wody w czajniku elektrycznym.

W zależności od symulowanej temperatury wody, dioda RGB powinna wskazywać barwą jej ciepła jak na rysunku poniżej.

Reprezentacja barwowa temperatury.

temperaturę wyznaczyć za pomocą wzoru:

temp=Vx20, gdzie V to napięcie w woltach odczytane z potencjometru – należy podłączyć potencjometr,

więc dla napięcia 5.0V mamy 100 stopni, dla 3.0V-60stopni itd.

Napięcie i symulowaną temperaturę należy wyświetlać na wyświetlaczu LCD. Dodatkowo należy wyświetlać napis z opisem słownym o stanie wody (zimna, ciepła, gorąca, wrzątek), progi ustalić samodzielnie.

 

 

 

 

 

 

Zakres laboratorium 2017-2021 (nie aktualne)

Szybkie zapoznanie z STM32

Wykorzystać środowisko programistyczne: STM32CubeIDE 1.7.0

Do komunikacji z komputerem użyć program terminala: RealTerm

Zapoznać się z dokumentacją:

Zadanie 1
  1. Skonfigurować płytkę Nucleo z mikrokontrolerem L432
  2. Zmienić nazwę pinu PB3 na LED
  3. Utworzyć program który będzie mrugał wybraną diodą LED (“HAL_GPIO_WritePin”, “HAL_Delay”)
Zadanie 2
  1. Zapoznać się z komunikacją UART – parametry podstawowe
  2. Uruchomić na komputerze program RealTerm i skonfigurować do pracy z mikrokontrolerem
  3. Utworzyć zmienną do przechowywania tablicy znaków o pojemności 50 znaków
  4. Utworzyć kod, który będzie, co 1 sekundę wysyłał na terminal komunikat: “Hello, to ja …” Zamiast “…” należy wstawić swój pomysł. Napisy powinny wyświetlać się w nowej linii terminala pod sobą.
Zadanie 3
  1. Zmodyfikować poprzedni program aby działał jak zegarek, wyświetlał ilość sekund od uruchomienia programu (jako podstawa czasu może być wykorzystana zmienna w pętli głównej niedementowana, co 1 sekundę)
  2. Do zbudowania napisu można zastosować funkcję “sprintf”