Погреб на балконе, термо шкаф для хранения овощей.
Всем привет. Я тут новенький. Решил написать про свою поделку.
Надеюсь тут ардуинщиков не бьют :-)
Так случилось, что с переездом в новую квартиру остро встал вопрос с зимним хранением солений и овощей. Мы люди старой закалки и египетскую картошку из супермаркета не едим. Поэтому по старинке каждую осень запасаем не свою, но фермерскую.
Итак решено одну из лоджий оставить холодной и там устроить погреб по городскому. Т.е. поддерживать температуру от 2 до 7 градусов. Поскольку к лету все съедается, то летом там хранится барахло (см.фото) и охлаждения на летний период не будет.
Сооружаем утепленный шкаф. Каркас дерево. Гипсокартон с двух сторон, внутри утеплитель. Дверь (теклопакет) нашлась бесплатно.
Чтобы внутри тепло равномерно распределялось, нужно было сделать продуваемые полки и отсек для овощей и обеспечить циркуляцию воздуха.
Исходя из этого я сделал внутренний каркас, который позволял оставить расстояние от полок до боковых стенок основного каркаса. Кроме того сами полки были сделаны из сетки 30х30мм положенной на арматуру. Отсек для овощей из такой же сетки, включая дно.
Через все полки проходит вентиляционная труба, сверху которой находится вентилятор. Низ трубы заканчивается тройником, распределяющим поток в две стороны.
Первоначально идея была такова: внизу напротив выходов тройника устанавливались два прожектора по 150вт., которые включались вместе с вентилятором. Теплый воздух проходил по бокам полок, а так же через овощи и остальные полки вверх где и засасывался вентилятором.
Потом от идеи прожекторов пришлось отказаться.Картошка зеленела. Был установлен один конвектор на 500вт.
Первоначально включением нагрева и вентилятора управлял термодатчик с магнитным пускателем. Температуру внутри/снаружи показывала китайская поделка. Свет включался вручную. И вот решил я заменить это дело Arduino.
Вот так выглядит наружний блок (фото делал летом):
Сверху видна кнопка включения подсветки экрана и наружний температурный датчик.
Внутренний датчик такой же марки находится в центре шкафа внутри. Снизу разъем micro-USB на случай апгрейда софта.
Вся эта конструкция пережила уже несколько зим. Вот перечень недостатков, которые выявились:
— При хранении овощей внутри здорово повышается влажность. Как решить пока не знаю. Просто иногда проветриваю шкаф. Возможно поставлю тихоходный вентилятор выдувающий воздух наружу. Как скажется на темп. режиме?
— Иногда экран начинает моргать сам по себе, после открытия/закрытия двери. Похоже на косяк в моей первой программе. Лечится перезагрузкой. Буду разбираться.
Всего примерно 1100р.
К этому всему надо еще паяльник и руки.
Назначение входов ардуино:
D2- выход реле нагрева
D3- выход реле свет
D4-D10- выход LCD
D11- вход датчика тепмература/влажность снаружи
D12- вход датчика тепмература/влажность внутри
A7- датчик двери
A0- кнопка вкл. подсветки
Вот собственно скетч, заливаем с компа через USB:
Надеюсь тут ардуинщиков не бьют :-)
Так случилось, что с переездом в новую квартиру остро встал вопрос с зимним хранением солений и овощей. Мы люди старой закалки и египетскую картошку из супермаркета не едим. Поэтому по старинке каждую осень запасаем не свою, но фермерскую.
Итак решено одну из лоджий оставить холодной и там устроить погреб по городскому. Т.е. поддерживать температуру от 2 до 7 градусов. Поскольку к лету все съедается, то летом там хранится барахло (см.фото) и охлаждения на летний период не будет.
Сооружаем утепленный шкаф. Каркас дерево. Гипсокартон с двух сторон, внутри утеплитель. Дверь (теклопакет) нашлась бесплатно.
Чтобы внутри тепло равномерно распределялось, нужно было сделать продуваемые полки и отсек для овощей и обеспечить циркуляцию воздуха.
Исходя из этого я сделал внутренний каркас, который позволял оставить расстояние от полок до боковых стенок основного каркаса. Кроме того сами полки были сделаны из сетки 30х30мм положенной на арматуру. Отсек для овощей из такой же сетки, включая дно.
Через все полки проходит вентиляционная труба, сверху которой находится вентилятор. Низ трубы заканчивается тройником, распределяющим поток в две стороны.
Первоначально идея была такова: внизу напротив выходов тройника устанавливались два прожектора по 150вт., которые включались вместе с вентилятором. Теплый воздух проходил по бокам полок, а так же через овощи и остальные полки вверх где и засасывался вентилятором.
Потом от идеи прожекторов пришлось отказаться.Картошка зеленела. Был установлен один конвектор на 500вт.
Первоначально включением нагрева и вентилятора управлял термодатчик с магнитным пускателем. Температуру внутри/снаружи показывала китайская поделка. Свет включался вручную. И вот решил я заменить это дело Arduino.
Задача:
- Поддержание температурного режима внутри герметичного шкафа в пределах 2-7 гр. в холодном помещении.
- Отображение температуры и влажности внутри и снаружи шкафа
- Управление обогревателем и конвекцией внутри шкафа (термодатчик)
- Управление освещением по откр./закр. Двери (геркон)
- Управление подсветкой экрана ( включение от кнопки на корпусе на несколько секунд и при включении обогрева)
Вот так выглядит наружний блок (фото делал летом):
Сверху видна кнопка включения подсветки экрана и наружний температурный датчик.
Внутренний датчик такой же марки находится в центре шкафа внутри. Снизу разъем micro-USB на случай апгрейда софта.
Вся эта конструкция пережила уже несколько зим. Вот перечень недостатков, которые выявились:
— При хранении овощей внутри здорово повышается влажность. Как решить пока не знаю. Просто иногда проветриваю шкаф. Возможно поставлю тихоходный вентилятор выдувающий воздух наружу. Как скажется на темп. режиме?
— Иногда экран начинает моргать сам по себе, после открытия/закрытия двери. Похоже на косяк в моей первой программе. Лечится перезагрузкой. Буду разбираться.
Необходимые детали:
- 1PCS Nano V3.0 AVR ATMEGA328P-AU Moudle Board +Mini USB Cable FOR Arduino`s IDE
- New 5V 2-Channel Relay Module Shield for Arduino ARM PIC AVR DSP Electronic 10A
- Датчик температуры влажности DHT22
- Дисплей на 2 строки
- Геркон
- Кнопка без фиксации. Я использовал для кратковременного включения подсветки экрана.
- Блок питания на 5, 7.5 или 9 вольт.
- Корпус по вкусу.
Всего примерно 1100р.
К этому всему надо еще паяльник и руки.
Назначение входов ардуино:
D2- выход реле нагрева
D3- выход реле свет
D4-D10- выход LCD
D11- вход датчика тепмература/влажность снаружи
D12- вход датчика тепмература/влажность внутри
A7- датчик двери
A0- кнопка вкл. подсветки
Вот собственно скетч, заливаем с компа через USB:
#include <LiquidCrystal.h>
#include "DHT.h"
//init DHT
#define DHTPIN1 12 // what pin we're connected to
#define DHTTYPE1 DHT22 // DHT 22
DHT dht1(DHTPIN1, DHTTYPE1);
#define DHTPIN2 11 // what pin we're connected to
#define DHTTYPE2 DHT22 // DHT 22
DHT dht2(DHTPIN2, DHTTYPE2);
int on=2;// переменная с порогом вкл
int off=7;// переменная с порогом выкл
// вход от геркона
int analogPin = 0;
int val = 0;
int val2= 0;
// подсветка
int ledPin = 10;
LiquidCrystal lcd(8, 13, 9, 4, 5, 6, 7);
void setup() {
//pinMode(A0, INPUT); // кнопка подсветки
//pinMode(A7, INPUT); // кнопка подсветки
digitalWrite(A0, HIGH);
digitalWrite(A1, HIGH);
// выключим подсветку
pinMode(ledPin, OUTPUT);
digitalWrite(ledPin, LOW); // подсветка off
pinMode(2, OUTPUT); //нагрев
pinMode(3, OUTPUT); //свет
digitalWrite(2,HIGH); // rele 2 off
digitalWrite(3,HIGH); // rele 3 off
//инициируем lcd
lcd.begin(16, 2);
dht1.begin();
}
void loop() {
// вывод температуры и влажности 1
int h = dht1.readHumidity();
float t = dht1.readTemperature();
// check if returns are valid, if they are NaN (not a number) then something went wrong!
lcd.setCursor(0, 0);
if (isnan(t) || isnan(h)) {
lcd.println("Failed read from DHT");
} else {
lcd.print("In T=");
lcd.print(t);
lcd.setCursor(13, 0);
lcd.print(h);
lcd.print("%");
}
// вывод температуры и влажности 2
int h2 = dht2.readHumidity();
float t2 = dht2.readTemperature();
// check if returns are valid, if they are NaN (not a number) then something went wrong!
lcd.setCursor(0, 1);
if (isnan(t2) || isnan(h2)) {
lcd.println("Failed read from DHT");
} else {
lcd.print("Out T=");
lcd.print(t2);
lcd.setCursor(13, 1);
lcd.print(h2);
lcd.print("%");
}
// если температура больше заданной выключаем нагрев и подсветку
if (t>=off) {
digitalWrite(ledPin, LOW); // подсветка выкл
digitalWrite(2,HIGH); // нагрев выкл
}
else if (t<=on) // включим нагрев и подсветку
{
digitalWrite(ledPin, HIGH); // подсветка вкл
digitalWrite(2,LOW); // нагрев вкл
}
// читаем вход с кнопки
val = digitalRead(A0); // read the input pin
if (val==LOW)
{
digitalWrite(ledPin, HIGH); // подсветка on
delay (3000);
}
else if (t>on && val==HIGH)
{
digitalWrite(ledPin, LOW); // подсветка off
}
val2 = digitalRead(A1); //читаем геркон
if (val2==HIGH)
{
digitalWrite(3, LOW); // реле свет вкл
digitalWrite(ledPin, HIGH); // подсветка on
delay (100);
}
else
{
digitalWrite(3, HIGH); // реле свет выкл
digitalWrite(ledPin, LOW); // подсветка off
delay (100);
}
//lcd.setCursor(15, 0);
//lcd.print(!(digitalRead(2)));
//lcd.setCursor(15, 1);
//lcd.print(!(val2));
}
19 комментариев
А про мигающий дисплей — проверь самое последнее условие в своей программе — похоже, в нём…
Например такой.
Прицепить к нему нагрев и вентилятор и нормально будет.
Arduino + DHT22+LCD16x2+Реле(Тройка-модуль)+увлажнитель.
На данный момент сделан вывод температуры и влажности на дисплей, следующий этап подключение реле с увлажнителем. Заключительным этапом будет пост )
Все верно. Там еще UBEC стабилизатор. Для того чтобы не делать матрице отдельного питания. Ей надо 5в.
И приемник на 433Мгц. Для приема данных с внешнего датчика.
rc-go.ru/cat/bortovoy_stabilizator_napryazheniya_ubec/
Опубликовал топик. Предлагаю туда переместиться.
we.cs-cs.net/blog/206.html
мышкуйте...
Запилил его в корпус и запараллелил со штатным в качестве резерва. Получилось так:
Над нагревателем на решетку положил лист картона с зазорами, чтобы не жарил. Ну и отлично все сохранилось до весны. Правда в морозы приходилось подкручивать гистерезис, т.к. углы таки норовили промерзнуть. Также заклеивал вентиляцию сверху, через нее задувало сильно.
Я правда еще тестил вот такой термостат. Он чем удобен питание 220v, ну и в корпусе уже. А начинка думаю та же.