Arduino Nano. Привет мир.

arduinologoПроба пера на платформе Arduino. Такой себе «Привет мир». Предварительно была приобретена плата Arduino Nano вместе с другой мелочевкой, все куплено магазине Arduino-ua.com. Дальше все относительно просто — скачал и установил IDE, установил драйвер виртуального последовательного порта для конвертера CH340G. Написал простой скетч, который раз в 500 мсек отправляет в последовательный порт строку «Hello world \n\r». После этого нашел в своих запасах деталей датчик температуры/влажности AM2302 (он же DHT22). Получилась следующая конструкция.

Arduino Nano + DHT22

Arduino Nano + 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("");
   
}

После компиляции и загрузки все заработало. Устройство, которое теперь можно с небольшим преувеличением назвать термогигрометром заработало и начало отдавать данные по температуре и влажности в последовательный порт.

com_port
Что можно сказать в качестве вывода. Вся работа заняла 20-30 минут. Потому, с точки зрения прототипирования это самое ардуино невероятно полезная вещь.