Метеостанция на Arduino с проводным интерфейсом Ethernet

Метеостанция на Arduino с проводным интерфейсом Ethernet

/ #АгроНТРИ

Метеостанция позволяет отправлять по проводному интерфейсу Ethernet температуру, атмосферное давление и влажность.

Для этого нам понадобятся следующие компоненты:

  • Микроконтроллер Arduino или Freeduino (с ATmega328);
  • Ethernet-shield Wiznet w5100;
  • Цифровой термодатчик DS18B20;
  • Датчик атмосферного давления BMP085;
  • Датчик влажности DHT22;
  • Резистор 4.7 кОм;
  • Резистор 5 кОм.

Микроконтроллер и Ethernet-shield:

DS18B20:

ds18b20
DHT22:


BMP085:


Соединяем всё по следующей схеме:


Резистор R1 на схеме — 4.7 кОм, служит для подтяжки линии данных для термодатчика DS18B20. Резистор R2 — 5 кОм, подтягивает линию данных DHT22. Термодатчик и датчик влажности размещаются на улице. Я для этого использовал четырёхжильный телефонный кабель — на расстоянии 6 метров от микроконтроллера работает замечательно. Датчик давления размещается в доме. За счёт негерметичности окон/дверей атмосферное давление снаружи и внутри будет практически одинаковым.

Если у вас нет сенсоров DHT22 или BMP085, то просто оставьте соответствующие контакты Arduino неподключенными. В коде необходимо будет подправить всего лишь одну-две строки.
Ну и вот собственно код скетча:

 

Обратите внимание на строки 17-23:


mac-MAC-адрес Arduino. Это ваш уникальный идентификатор на сайте народного мониторинга. 
Поэтому для защиты от совпадений рекомендую использовать MAC-адрес вашего 
компьютера/роутера/телефона с изменённым последним байтом (чтобы не было коллизии внутри локальной сети).
BMP085_EXIST — наличие датчика атмосферного давления. Поставьте 0, если у вас его нет.
DHT_EXIST — наличие датчика влажности. Поставьте 0, если у вас его нет.
DS18B20_PIN — пин подключения термодатчика DS18B20.
DHTPIN — пин подключения датчика влажности DHT22.
DHTTYPE — тип датчика влажности: DHT22 или DHT11
postingInterval — интервал передачи показаний. По-умолчанию 600000 мс (10 минут).

 

Next Post Previous Post