ARDUINO проекты
#1
Отправлено 02 августа 2016 - 14:28
Заставка при включении:
Рабочий режим:
Пока прототип:
Схема подключения:
Чуть позже станция обзаведется корпусом.
Контроллер Arduino NANO v3 с терминальной платкой - $ 3.06 (все контакты на плате паять пришлось)
Дисплей LCD2004 I2C 20x4 с контроллером - $ 4.23 (контроллер припаял)
Датчик температуры и влажности DHT22 2 штуки - $ 5.36 (один из них, зараза врет влажность)
Барометр BMP085 - $ 2.09
Часы реального времени DS3231 - $ 0.63
Чуть больше 1000 р. вышла комплектуха.
Программную часть пришлось самому писать. Дабы, примеры в сети есть.
Только нужно теперь еще один датчик температуры и влажности покупать, взамен неисправному.
Кстати, подсветку дисплея запросто отключать кнопкой (ее нужно внедрить вместо джампика на контроллере LCD).
И да!!! Приятность же! Часы и дата в моей метеостанции не сбрасываются при отключении внешнего питания (ибо использовал нестираемую память в плате часов).
Программа Arduino (устойчивая версия 1.6.3 для windows), необходимые библиотеки, скетч для установки даты и времени, да и сам исходный текст программы метеостанции: meteo.zip (72,47МБ)
Количество загрузок:: 1590
#2
Отправлено 03 августа 2016 - 18:56
Готова еще одна метеостанция. На этот раз веб-метеостанция. Или скорее "Веб-контроль климата в доме".
Комплектующие:
Arduino Mega 2560 R3 - $ 6.15
Ethernet Shield W5100 R3 - $ 5.80
7 датчиков температуры и влажности DHT22 - по $ 2.68
По-хорошему, вместо Arduino Mega 2560 можно использовать Arduino Uno за $ 2.75, но я эту плату успешно загубил, пока работал над первой метеостанцией.
В случае использования Uno, а не Mega, стоимость комплектующих для проекта составит около 2000 р. Львиная доля трат - датчики. Если не заморачиваться на снятии показаний влажности, то можно купить десяток температурных датчиков DS18B20 за $ 5.75 и уложиться в 1000 р.
Итак, вот что получается - локальная интернет-страница, обновляемая раз в минуту (частоту обновления можно изменить), с показаниями датчиков, раскиданных по дому (кажется, что 7-ми мне хватит за глаза).
7-ми датчиков у меня пока нет, потому показания только с 2-х.
А вот примерно то, что планируется из всего этого получить:
По сути - это еще одна составляющая "Умного дома".
Борман обещал помочь с программной частью. За что ему человеческое спасибо!
P.S. В ходе сборки данной метеостанции вылезла интересная проблема - интернет шилд W5100 категорически отказывается опознаваться и работать со свитчами D-Link. Столько времени потратил, пока нашел этот баг... Ух!!!
#3
Отправлено 04 августа 2016 - 17:11
Только что удалось скрестить эти две метеостанции в одну на Arduino Mega!!! />
Скетч и библиотеки: meteo.zip (88,39К)
Количество загрузок:: 1330
Схема и подключение датчиков и экрана такая же, как и в первой станции (для Mega pin A4,A5 меняем на 19,20, а для Uno пины должны остаться на месте).
Датчиков DHT22 стало 7, pin для них: D2, D3, D5, D6, D7, D8, D9, D18.
Светодиод сидит на pin D19.
Pin D1, D4, D10, D11, D12, D13 используются интернет шилдом.
А еще у меня есть 11 температурных датчиков 18B20.
Один из них во влагозащищенном корпусе:
И десяток:
Такие датчики можно засунуть в термоусадочную трубку, чтобы влагозащиту обеспечить.
Диапазон измеряемых температур от -55 до +125°С. Т.е. можно в парилку воткнуть датчик запросто.
Эти датчики работают по шине 1-Wire, которая позволяет подключить до 256 датчиков.
Поблагодарили 1 раз(а) за это сообщение:
|
#5
Отправлено 26 августа 2016 - 09:29
(снятие показаний с электросчетчика)
Мой опечатанный электросчетчик установлен на уличном столбе. Трогать я его не буду. Есть у меня еще один электросчетчик - Меркурий 201.5.
Его я установил во вводном щитке в доме, сразу после вводного автомата. У данного счетчика есть импульсный выход. Вот с него я и буду снимать показания Ардуиной.
Берем Arduino Uno с интернет шилдом W5100. Правый разъем импульсного выхода электросчетчика (+) подключаем через резистор 10K на pin2 , а левый (-) на GND.
Дисплей у меня под рукой был такой: LCD2004 I2C 20x4 (с контроллером), его и подключил:
VIN дисплея к 5V Arduino;
GND к GND;
SDA дисплея к A4 Arduino;
SCL дисплея к A4 Arduino.
Собственно, на этом почти все.
Идем к столбу, переписываем показания уличного электросчетчика. В скетче для Arduino раскомментируем строчки:
//kWh = 0;
//EEPROM_write(1, kWh);
В строку kWh = 0; вместо нуля подставляем текущее значение электросчетчика. Загружаем скетч, потом нужно опять закомментировать эти 2 строки и еще раз загрузить скетч.
На экране дисплея и на веб странице (в моем случае http://192.168.0.97) получаем:
0 кВт*ч
3200
Где первая строчка - показания электросчетчикам(в моем случае это 0 кВт*ч);
А вторая - это обратный отсчет импульсов до зачисления потраченого киловатта. Счетчик Меркурий 201.5 выдает 3200 импульсов на 1 КВт*час, поэтому обратный отсчет начинается с 3200.
Чтобы показания счетчика не обнулялись после выключения света, в коде присутствует запись/чтение нестираемой памяти EEPRON.
Скетч и библиотеки прикладываю: electroschetchik.zip (27,61К)
Количество загрузок:: 1421
Этот же проект вполне подойдет для счетчиков газа и воды, оснащенных импульсным выходом.
Поблагодарили 1 раз(а) за это сообщение:
|
#6
Отправлено 26 августа 2016 - 13:21
(замеряем текущую потребляемую электрическую мощность)
Arduino Nano v.3.0, Ethernet Shield на чипе ENC28J60.
В качестве датчика будем использовать все тот же электросчетчик Меркурий 201.5. Подцепляемся опять к импульсному выходу.
+ к pin8 через резистор 10K
- к GND.
Арифметика для ваттметра довольно простая:
К = 3200 импульсов на 1 КВт*час, Т = 10 сек (длительность паузы между импульсами).
Р = 3600000/(К*Т), Ватт
Р = 112,5 Ватт
На web странице (в моем случае 192.168.0.96) отображается:
266 Ватт
Это моя текущуя потребляемая электрическая мощность на данный момент.
Скетч: master.zip (1,96К)
Количество загрузок:: 1349
#7
Отправлено 29 августа 2016 - 15:24
Светодиодная лента располагается под кроватью, там же устанавливаем датчик движения. Алгоритм очень простой: если в комнате темно и к кровати кто-то идет (или с кровати кто-то встает) - зажигается подсветка. По истечении одной минуты (настраивается) подсветка выключается.
Все тоже самое можно было получить на обычном датчике движения для включения света с регулировками. Стоит, он около 800 р.. Но у меня была задача привлечь ребенка для создания этой подсветки для его же кровати.
Использовал:
Arduino Nano
ИК датчик движения HC-SR501 (PIR-сенсор)
Датчик освещенности LM393
Реле
Схема очень простая.
к pin 2 Arduino подключаем датчик движения;
к pin 3 - датчик освещенности;
к pin 4 - реле;
5v и gnd для датчиков берем с Arduino.
Через реле подключаем светодиодную ленту с отдельным блоком питания 12v.
Корпус из под ADSL модема прекрасно подошел под этот проект.
Скетч: podsvetka.zip (532байт)
Количество загрузок:: 1305
Он очень простой - без настроек уровня освещенности (день/ночь и всё), и без калибровки датчика движения (он и без этого прекрасно работает).
#8
Отправлено 31 августа 2016 - 10:22
1. GPS/GSM маяк с отправкой координат в виде SMS по запросу
2. Подсветка лестницы
Поблагодарили 1 раз(а) за это сообщение:
|
#9
Отправлено 08 сентября 2016 - 11:23
(с памятью на 64 ключа)
Оборудование:
1. Arduino Nano;
2. Одноканальное реле 5v;
3. Ридер iButton (touch memory) (это по сути контактная площадка с двумя выводами). Я купил такую со светодиодом внутри:
4. Сами ключи:
Схема:
Алгоритм работы:
Ридер всегда подсвечивается встроенным светодиодом.
Прикладываем, заранее записанный в память, ключ к ридеру - срабатывает реле, которое подает напряжение на электронный замок. Например, такой:
Замок открывается. 5 раз моргает светодиод.
Запись ключей в нестираемую память:
Нажать кнопку. Загорится светодиод на плате Arduino. Приложить ключ к ридеру. Светодиод погаснет. Ключ записался.
Если ключ уже есть в памяти, Arduino весело заморгает светодиодом. И будет моргать до ручной перезагрузки.
Очистка памяти от всех ключей:
Нажать кнопку и удерживая кнопку, нажать Reset на Arduino. Отпустить кнопку. Память очищена.
Скетч: door.zip (1,19К)
Количество загрузок:: 1264
Поблагодарили 1 раз(а) за это сообщение:
|
#10
Отправлено 20 сентября 2016 - 09:13
Основа - мультиметр PZEM004T (AC 80 ~ 260В 100A). У него присутствует TTL выход, с которого ардуиной можно считывать информацию. Цена вопроса ~10$.
Есть вариант с экраном ~15$:
Библиотека и скетч для Arduino: PZEM004T.zip (5,86К)
Количество загрузок:: 1317
PZEM004T я только заказал. Собираюсь снимать с него показания при помощи Arduino UNO с интернет шилдом (чтобы выводить информацию в сеть) и 2-х строчным экраном.
Есть у меня желание поставить 2 штуки PZEM004T. До стабилизатора и после. После стабилизатора меня интересует только показания вольтметра.
PZEM004T можно подключить и к компьютеру по USB. Есть специальный софт для него.
А еще PZEM004T можно скрестить с esp8266 (wifi модуль):
Поблагодарили 1 раз(а) за это сообщение:
|
#11
Отправлено 17 ноября 2016 - 15:00
Подключил мультиметр PZEM004T к Arduino Uno.
VDD - 5v Arduino
RX - 9 pin Arduino
TX - 8 pin Arduino
GND - GND Arduino
Силовую линию собрал, как в инструкции.
Залил скетч и в мониторе последовательного порта получил:
Используя шилд W510, вывел эти данные в локальную сеть.
Скетч: PZEM004T.zip (1,36К)
Количество загрузок:: 1368
Поблагодарили 1 раз(а) за это сообщение:
|
#12
Отправлено 23 февраля 2017 - 21:05
#13
Отправлено 24 февраля 2017 - 08:19
Составляющие:
Контроллер Arduino UNO R3
Ethernet Shield W5100 R3
Дисплей LCD2004 I2C 20x4 с контроллером
Барометр BMP085
Часы реального времени DS3231
Датчик температуры и влажности DHT22
Датчик температуры Dallas (ds18b20) 3 шт.
Для начала нужно установить все необходимые библиотеки (прикреплены к данному сообщению).
Подключаем датчик ds18b20:
У меня 3 датчика, подключаю их на ту же шину так:
Первым делом нужно узнать адреса датчиков ds18b20, зашитые производителем. Для этого открываем Arduino IDE, и переходим к примерам библиотеки DallasTemperature, и выбираем пример Multiple:
В примере ищем строку #define ONE_WIRE_BUS 2 где 2 это номер цифрового pin Arduino, к которому подключен датчик/датчики ds18b20(в моем случае это pin9) и меняем на строку на #define ONE_WIRE_BUS 9. Загружаем скетч.
В мониторе последовательного порта получим:
Снимаем галочку с «Автопрокрутка» и перемещаемся в самый верх окна.
Ищем строчки:
Device 0 Address: 280054B604000092 — адрес 1-го датчика ds18b20
Device 1 Address: 289E95B504000057 — адрес 2-го датчика ds18b20
(в данном примере подключено только 2 датчика)
Данные адреса нужно подставить в скетче вместо моих. Только их нужно привести к стандартному коду для обмена информацией. Это не сложно. Для Device 0 Address получаем:
0x28, 0x00, 0x54, 0xB6, 0x04, 0x00, 0x00, 0x92
Скетч и необходимые библиотеки: meteo.zip (111,91К)
Количество загрузок:: 1107
Адреса моих датчиков в данном скетче:
0x28, 0x54, 0xC1, 0x07, 0x00, 0x00, 0x80, 0x09 улица
0x28, 0x53, 0x1C, 0x1F, 0x00, 0x00, 0x80, 0x1A 2 этаж
0x28, 0xFF, 0xBF, 0xA2, 0x62, 0x15, 0x02, 0x83 парилка
Для парилки использовал влагозащищенный ds18b20
P.S. При работе в сети нескольких Ардуин с интернет шилдами, не нужно забывать назначать им разные MAC адреса. Иначе будут проблемы. />
Поблагодарили 1 раз(а) за это сообщение:
|
#14
Отправлено 24 февраля 2017 - 15:35
Планирую, конечно, Ваши разработки внедрить, но счетчик 3Ф электрический у меня по столбе на противоположной стороне улицы,производства местной ставропольской "Энергомеры" г-на Полякова. На фото это прошлый год зима вид с тыла , теперь там три коттеджа построены
#15
Отправлено 24 февраля 2017 - 18:10
Вопрос на lcd 2004 нижняя строка FL2 t-1C P t -1C что это да данные, с какого датчика,я,конечнo, извиняюсь, буду ковыряться еще.Я запустил скетч на мини про, без всех наворотами с шильдами, хотя есть и UNO, и MEGA, и W5100, но пока только по минимуму.
#16
Отправлено 25 февраля 2017 - 13:40
Цитата
Это не данные с датчика - это вывод легенды. В моем случае - это сокращение "2 этаж, температура". В кавычках можно подставить любой текст.
Цитата
"Температура в парилке".
Не более того. />
Поблагодарили 1 раз(а) за это сообщение:
|
#17
Отправлено 25 февраля 2017 - 16:13
Поблагодарили 1 раз(а) за это сообщение:
|
#18
Отправлено 26 февраля 2017 - 11:42
#19
Отправлено 26 февраля 2017 - 19:11
За 0.58 $ можно купить голый датчик.
P.S. Не по теме пара вопросов:
- Каков "пирог" стены у дома?
- Фундамент лента? Какая глубина залегания?
#20
Отправлено 26 февраля 2017 - 19:58
Название темы | Автор | Статистика | Последнее сообщение | |
---|---|---|---|---|