Термостанция на Arduino Mega 2560

Всем доброго времени суток. Данный проект был реализован в одной из подмосковных школ для класса робототехники и природоведения. В задачу устройства входит изображения даты, времени, температуры, а так же запись информации на sd носитель с интервалом в пол часа в файл формата txt.

В состав изделия входит:
1. Arduino mega 2560

2. Glcd12864 v 2.0 (либо стандартный китайский экран на микросхемах ks0107/ks0108)

3. Часы реального времени Hz 85 63

4. Температурный датчик TMP36

5. Модуль под micro sd карту

Схема и подключения

Дисплей Glcd12864 v2.0 подключается по параллельному интерфейсу. Часы реального времени используют I2c протокол (пины sda sdc на плате), а модуль micro sd использует spi, пины 50 по 53 (конкретно на этой плате). Питается все кроме подсветки дисплея от 5В, подсветка использует 3.3В. Вообщем схема не сложная. Питание платы шло от простого, стандартного адаптера на 5В. Потребление тока устройством в районе 100 мА.

Вид на макетной плате

Скетч
Скетч
Библиотека U8glib

Сам скетч использует стандартные библиотеки arduino за исключением дисплея который требует библиотеки U8glib. Шрифты для скетча даны в архиве и для корректной работы должны лежать в папке со скетчем .Комментарии по основным вопросам приведены в самом скетче.

Установка таймера осуществляется путем записи значения десятично-двоичного кода в строках 45 и 46. В данном случая период срабатывания пол часа . Чтобы поменять период на час прописываем в строку 46 значение B00111111. Соответственно пишем то же значение в функцию сброса таймера строка 54. Более подробная информация о манипуляции с таймером в мануале на rtc pcf 8563

Вся информация по температуре пишется на sd карту в формат txt и имеет следующий вид

В дальнейшем данные использовались для составления температурных графиков погоды.
Данное устройство является прототипом, рабочих экземпляров на руках не осталось (все в данный момент работе). Как только сумею достать опишу процесс полной сборки с изготовлением пп и т.д.

Источник: usamodelkina.ru

Понравилась статья? Поделиться с друзьями: