Проба пера на платформе Arduino. Такой себе «Привет мир». Предварительно была приобретена плата Arduino Nano вместе с другой мелочевкой, все куплено магазине Arduino-ua.com. Дальше все относительно просто — скачал и установил IDE, установил драйвер виртуального последовательного порта для конвертера CH340G. Написал простой скетч, который раз в 500 мсек отправляет в последовательный порт строку «Hello world \n\r». После этого нашел в своих запасах деталей датчик температуры/влажности AM2302 (он же DHT22). Получилась следующая конструкция.
Подключил датчик к Arduino (цифровой пин 2), скачал встроенным в IDE загрузчиком необходимую библиотеку DHT sensor library. Скопировал пример кода из предоставленного с библиотекой example, немного его подправил, в результате получил следующий скетч.
#include "DHT.h" #define DHTPIN 2 #define DHTTYPE DHT22 DHT dht(DHTPIN, DHTTYPE); void setup() { // put your setup code here, to run once: Serial.begin(9600); dht.begin(); Serial.println("Hum, Temp"); } void loop() { // Wait a few seconds between measurements. delay(1000); // Reading temperature or humidity takes about 250 milliseconds! // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) float h = dht.readHumidity(); // Read temperature as Celsius (the default) float t = dht.readTemperature(); // Read temperature as Fahrenheit (isFahrenheit = true) float f = dht.readTemperature(true); // Check if any reads failed and exit early (to try again). if (isnan(h) || isnan(t) || isnan(f)) { Serial.println("Failed to read from DHT sensor!"); return; } Serial.print(h,1); Serial.print(","); Serial.print(t,1); Serial.println(""); }
После компиляции и загрузки все заработало. Устройство, которое теперь можно с небольшим преувеличением назвать термогигрометром заработало и начало отдавать данные по температуре и влажности в последовательный порт.
Что можно сказать в качестве вывода. Вся работа заняла 20-30 минут. Потому, с точки зрения прототипирования это самое ардуино невероятно полезная вещь.