Arduino Custom Data Station #1 - wysyłanie danych

Posted on 23 November, 2020 at 19:26

Tags: JavaScript Node.js AVR Arduino


Arduino Custom Data Station #1 - wysyłanie danych

Etap #1

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).

hardware-schematic-diagram
Arduino Custom Data Station - schemat ideowy części sprzętowej

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.

dht11-bb
Schemat połączeniowy
dht11-sch
Schemat elektryczny

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);
}
arduino-nano-pinout
Arduino Nano - pinout
Źródło: https://core-electronics.com.au/tutorials/compare-arduino-boards.html#nano

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,
  • timestamp w milisekundach.
data-frame-structure
Struktura ramki z danymi

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

arduino-serial-monitor-dht11
Dane odczytane z Arduino
dht11-asm
Złożony układ

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.


Please provide a valid nick.
Please provide a valid content.

* These fields are required.