Здравствуй!
Недавно наткнулся в интернете на интересную статью, с точки зрения садоводства, об англичанине, который 53 года назад посадил в банку традесканцию.Он закупорил бутылку и, после полива 40 лет назад, больше не открывал её. Идеи пришла ему из любопытства. И по сей день растение живет, растет и поглощает кислород. Традесканция образовала экосистему: при фотосинтезе образуется кислород, происходит увлажнение воздуха внутри сосуда и выпадает влага, опавшие листья перегнивают, выделяя CO2. Но для фотосинтеза нужен еще и свет, поэтому бутылку нужно постоянно пододвигать к окну и разворачивать, чтобы листья росли равномерно. Я добавил немного электроники для комнатного растения, и вот, что из этого получилось.
Этап Первый
Как уже говорилось, в процессе фотосинтеза самое важное это свет. Но не любой!
Для растений наиболее важным является сине-зеленый и желто-красный. Длины волн соответственно от 400 до 450 мкм и от 600 до 650 мкм. Я пошел в магазин и купил 4 красных, 2 синих и 2 зеленых светодиода (прочитав статью на радиокоте). Далее, расположил их под крышкой банки, закрепив на картонке, и соединил параллельно (на 2 красных 1 синий и 1 зеленый).
Т. к. светодиоды разных цветов свечения имеют разное напряжение питания, поставил резисторы. В крышке сделал отверстие для проводов и укрепил картонку со светодиодами под крышкой, предварительно просунув провода в дырку. Для большей изоляции от внешнего мира дырку можно заклеить.
Этап Второй
Основное, т. е. подсветку, я уже сделал, поэтому перехожу к полезным дополнениям.
1. Чтобы свет горел только тогда, когда растение находится в тени, нужно добавить фотоэлемент.
Схема подключения:
Чтобы сделать горшок совсем умным, подключим к нему Arduino. Analog InPut на схеме — любой аналоговый вход у Arduino. На ШИМ (или PWM) выход повесим светодиоды, яркость свечения которых будет изменяться в зависимости от освещенности фоторезистора. Но для начала выясним, какие значения будет выдавать делитель напряжения.
int sensor =0; // подключаем делитель к аналоговому входу Arduino A0
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.println(analogRead(sensor));
delay(1000); // Отправляет значения с делителя раз в секунду
}
В своей схеме я использовал фоторезистор из электронного конструктора ЗНАТОКа. У него теневое сопротивление 120 кОм. Расчет резистора R1 производится по формуле: R1
=Vin
*R2
:Vout
-R2
(Я надеюсь, все хорошо помнят порядок действий: сначала действия первой степени — умножение и деление, а потом второй — сложение и вычитание). Также, следует помнить, что сопротивление у фоторезистора может изменяться нелинейно.
Минимальное значение с моего делителя — около 100 (назовём их условными единицами), максимальное — около 755 у.е.
Зная эти значения можно написать программу для Arduino — контроллера.
int sensor = 0; // Потенциометр к А0
int ledPin = 9; //Светодиоды к выходу 9
void setup ()
{
analogReference(DEFAULT);
pinMode(ledPin, OUTPUT);
//Serial.begin(9600); Раскомментируйте эту строку для отображения текущей
//освещенности в у.е. в Мониторе Порта.
}
void loop()
{
int val = analogRead(sensor);
val = constrain(val, 130, 755); //Выставляем значения освещенности.
//Если < 130, то превращаем в 130, если > 755, то выставляем в 755.
int ledLevel = map(val, 130, 755, 0, 255); //Превращаем значения освещенности и у.е.
//в 8-битные значения для ШИМ.
analogWrite(ledPin, ledLevel);
// Serial.println(analogRead(ledLevel)); Раскомментируйте эту строку для отображения текущей
//освещенности в у.е. в Мониторе Порта.
}
Также, обратите внимание на то, что максимальный ток через цифровые Входы/Выходы Ардуины не должен превышать 40мА.
2. Каким бы Arduino не было умным, его вычислительные возможности здесь излишни. Добавив к делителю стабилитрон и транзистор получим все тоже, что и с процессором, только в меньшем объеме. Схема:
Стабилитрон D1 — любой мошности на 3.6 В. Транзистор T1 — любой NPN.
P.S. Смотрелось бы намного лучше, если бы провода не торчали. Сама конструкция будет технологичнее, если на дно банки положить катушку и питать подсветку без проводов (по примеру беспроводной зарядки у телефонов).
- Видео уроки по Arduino от Джереми Блума (Jeremy Blum) в переводе Амперки (amperka.ru).
- Фитолампа
Автор: mikkal