Термостат на AVR (arduino)

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Термостат на AVR (arduino)

Сообщение Attenyuator »

Здравствуйте. Помогите пожалуйста. В холодильнике накрылся термостат. решил сделать его на arduino. С ардуино знаком мало. С помощью интернета накидал скетч для датчика температуры DS18B20 и экрана LCD1602 - выводит на него температуру.
Вот скетч:
Спойлер#include <Wire.h> // Подключаем библиотеку Wire
#include <LiquidCrystal.h>
#include <DallasTemperature.h> // Подключаем библиотеку DallasTempature
#define DS18B20 9 // Указываем, к какому выводу подключена DQ

byte simvol[8] = {B11100,B10100,B11100,B00000,B00000,B00000,B00000,B00000,}; // Символ градуса

LiquidCrystal lcd(7, 6, 5, 4, 3, 2);
OneWire oneWire(DS18B20);
DallasTemperature sensors(&oneWire);



void setup()
{
sensors.begin(); // Запуск библиотеки, по умолчанию 9 бит
lcd.begin(16, 2);
lcd.setCursor(2,0); // Устанавливаем курсор на 1 строку, ячейка 2
lcd.print("TEMP"); // Выводим текст
}
void loop()
{
lcd.createChar(1, simvol); // Создаем символ под номером 1
sensors.requestTemperatures(); // Считываем показания температуры
lcd.setCursor(7,0); // Устанавливаем курсор на 1 строку, ячейка 7
lcd.print(sensors.getTempCByIndex(0)); // Выводим показания температуры
lcd.setCursor(12,0); // Устанавливаем курсор на 1 строку, ячейка 12
lcd.print("\1"); // Выводим символ градуса
lcd.setCursor(13,0); // Устанавливаем курсор на 1 строку, ячейка 13
lcd.print("C"); // Выводим текст
}


Помогите пожалуйста дописать скетч, что бы при достижении -3 градусов включался транзистор подключенный к какому ни будь пину, и при достижении -5 градусов выключался.

До свидания, не могу понять как это сделать, надеюсь на помощь. Кнопки не нужны, что бы в программе можно было задать температуру включения и отключения.
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Термостат на AVR (arduino)

Сообщение АСУ »

Что за ардуина? Схему нарисуешь своего девайса? Индикатор имеет кириллицу (фамилия его какая)?
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Re: Термостат на AVR (arduino)

Сообщение Attenyuator »

Дисплей от winstar с кириллицей. Arduino nano с atmega 328. Опишу схему, так как не могу ее нарисовать.
К цифровым портам d7, d6, d5, d4, d3, d2 подключен дисплей, к цифровому порту d9 подключен датчик DS18B20. Нужно, например к цифровому порту d1 подключить транзистор, что бы работал как ключ - вкл. или выкл. При достижении температуры -3 градуса включался транзистор, а при температуре -5 выключался. На транзистор я подключу реле, а реле будет давать команду включаться или отключатся компрессору холодильника. Сейчас холодильник уже несколько дней работает без перерыва и отдыха. Я не могу понять как задать это условие в Ардуино, не могу сообразить ни как.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Термостат на AVR (arduino)

Сообщение BOB51 »

Хотя-бы фотки того дисплея (снизу и сверху) чтоб почитать надписи.
А заодно и релюшки.
За адуринку понятно, единственно надеюсь, что 5-вольтовая версия - вроде 3 вольтовых нанок пока не встречал.
И предположить "от обратного" - подключение дисплея согласно правил для библиотеки LiquidCrystal (схему по конструктору класса отрисовать) сделано верно.
8)
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Термостат на AVR (arduino)

Сообщение АСУ »


Я твою программу не смотрел (она мне без надобности), так как пишу проги на другом языке… зачем тебе вообще дисплей? Раз уставки по температуре будут не измены…ладно, хорошо дело твоё… ноги МК к дисплею подключать по своему усмотрению, или есть какие-то пожелания?

Добавлено after 10 minutes 21 second:
Хотя-бы фотки того дисплея (снизу и сверху) чтоб почитать надписи.

Такой наверное... https://ekits.ru/catalog/indication/lcd ... a_yyh_ctk/
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Re: Термостат на AVR (arduino)

Сообщение Attenyuator »

Дисплей вот такой: https://www.chipdip.ru/product/mt-16s2h-2ylg.
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Термостат на AVR (arduino)

Сообщение АСУ »

Моё сообщение прочитал про ноги дисплея? Да ещё кстати d1 это какая нога? У ардуины такого обозначения нет. Что касается дисплея, так это МЕЛТ а не WINSTAR :wink:
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Re: Термостат на AVR (arduino)

Сообщение Attenyuator »

На счёт дисплея извиняюсь, думал они все одинаковые. И действительно d1 не существует. Можно использовать d8.
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Термостат на AVR (arduino)

Сообщение АСУ »

Задам ещё раз...
ноги МК к дисплею подключать по своему усмотрению, или есть какие-то пожелания?
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Re: Термостат на AVR (arduino)

Сообщение Attenyuator »

На ваше усмотрение
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Термостат на AVR (arduino)

Сообщение АСУ »

