Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить

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

Пт окт 26, 2018 10:19:35

Здравствуйте. Помогите пожалуйста. В холодильнике накрылся термостат. решил сделать его на 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 градусов выключался.

До свидания, не могу понять как это сделать, надеюсь на помощь. Кнопки не нужны, что бы в программе можно было задать температуру включения и отключения.

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

Пт окт 26, 2018 11:45:41

Что за ардуина? Схему нарисуешь своего девайса? Индикатор имеет кириллицу (фамилия его какая)?

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

Пт окт 26, 2018 12:54:31

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

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

Пт окт 26, 2018 13:42:29

Хотя-бы фотки того дисплея (снизу и сверху) чтоб почитать надписи.
А заодно и релюшки.
За адуринку понятно, единственно надеюсь, что 5-вольтовая версия - вроде 3 вольтовых нанок пока не встречал.
И предположить "от обратного" - подключение дисплея согласно правил для библиотеки LiquidCrystal (схему по конструктору класса отрисовать) сделано верно.
8)

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

Пт окт 26, 2018 14:02:24


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

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

Такой наверное... https://ekits.ru/catalog/indication/lcd ... a_yyh_ctk/

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

Пт окт 26, 2018 16:44:49

Дисплей вот такой: https://www.chipdip.ru/product/mt-16s2h-2ylg.

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

Пт окт 26, 2018 17:13:37

Моё сообщение прочитал про ноги дисплея? Да ещё кстати d1 это какая нога? У ардуины такого обозначения нет. Что касается дисплея, так это МЕЛТ а не WINSTAR :wink:

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

Пт окт 26, 2018 17:30:35

На счёт дисплея извиняюсь, думал они все одинаковые. И действительно d1 не существует. Можно использовать d8.

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

Пт окт 26, 2018 17:49:07

Задам ещё раз...
ноги МК к дисплею подключать по своему усмотрению, или есть какие-то пожелания?

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

Пт окт 26, 2018 17:53:09

На ваше усмотрение

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

Пт окт 26, 2018 18:15:37

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 KiB) Скачиваний: 478

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

Пт окт 26, 2018 19:56:29

Спасибо вам, буду тестировать
Последний раз редактировалось Attenyuator Пт окт 26, 2018 20:17:29, всего редактировалось 1 раз.

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

Пт окт 26, 2018 20:17:08

Ты написал d8 (РВ0), его и задействовал.

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

Сб окт 27, 2018 09:49:58

Не могли бы вы мне скомпилировать прошивку под другие температуры? А то мой холодильник до -5 очень долго работает. Или поделитесь оригиналом. Температуры нужны от -2 включалось и при -4 отключалось. И сделайте ещё что бы при -1 включалось и при -3 отключалось. Две прошивки. До этого измерял температуру dht22. Так у них разница в 2 градуса. Спасибо за помощь.

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

Сб окт 27, 2018 10:48:25

DHT22 хорош как датчик влажности (по сравнению с DHT11).
Температура для термостатов/холодильников - это наиболее приемлемо у DS18B20.
Для "принудустановки" ...
Надо или режим смены значений с автономной клавиатуры самого проекта делать или загрузку значений через терминалку ПК в режиме диалога...
:roll:

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

Сб окт 27, 2018 12:05:43

С холодильником просто проблема, он старый и я думаю фреон где-то сочится. Раньше нормально было а сейчас нет. Мне на месяц два надо. Потом продукты сьедим, денег подкопим и новый будем покупать. Пока так как нибудь. Сам ещё не освоил программирование.

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

Сб окт 27, 2018 12:50:23

В принципе большой минус - то больше в морозилке.
Ежли датчик не в испарителе, а в камере там где-то возле нуля.
Погляжу вражьи библиотеки - ежли на подопытной конструкции заработает - скину готовенькое с разъяснениями.
:roll:

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

Сб окт 27, 2018 13:52:27

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

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

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

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

Кнопки коммутируют общую шину (GND) на выводы МК.
Attenyuator_1a.zip
(3.41 KiB) Скачиваний: 419

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

Сб окт 27, 2018 15:32:35

Спасибо. А насчёт того как работает холодильник, думал что понимаю, теперь понимаю что понимаю не правильно.

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

Сб окт 27, 2018 15:38:57

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