вторник, 30 сентября 2014 г.

Подключение кнопок Arduino

В Arduino есть программная реализация подтягивания цифрового пина к +5V. Таким образом, кнопку кидаю на землю.

http://www.freeduino.ru/arduino/sample_Buttons.html

  pinMode(12, INPUT);     //2й – вход. Здесь кнопка, замыкающая на землю
  digitalWrite(12, HIGH); //включаем подтягивающий резистор

Прерывания висят на 2 и 3 пинах.
http://robocraft.ru/blog/arduino/45.html






Инициализация иначе:
 pinMode(btnPin, INPUT_PULLUP);
http://arduinorus.blogspot.com/2013/03/blog-post.html



Bounce
http://greenoakst.blogspot.com/2012/06/arduino-bounce.html
 

Комфортная температура

Комфортная температура



пятница, 26 сентября 2014 г.

Программирование Arduino

Начало работы (Windows)
Среда разаработки 1.05
Программирование (справочник)
Scratch for Arduino (наглядная среда)
Ardublock - графический Язык

Для RTC качаю библиотеку RTClib и помещаю в /libraries/
А для датчика DHT 

Скетч будет лежать тут

Драйвера 



Общая схема


AM2302 (DHT22)

Arduino и датчик температуры и влажности DHT22

Диапазон измерения влажности: 0 ~ 100% RH ± 2%
Диапазон измерения температуры:  -40 ~ 125'C ± 0,5 'C
Напряжение питания: 3,3 - 6 В.

  • Вывод 1 - +5V
  • Вывод 2 - данные (pin4)
  • Вывод 3 - не используется
  • Вывод 4 - GND



void readDHT(DHT* sensor, char* out)
{
    sensor->update(); //обновляем показания датчика

    while (sensor->getLastError() != DHT_ERROR_OK) {
        delay(1000); // задержка необходима, иначе шлет постоянно ошибки
                     // 100 миллисекунд мало - проверял
        sensor->update(); //обновляем показания датчика
    }

    sprintf(out, "Temp.Out = %dC,Hum.Out = %d%%; ",
            sensor->getTemperatureInt(), sensor->getHumidityInt());
}

Tiny RTC I2C

Arduino and the module Tiny RTC I2C

  • SCL –> A5 Analog Pin
  • SDA –> A4 Analog Pin
  • VCC –> 5V
  • GND –> GND

Arduino Nano

Arduino Nano 2.0 RU
Arduino Nano 3.1 EN

У меня же на руках версия 3.0

Постановка задачи

 Собрать на девайсик для автоматической регулировки температуры для управления газовым котлом.

Железки:
  1. Котроллер Arduino Nano
  2. Модуль реального времени Tiny RTC
  3. Термодатчик AM2302
  4. Блок реле #4 
  5. Блок питания USB
 Логика работы: задаётся два порога температуры при пересечении которого щёлкает реле по котлу: ночной порог и дневной.
  • Ночной   22С
  • Дневной 20С
 Частота моргания наплатного светодиода L показывает дневной ли режим. Ночью частота меньше.