d2 – RS; d3 – E; GND - R/W; d4 – DB4; d5 – DB5; d6 – DB6; d7 – DB7. Порт датчика d9 должен быть подтянут резистором 4,7 кОм к плюсу питания.
Неисправности выводимые на дисплей:
Error 1: Нет высокого уровня на входе порта датчика.
Error 2: Нет импульса присутствия датчика – нет датчика.
Error 3: Не восстановлен высокий уровня на входе порта датчика.
Error 4: Ошибка чтения датчика.
В архиве прошивка.
Attenyuator.zip
(2.48 КБ) 522 скачивания
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Re: Термостат на AVR (arduino)

Сообщение Attenyuator »

Спасибо вам, буду тестировать
Последний раз редактировалось Attenyuator Пт окт 26, 2018 20:17:29, всего редактировалось 1 раз.
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Термостат на AVR (arduino)

Сообщение АСУ »

Ты написал d8 (РВ0), его и задействовал.
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Re: Термостат на AVR (arduino)

Сообщение Attenyuator »

Не могли бы вы мне скомпилировать прошивку под другие температуры? А то мой холодильник до -5 очень долго работает. Или поделитесь оригиналом. Температуры нужны от -2 включалось и при -4 отключалось. И сделайте ещё что бы при -1 включалось и при -3 отключалось. Две прошивки. До этого измерял температуру dht22. Так у них разница в 2 градуса. Спасибо за помощь.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Термостат на AVR (arduino)

Сообщение BOB51 »

DHT22 хорош как датчик влажности (по сравнению с DHT11).
Температура для термостатов/холодильников - это наиболее приемлемо у DS18B20.
Для "принудустановки" ...
Надо или режим смены значений с автономной клавиатуры самого проекта делать или загрузку значений через терминалку ПК в режиме диалога...
:roll:
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Re: Термостат на AVR (arduino)

Сообщение Attenyuator »

С холодильником просто проблема, он старый и я думаю фреон где-то сочится. Раньше нормально было а сейчас нет. Мне на месяц два надо. Потом продукты сьедим, денег подкопим и новый будем покупать. Пока так как нибудь. Сам ещё не освоил программирование.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Термостат на AVR (arduino)

Сообщение BOB51 »

В принципе большой минус - то больше в морозилке.
Ежли датчик не в испарителе, а в камере там где-то возле нуля.
Погляжу вражьи библиотеки - ежли на подопытной конструкции заработает - скину готовенькое с разъяснениями.
:roll:
АСУ
Друг Кота
Сообщения: 3342
Зарегистрирован: Ср янв 02, 2013 08:37:35

Re: Термостат на AVR (arduino)

Сообщение АСУ »

Не могли бы вы мне скомпилировать прошивку под другие температуры?.

Я был уверен, что ты обратишься вновь для доработки устройства. Так как такое ТЗ говорит о непонимании работы холодильника. Мой исходник тебе не поможет, так как я пишу на очень редком языке Algorithm Builder.
В архиве прошивка с возможностью изменения уставок включения и отключения. Диапазон изменения уставки включения: от минус 1 до минус 9. Диапазон изменения уставки отключения: от минус 2 до минус 10.
При первом старте, уставка включения имеет значение минус 1. А уставка отключения минус 2.
Установленные уставки теперь видны на основном экране дисплея. ON – Включение; OFF – Отключение.

Вход в режим изменения уставок осуществляется нажатием кнопки «Set». Изменение уставок осуществляется нажатием кнопки «Select». Уставка при этом увеличивается на 1 градус. При достижении максимального значения, следующим нажатием сбрасывается на минимум… Запоминание уставки и переход к дальнейшему действию осуществляется нажатием кнопки «Set».
Значение уставки включения должно быть меньше по цифровому значению уставки отключения. После выхода из режима уставок, производится проверка установленных значений уставок, и если описанное выше условие не соблюдено, то уставка отключения примет автоматически значение большее на один градус от уставки включения.

Кнопка «Set» подключена к выводу d10.
Кнопка «Select» подключена к выводу d11.

Кнопки коммутируют общую шину (GND) на выводы МК.
Attenyuator_1a.zip
(3.41 КБ) 476 скачиваний
Аватара пользователя
Attenyuator
Вымогатель припоя
Сообщения: 575
Зарегистрирован: Ср мар 21, 2007 18:51:58
Откуда: Пермский край, город Лысьва

Re: Термостат на AVR (arduino)

Сообщение Attenyuator »

Спасибо. А насчёт того как работает холодильник, думал что понимаю, теперь понимаю что понимаю не правильно.
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15539
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Термостат на AVR (arduino)

Сообщение BOB51 »

Боюсь, что придется таки ждать разборов с библиотеками...
Ежли топикстартер имеет в наличии лишь arduino IDE и покупную ардуину нану то залить прикладную программу он сможет толко через ту IDE при обработке скотча (с помощью встроенного бутлоадера)...
Именно тем адуринка и убыстряет процесс работы. С одной стороны вроде и меньше трахотни, а с друой - "нормальным любителям" несколько некомфортно.
На завтра чего понацарапаю.
8)
Ответить

Вернуться в «Arduino»