Karty SD pozwalają na zapisywanie i prowadzenie rejestru odczytanych danych. Taki sposób przetwarzania danych stosuje się w urządzeniach, w skład których wchodzą m.in:
moduł GPS do zbierania danych dotyczących położenia,
stacja pogodowa do zapisywania danych na temat temperatury, opadów itp.,
systemy pomiarowe zbierające dane odnośnie odległości, odchyleń itp.
Jedną z najczęściej mierzonych wartości nieelektrycznych we wszystkich dziedzinach elektroniki jest temperatura. Jej pomiary są podstawą regulacji powietrza w pomieszczeniach przez różnego różnego rodzaju systemy grzewcze, klimatyzatory, wentylatory itp., oraz monitorowania warunków panujących na zewnątrz przez stacje pogodowe. Sam pomiar temperatury zazwyczaj jest wystarczający, jednak bardziej skomplikowane systemy wymagają dokładniejszej informacji na temat warunków środowiska. Dobrym rozwiązaniem jest stosowanie zintegrowanych czujników, które umożliwiają jednoczesny pomiar zarówno temperatury powietrza, jak i wilgotności. Należą do nich sensory z serii DHT, w tym niewielki, cyfrowy czujnik temperatury i wilgotności DHT22, którym zajmiemy się nico niżej.
Moduł czytnika kart MicroSD
Rak5Fcutd90Mq
Grafika przedstawia prostokątną płytkę z kilkoma wycięciami. Płytka zawiera wyjścia znajdujące się jedno pod drugim wzdłuż lewego boku. Wyjścia te to kolejno od góry: GND, VCC, MISO, MOSI, SCK, CS.
Moduł ten zawiera wszystkie potrzebne elementy, aby można było komunikować się z kartą microSD poprzez np. Arduino. Karty SD komunikują się poprzez magistralę SPImagistrala SPImagistralę SPI. Większość mikrokontrolerów, w tym te wykorzystane w Arduino, posiadają sprzętową kontrolę tego interfejsu.
Ważne!
Stosując kartę SD, należy pamiętać, aby była ona sformatowana w formacie FAT32format FAT32FAT32.
Specyfikacja
Napięcie zasilania: od 4,5 V do 5,5 V
Wbudowany regulator napięcia: 3,3 V na pinach SPI
Prąd: około 80 mA
Interfejs: SPI
Połączenie z Arduino
MOSI – pin 11 Arduino
MISO – pin 12 Arduino
CLK – pin 13 Arduino
CS – pin 10 Arduino
VCC – 5 V Arduino
GNG – GND Arduino
Program zapisu na kartę
Do poprawnego działania modułu czytnika kart microSD potrzebne są dwie biblioteki – SD oraz SPI.
Po pobraniu bibliotek instalujemy je w Arduino IDE.
Na początku dołączamy potrzebne biblioteki do szkicu.
Linia 1. kratka include otwórz nawias ostrokątny SD kropka h zamknij nawias ostrokątny.
Linia 2. kratka include otwórz nawias ostrokątny SPI kropka h zamknij nawias ostrokątny.
#include <SD.h>
#include <SPI.h>
W celu poprawnej inicjalizacji karty SD należy w programie wprowadzić w pętli setup() poniższe komendy. Instrukcja warunkowa if() sprawdza, czy karta jest wykrywana. Jeśli nie, następuje wyświetlenie informacji poprzez port szeregowy i przerwanie wykonywania programu. Jeśli karta zostanie rozpoznana, program nie wejdzie do instrukcji i wyświetli napis znajdujący się poza nią.
Linia 1. if otwórz nawias okrągły wykrzyknik SD kropka begin otwórz nawias okrągły CSPin zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 2. Serial kropka println otwórz nawias okrągły cudzysłów Błąd inicjalizacji karty wykrzyknik cudzysłów zamknij nawias okrągły średnik.
Linia 3. return średnik.
Linia 4. zamknij nawias klamrowy.
Linia 5. Serial kropka println otwórz nawias okrągły cudzysłów Karta została poprawnie zainicjalizowana wykrzyknik cudzysłów zamknij nawias okrągły średnik.
if (!SD.begin (CSPin)) {
Serial.println ("Błąd inicjalizacji karty!");
return;
}
Serial.println ("Karta została poprawnie zainicjalizowana!");
W pętli loop() wpisujemy komendy zapisu tekstu na kartę microSD.
Linia 1. File myFile znak równości SD kropka open otwórz nawias okrągły cudzysłów test kropka csv cudzysłów przecinek FILE podkreślnik WRITE zamknij nawias okrągły średnik.
Linia 3. if otwórz nawias okrągły myFile zamknij nawias okrągły otwórz nawias klamrowy.
Linia 4. myFile kropka print otwórz nawias okrągły cudzysłów Działa cudzysłów zamknij nawias okrągły średnik.
Linia 5. myFile kropka println otwórz nawias okrągły czas plus plus zamknij nawias okrągły średnik.
Linia 6. myFile kropka close otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 8. Serial kropka println otwórz nawias okrągły cudzysłów Dane zapisane wykrzyknik cudzysłów zamknij nawias okrągły średnik.
Linia 9. zamknij nawias klamrowy.
Linia 10. else otwórz nawias klamrowy.
Linia 11. Serial kropka println otwórz nawias okrągły cudzysłów Błąd otwarcia pliku wykrzyknik cudzysłów zamknij nawias okrągły średnik.
Linia 12. zamknij nawias klamrowy.
Polecenie SD.open otwiera plik o podanej nazwie, a jeśli taki plik nie istnieje, zostanie dzięki temu poleceniu utworzony. Gdy plik jest już otwarty (lub utworzony), program wchodzi do instrukcji warunkowej if(), gdzie następuje wpisanie jej do pliku. Jeśli zaś zostanie zwrócenia wartość false, program wykona instrukcję else.
Ważne!
Po otwarciu plik musi zostać zamknięty - w przeciwnym razie dane nie będą poprawnie wprowadzone.
Kod
Całość kodu wygląda następująco:
Linia 1. kratka include otwórz nawias ostrokątny SD kropka h zamknij nawias ostrokątny.
Linia 2. kratka include otwórz nawias ostrokątny SPI kropka h zamknij nawias ostrokątny.
Linia 4. const int CSPin znak równości 10 średnik.
Linia 5. int czas znak równości 0 średnik.
Linia 7. void setup otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 8. Serial kropka begin otwórz nawias okrągły 9600 zamknij nawias okrągły średnik.
Linia 10. pinMode otwórz nawias okrągły CSPin przecinek OUTPUT zamknij nawias okrągły średnik.
Linia 12. if otwórz nawias okrągły wykrzyknik SD kropka begin otwórz nawias okrągły CSPin zamknij nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 13. Serial kropka println otwórz nawias okrągły cudzysłów Błąd inicjalizacji karty wykrzyknik cudzysłów zamknij nawias okrągły średnik.
Linia 14. return średnik.
Linia 15. zamknij nawias klamrowy.
Linia 16. Serial kropka println otwórz nawias okrągły cudzysłów Karta została poprawnie zainicjalizowana wykrzyknik cudzysłów zamknij nawias okrągły średnik.
Linia 17. zamknij nawias klamrowy.
Linia 19. void loop otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 20. File myFile znak równości SD kropka open otwórz nawias okrągły cudzysłów test kropka csv cudzysłów przecinek FILE podkreślnik WRITE zamknij nawias okrągły średnik.
Linia 22. if otwórz nawias okrągły myFile zamknij nawias okrągły otwórz nawias klamrowy.
Linia 23. myFile kropka print otwórz nawias okrągły cudzysłów Działa cudzysłów zamknij nawias okrągły średnik.
Linia 24. myFile kropka println otwórz nawias okrągły czas plus plus zamknij nawias okrągły średnik.
Linia 25. myFile kropka close otwórz nawias okrągły zamknij nawias okrągły średnik.
Linia 27. Serial kropka println otwórz nawias okrągły cudzysłów Dane zapisane wykrzyknik cudzysłów zamknij nawias okrągły średnik.
Linia 28. zamknij nawias klamrowy.
Linia 29. else otwórz nawias klamrowy.
Linia 30. Serial kropka println otwórz nawias okrągły cudzysłów Błąd otwarcia pliku wykrzyknik cudzysłów zamknij nawias okrągły średnik.
Linia 31. zamknij nawias klamrowy.
Linia 32. delay otwórz nawias okrągły 3000 zamknij nawias okrągły średnik.
Linia 33. zamknij nawias klamrowy.
Podłącz układ według poniższego schematu, wgraj kod i przetestuj działanie programu.
Co nam będzie potrzebne:
płytka stykowa,
przewody połączeniowe męsko‑żeńskie,
moduł karty microSD,
płytka Arduino Uno,
kabel USB typu A‑B do podłączenia do komputera.
R1wMIawYXQJSH
Ilustracja przedstawia schemat elektryczny połączeń arduino uno i modułu karty mikro sd. Pin 5V arduino połączono w węzła +5V, GND podłączono do węzła GND. Pin arduino D10 podłączono do pinu 6 modułu CS, D11 do pinu 4 MOSI, D12 do pinu 3 MISO a pin D13 do pinu 5 SCK. Pin 1 GND modułu podłączono do węzła GND, pin 2 VCC podłączono do węzła +5V.
Jeśli karta nie znajduje się w module, w monitorze portu szeregowego pojawi się informacja o błędnej inicjalizacji karty.
R16sBzHjxlvIB
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty. Komunikat w pierwszym wersie brzmi: „Błąd inicjalizacji karty!”, w następnych wierszach pojawia się kilkukrotnie ten sam komunikat brzmiący „Błąd otwarcia pliku!”.
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty. Komunikat w pierwszym wersie brzmi: „Błąd inicjalizacji karty!”, w następnych wierszach pojawia się kilkukrotnie ten sam komunikat brzmiący „Błąd otwarcia pliku!”.
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty. Komunikat w pierwszym wersie brzmi: „Błąd inicjalizacji karty!”, w następnych wierszach pojawia się kilkukrotnie ten sam komunikat brzmiący „Błąd otwarcia pliku!”.
Jeśli karta znajduje się w module, to w monitorze portu szeregowego pojawi się informacja o poprawnej inicjalizacji i zapisie danych na kartę.
RYKLO3JokdS21
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty. Komunikat w pierwszym wersie brzmi: „D!”, w drugim wierszu komunikat brzmi: „Karta została poprawnie zainicjalizowana!”, w następnych wierszach pojawia się kilkukrotnie ten sam komunikat brzmiący „Dane zapisane!”.
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty. Komunikat w pierwszym wersie brzmi: „D!”, w drugim wierszu komunikat brzmi: „Karta została poprawnie zainicjalizowana!”, w następnych wierszach pojawia się kilkukrotnie ten sam komunikat brzmiący „Dane zapisane!”.
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty. Komunikat w pierwszym wersie brzmi: „D!”, w drugim wierszu komunikat brzmi: „Karta została poprawnie zainicjalizowana!”, w następnych wierszach pojawia się kilkukrotnie ten sam komunikat brzmiący „Dane zapisane!”.
Po włożeniu karty do komputera widzimy, że na karcie znajduje się plik TEST.CSV. Po jego otworzeniu możemy zobaczyć zapisane dane.
RslN40djo5vHI
W filmie przedstawiony jest ekran komputera. Użytkownik ma otwarty folder, w którym znajduje się plik o nazwie TEST. Użytkownik otwiera plik TEST, który jest arkuszem kalkulacyjnym. W kolumnie A wpisane są następujące komunikaty: w komórce A 1 „Działa 0”, w komórce A 2 „Działa 1”, w komórce A 3 „Działa 2” i tak dalej.
W filmie przedstawiony jest ekran komputera. Użytkownik ma otwarty folder, w którym znajduje się plik o nazwie TEST. Użytkownik otwiera plik TEST, który jest arkuszem kalkulacyjnym. W kolumnie A wpisane są następujące komunikaty: w komórce A 1 „Działa 0”, w komórce A 2 „Działa 1”, w komórce A 3 „Działa 2” i tak dalej.
W filmie przedstawiony jest ekran komputera. Użytkownik ma otwarty folder, w którym znajduje się plik o nazwie TEST. Użytkownik otwiera plik TEST, który jest arkuszem kalkulacyjnym. W kolumnie A wpisane są następujące komunikaty: w komórce A 1 „Działa 0”, w komórce A 2 „Działa 1”, w komórce A 3 „Działa 2” i tak dalej.
Czujnik temperatury i wilgotności DHT22
Rb4DiREmv0cSD1
Grafika przedstawia czujnik w kształcie prostokąta o zaokrąglonych rogach w górnej części. W dolnej części mamy piny w postaci drucików. Piny te to kolejno od lewej: VCC, SDA, NC, GND.
Czujnik DHT22 wyróżnia się wśród podobnych elementów z tej serii głównie pod względem zakresów pomiarowych oraz dokładności wskazań. Jeśli chodzi o temperaturę, jest to zakres od -40Indeks górny OOC do +80Indeks górny OOC i całkiem duża precyzja pomiaru oraz rozdzielczość na poziomie odpowiednio: +/- 0,5Indeks górny OOC i 0,1Indeks górny OOC. Czas reakcji czujnika na nagłe zmiany temperatury to jedynie dwie sekundy, co umożliwia pracę nawet w bardzo dynamicznych systemach sterowania. Czujnik DHT22 działa w pełnym zakresie wilgotności względnej, czyli od 0% RH do 100% RH, zapewniając dokładność +/- 2% RH i rozdzielczość 0,1% RH. Całość (zarówno przetworniki, jak i układ pomiarowy wraz z cyfrowym interfejsem komunikacyjnym) mieści się w niewielkiej, perforowanej obudowie z tworzywa sztucznego o wymiarach zaledwie 20 x 15,1 x 7,7 mm.
Komunikacja z czujnikiem DHT22
Czujnik temperatury i wilgotności DHT22 komunikuje się z nadrzędnym mikrokontrolerem za pomocą jednoliniowego interfejsu szeregowego. Transmisję danych inicjuje master (mikrokontroler), wysyłając sekwencję stanów logicznych: L → H. Wtedy czujnik rozpoczyna nadawanie danych, zaczynając od najstarszego bitu. Ramka ma długość 40 bitów i zawiera następujące pola danych: części całkowitą i ułamkową odczytu wilgotności (po osiem bitów), części całkowitą i ułamkową odczytu temperatury (również po osiem bitów) oraz sumę kontrolną (jeden bajt). Wartości stanów logicznych (bity 0 i 1) są kodowane jako dwufazowe impulsy o zróżnicowanym czasie trwania (stan L przez 50 µs i następujący po nim stan H przez czas 26‑28 µs oznacza logiczne zero; logiczna jedynka jest kodowana przez impuls „H” o czasie trwania 70 µs). Aby na szynie danych nie doszło do kolizji, linia GPIO mikrokontrolera przeznaczona do pracy w roli wejścia/wyjścia danych powinna być skonfigurowana jako wyjście typu otwarty dren (OD).
Specyfikacja
Napięcie zasilania: od 3,3 V do 6 V
Średni pobór prądu: 0,2 mA
Temperatura:
Zakres pomiarowy: -40 do 80 °C
Rozdzielczość: 8 bitów (0,1 °C)
Dokładność: ± 0,5 °C
Czas odpowiedzi: średnio 2 s
Wilgotność:
Zakres pomiarowy: 0 - 100 % RH
Rozdzielczość: 8 bitów (±0,1 % RH)
Dokładność ±2 %RH*
Czas odpowiedzi: średnio 2 s
Połączenie z Arduino
VCC – 5V Arduino
SDA – dowolny pin cyfrowy Arduino
GND – GND Arduino
Program testowy
Do poprawnego działania czujnika potrzebna jest biblioteka DHT.
Po pobraniu biblioteki należy ją zainstalować w Arduino IDE.
Najpierw dołączamy bibliotekę DHT.
Linia 1. kratka include cudzysłów dht kropka h cudzysłów.
#include "dht.h"
Następnie tworzymy nowy obiekt.
Linia 1. dht DHT22 średnik.
dht DHT22;
Definiujemy pin Arduino, do którego wpięty jest czujnik.
Linia 1. kratka define DHT22PIN 7.
#define DHT22PIN 7
W pętli setup() inicjujemy połączenie z monitorem portu szeregowego z prędkością 115200 bodów i wyświetlamy tekst startowy programu.
Linia 1. Serial kropka begin otwórz nawias okrągły 115200 zamknij nawias okrągły średnik.
Linia 2. Serial kropka println otwórz nawias okrągły cudzysłów Program testowy do czujnika DHT22 cudzysłów zamknij nawias okrągły średnik.
Linia 3. Serial kropka println otwórz nawias okrągły cudzysłów minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus cudzysłów zamknij nawias okrągły średnik.
Serial.begin (115200);
Serial.println ("Program testowy do czujnika DHT22");
Serial.println ("------------------------------------");
W pętli loop() sprawdzamy stan sensora i wyświetlamy odpowiedni komunikat.
Linia 1. int chk znak równości DHT22 kropka read otwórz nawias okrągły DHT22PIN zamknij nawias okrągły średnik.
Linia 3. Serial kropka print otwórz nawias okrągły cudzysłów Stan sensora dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 4. switch otwórz nawias okrągły chk zamknij nawias okrągły otwórz nawias klamrowy.
Linia 6. case DHTLIB podkreślnik OK dwukropek.
Linia 7. Serial kropka print otwórz nawias okrągły cudzysłów OK cudzysłów zamknij nawias okrągły średnik.
Linia 8. Serial kropka print otwórz nawias okrągły cudzysłów kreska pionowa cudzysłów zamknij nawias okrągły średnik.
Linia 9. break średnik.
Linia 10. case DHTLIB podkreślnik ERROR podkreślnik CHECKSUM dwukropek.
Linia 11. Serial kropka println otwórz nawias okrągły cudzysłów Błąd sumy kontrolnej cudzysłów zamknij nawias okrągły średnik.
Linia 12. break średnik.
Linia 13. case DHTLIB podkreślnik ERROR podkreślnik TIMEOUT dwukropek.
Linia 14. Serial kropka println otwórz nawias okrągły cudzysłów Koniec czasu oczekiwania minus brak odpowiedzi cudzysłów zamknij nawias okrągły średnik.
Linia 15. break średnik.
Linia 16. default dwukropek.
Linia 17. Serial kropka println otwórz nawias okrągły cudzysłów Nieznany błąd cudzysłów zamknij nawias okrągły średnik.
Linia 18. break średnik.
Linia 19. zamknij nawias klamrowy.
int chk = DHT22.read (DHT22PIN);
Serial.print ("Stan sensora: ");
switch (chk) {
case DHTLIB_OK:
Serial.print ("OK");
Serial.print (" | ");
break;
case DHTLIB_ERROR_CHECKSUM:
Serial.println ("Błąd sumy kontrolnej");
break;
case DHTLIB_ERROR_TIMEOUT:
Serial.println ("Koniec czasu oczekiwania - brak odpowiedzi");
break;
default:
Serial.println ("Nieznany błąd");
break;
}
Ostatnia rzecz, jaką musimy zrobić, to wyświetlić wartości pomiarowe.
Linia 1. Serial kropka print otwórz nawias okrągły cudzysłów Wilgotnosc dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 2. Serial kropka print otwórz nawias okrągły otwórz nawias okrągły float zamknij nawias okrągły DHT22 kropka humidity przecinek 2 zamknij nawias okrągły średnik.
Linia 3. Serial kropka print otwórz nawias okrągły cudzysłów procent cudzysłów zamknij nawias okrągły średnik.
Linia 4. Serial kropka print otwórz nawias okrągły cudzysłów kreska pionowa cudzysłów zamknij nawias okrągły średnik.
Linia 5. Serial kropka print otwórz nawias okrągły cudzysłów Temperatura dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 6. Serial kropka print otwórz nawias okrągły otwórz nawias okrągły float zamknij nawias okrągły DHT22 kropka temperature przecinek 2 zamknij nawias okrągły średnik.
Linia 7. Serial kropka println otwórz nawias okrągły cudzysłów st kropka C cudzysłów zamknij nawias okrągły średnik.
Linia 1. kratka include cudzysłów dht kropka h cudzysłów.
Linia 3. dht DHT22 średnik.
Linia 5. kratka define DHT22PIN 7.
Linia 7. void setup otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 8. Serial kropka begin otwórz nawias okrągły 115200 zamknij nawias okrągły średnik.
Linia 9. Serial kropka println otwórz nawias okrągły cudzysłów Program testowy do czujnika DHT22 cudzysłów zamknij nawias okrągły średnik.
Linia 10. Serial kropka println otwórz nawias okrągły cudzysłów minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus minus cudzysłów zamknij nawias okrągły średnik.
Linia 11. zamknij nawias klamrowy.
Linia 13. void loop otwórz nawias okrągły zamknij nawias okrągły otwórz nawias klamrowy.
Linia 14. int chk znak równości DHT22 kropka read otwórz nawias okrągły DHT22PIN zamknij nawias okrągły średnik.
Linia 16. Serial kropka print otwórz nawias okrągły cudzysłów Stan sensora dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 17. switch otwórz nawias okrągły chk zamknij nawias okrągły otwórz nawias klamrowy.
Linia 19. case DHTLIB podkreślnik OK dwukropek.
Linia 20. Serial kropka print otwórz nawias okrągły cudzysłów OK cudzysłów zamknij nawias okrągły średnik.
Linia 21. Serial kropka print otwórz nawias okrągły cudzysłów kreska pionowa cudzysłów zamknij nawias okrągły średnik.
Linia 22. break średnik.
Linia 23. case DHTLIB podkreślnik ERROR podkreślnik CHECKSUM dwukropek.
Linia 24. Serial kropka println otwórz nawias okrągły cudzysłów Błąd sumy kontrolnej cudzysłów zamknij nawias okrągły średnik.
Linia 25. break średnik.
Linia 26. case DHTLIB podkreślnik ERROR podkreślnik TIMEOUT dwukropek.
Linia 27. Serial kropka println otwórz nawias okrągły cudzysłów Koniec czasu oczekiwania minus brak odpowiedzi cudzysłów zamknij nawias okrągły średnik.
Linia 28. break średnik.
Linia 29. default dwukropek.
Linia 30. Serial kropka println otwórz nawias okrągły cudzysłów Nieznany błąd cudzysłów zamknij nawias okrągły średnik.
Linia 31. break średnik.
Linia 32. zamknij nawias klamrowy.
Linia 34. Serial kropka print otwórz nawias okrągły cudzysłów Wilgotność dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 35. Serial kropka print otwórz nawias okrągły otwórz nawias okrągły float zamknij nawias okrągły DHT22 kropka humidity przecinek 2 zamknij nawias okrągły średnik.
Linia 36. Serial kropka print otwórz nawias okrągły cudzysłów procent cudzysłów zamknij nawias okrągły średnik.
Linia 37. Serial kropka print otwórz nawias okrągły cudzysłów kreska pionowa cudzysłów zamknij nawias okrągły średnik.
Linia 38. Serial kropka print otwórz nawias okrągły cudzysłów Temperatura dwukropek cudzysłów zamknij nawias okrągły średnik.
Linia 39. Serial kropka print otwórz nawias okrągły otwórz nawias okrągły float zamknij nawias okrągły DHT22 kropka temperature przecinek 2 zamknij nawias okrągły średnik.
Linia 40. Serial kropka println otwórz nawias okrągły cudzysłów st kropka C cudzysłów zamknij nawias okrągły średnik.
Linia 42. delay otwórz nawias okrągły 1000 zamknij nawias okrągły średnik.
Linia 43. zamknij nawias klamrowy.
Podłącz układ według poniższego schematu, wgraj kod i przetestuj jego działanie.
Co nam będzie potrzebne:
płytka stykowa,
przewody połączeniowe męsko‑męskie,
czujnik DHT22,
rezystor 4,7 kΩomega,
płytka Arduino Uno,
kabel USB typu A‑B do podłączenia do komputera.
R1C7WEPpH4lA3
Ilustracja przedstawia schemat elektryczny połączeń arduino uno i czujnika DHT22. Pin arduino 5V podłączono do węzła +5V, pin GND do węzła GND. Pin D7 podłączono do pinu 2 modułu IO. Pin 2 podłączono także poprzez wspólny węzeł do rezystora 4700 omów, a następnie do kolejnego węzła z pinem 1 VCC oraz węzłem +5V. Pin 4 GND podłączono do węzła GND.
Po uruchomieniu monitora portu szeregowego należy zmienić prędkość na 115200 bodów. Po zmianie prędkości nasze informacje będą poprawnie wyświetlane.
RB85d1cbvgKNm
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty składające się z różnych liczb, liter, znaków. Użytkownik wybiera w prawym dolnym roku jedną z trzech opcji. Od lewej znajdują się następujące listy wyboru: Nowa linia, 9600 baud oraz Wyczyść okno. Użytkownik wybiera środkowe pole, zmieniające parametr z 9600 baud na 115200 baud. Następnie wyświetlają się kolejne komunikaty. W drugim wierszu pojawia się długa przerywana linia, w kolejnych wierszach pojawiają się komunikaty pomiarowe. Od góry są one następujące: „Stan sensora: OK | Wilgotność: 35.00 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.10 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.10 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.20 % | Temperatura: 26.10 st. C” i tak dalej. W dalszych wierszach zauważamy zwiększoną wilgotność, mianowicie: „Stan sensora: OK | Wilgotność: 54.20 % | Temperatura: 26.30 st. C”, a dalej „Stan sensora: OK | Wilgotność: 97.90 % | Temperatura: 26.60 st. C”. Maksymalna wartość wilgotności to „Stan sensora: OK | Wilgotność: 99.90 % | Temperatura: 26.50 st. C”. Po tym pomiarze wilgotność maleje, a ostatni pomiar zawiera też najwyższą zmierzoną temperaturę: „Stan sensora: OK | Wilgotność: 62.10 % | Temperatura: 26.60 st. C”.
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty składające się z różnych liczb, liter, znaków. Użytkownik wybiera w prawym dolnym roku jedną z trzech opcji. Od lewej znajdują się następujące listy wyboru: Nowa linia, 9600 baud oraz Wyczyść okno. Użytkownik wybiera środkowe pole, zmieniające parametr z 9600 baud na 115200 baud. Następnie wyświetlają się kolejne komunikaty. W drugim wierszu pojawia się długa przerywana linia, w kolejnych wierszach pojawiają się komunikaty pomiarowe. Od góry są one następujące: „Stan sensora: OK | Wilgotność: 35.00 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.10 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.10 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.20 % | Temperatura: 26.10 st. C” i tak dalej. W dalszych wierszach zauważamy zwiększoną wilgotność, mianowicie: „Stan sensora: OK | Wilgotność: 54.20 % | Temperatura: 26.30 st. C”, a dalej „Stan sensora: OK | Wilgotność: 97.90 % | Temperatura: 26.60 st. C”. Maksymalna wartość wilgotności to „Stan sensora: OK | Wilgotność: 99.90 % | Temperatura: 26.50 st. C”. Po tym pomiarze wilgotność maleje, a ostatni pomiar zawiera też najwyższą zmierzoną temperaturę: „Stan sensora: OK | Wilgotność: 62.10 % | Temperatura: 26.60 st. C”.
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetlają się komunikaty składające się z różnych liczb, liter, znaków. Użytkownik wybiera w prawym dolnym roku jedną z trzech opcji. Od lewej znajdują się następujące listy wyboru: Nowa linia, 9600 baud oraz Wyczyść okno. Użytkownik wybiera środkowe pole, zmieniające parametr z 9600 baud na 115200 baud. Następnie wyświetlają się kolejne komunikaty. W drugim wierszu pojawia się długa przerywana linia, w kolejnych wierszach pojawiają się komunikaty pomiarowe. Od góry są one następujące: „Stan sensora: OK | Wilgotność: 35.00 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.10 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.10 % | Temperatura: 26.10 st. C”, „Stan sensora: OK | Wilgotność: 35.20 % | Temperatura: 26.10 st. C” i tak dalej. W dalszych wierszach zauważamy zwiększoną wilgotność, mianowicie: „Stan sensora: OK | Wilgotność: 54.20 % | Temperatura: 26.30 st. C”, a dalej „Stan sensora: OK | Wilgotność: 97.90 % | Temperatura: 26.60 st. C”. Maksymalna wartość wilgotności to „Stan sensora: OK | Wilgotność: 99.90 % | Temperatura: 26.50 st. C”. Po tym pomiarze wilgotność maleje, a ostatni pomiar zawiera też najwyższą zmierzoną temperaturę: „Stan sensora: OK | Wilgotność: 62.10 % | Temperatura: 26.60 st. C”.
Jeśli Arduino nie wykryje czujnika, pojawi się komunikat o braku odpowiedzi.
R1GXM1E4EGJtI
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetla się wielokrotnie w kolejnych wierszach następujący komunikat: „Stan sensora: Koniec czasu oczekiwania – brak odpowiedzi, Wilgotność: minus 999.00 % | Temperatura: minus 999.00 st. C”.
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetla się wielokrotnie w kolejnych wierszach następujący komunikat: „Stan sensora: Koniec czasu oczekiwania – brak odpowiedzi, Wilgotność: minus 999.00 % | Temperatura: minus 999.00 st. C”.
Film nawiązujący do treści lekcji. Na filmie przedstawione jest okno COM6. W polu głównym wyświetla się wielokrotnie w kolejnych wierszach następujący komunikat: „Stan sensora: Koniec czasu oczekiwania – brak odpowiedzi, Wilgotność: minus 999.00 % | Temperatura: minus 999.00 st. C”.
Słownik
format FAT32
format FAT32
odmiana systemu plików FAT, po raz pierwszy zastosowany w systemie operacyjnym Windows 95 OSR2, jego poprzednikiem jest FAT16
magistrala SPI
magistrala SPI
(ang. Serial Peripheral Interface) - jeden z trzech najważniejszych interfejsów komunikacyjnych obok I2C oraz UART; jest to interfejs typu full‑duplex, umożliwiający jednoczesne wysyłanie i odbieranie danych; SPI to interfejs synchroniczny, a więc jednym z przewodów przesyłany jest sygnał zegarowy synchronizujący wszystkie układy
AVR
AVR
typ ośmiobitowych mikrokontrolerów produkowanych przez firmę Atmel