Przejdź do głównej zawartości

Arduino Custom Data Station #1 - wysyłanie danych

· 2 min aby przeczytać
Arduino Custom Data Station #1 - wysyłanie danych

Etap #1, czyli dokonujemy pomiaru temperatury oraz wilgotności powietrza przy użyciu Arduino z czujnikiem DHT11. Odczytane dane będą przesyłane do komputera za pośrednictwem Serial Portu i prezentowane w serial monitorze.

Arduino Custom Data Station #1 - wysyłanie danych

Pierwszy etap projektu zakłada stworzenie prostego układu złożonego z Arduino oraz czujnika DHT11. Głównym zadaniem tego układu będzie przesyłanie wartości zmierzonej temperatury oraz wilgotności powietrza do komputera za pośrednictwem portu USB (Serial Communication).

Pomiar temperatury i wilgotności powietrza

Układ odpowiedzialny za pomiar temperatury oraz wilgotności powietrza, składa się z płytki Arduino Nano oraz popularnego czujnika DHT11, który pozwala na pomiar wilgotności oraz temperatury powietrza.

Pierwszą rzeczą jaką należy wykonać to stworzyć prosty układ do pomiaru temperatury oraz wilgotności powietrza. W tym celu wykorzystałem płytkę Arduino Nano oraz popularny czujnik DHT11, który pozwala na pomiar wilgotności oraz temperatury powietrza.

Kod Arduino

Do obsługi czujnika DHT11 wykorzystałem popularną bibliotekę DHT sensor library firmy Adafruit, natomiast sam kod jest trywialnie prosty, więc nie będę się tutaj zbytnio nad nim rozpisywał.

#include "DHT.h" // DHT sensor library by Adafruit (Version 1.4.0)

#define DHTPIN 15
#define DHTTYPE DHT11

DHT dht(DHTPIN, DHTTYPE, 6);

void setup() {
Serial.begin(115200);
dht.begin();
}

void loop() {
Serial.print("001|"); // device ID
Serial.print(dht.readTemperature()); // temperature
Serial.print("|"); // separator
Serial.print(dht.readHumidity()); // humidity
Serial.print("|"); // separator
Serial.print(millis()); // timestamp
Serial.println(); // endline (LF)
delay(1000);
}

Ramka danych

Ramka z danymi wysyłana z Arduino do komputera zawiera cztery informacje:

  • identyfikator urządzenia,
  • wartość temperatury wyrażoną w stopniach celsjusza,
  • wartość wilgotności powietrza wyrażoną w procentach,
  • imestamp w milisekundach.

Identyfikator urządzenia stanowi liczba z zakresu od 000 do 999, natomiast separatorem danych jest znak kreski pionowej '|'.

Co dalej?

Kolejnym krokiem będzie stworzenie WEBowej aplikacji klienckiej, która będzie odczytywać dane wysłane przez Arduino w czasie rzeczywistym, a następnie prezentowała je w oknie przeglądarki.