Здравствуй, Хабр!
Недавно наткнулся в интернете на интересную статью, с точки зрения садоводства, об англичанине, который 53 года назад посадил в банку традесканцию.Он закупорил бутылку и, после полива 40 лет назад, больше не открывал её. Идеи пришла ему из любопытства. И по сей день растение живет, растет и поглощает кислород. Традесканция образовала экосистему: при фотосинтезе образуется кислород, происходит увлажнение воздуха внутри сосуда и выпадает влага, опавшие листья перегнивают, выделяя CO2. Но для фотосинтеза нужен еще и свет, поэтому бутылку нужно постоянно пододвигать к окну и разворачивать, чтобы листья росли равномерно. Я добавил немного электроники для комнатного растения, и вот, что из этого получилось.
Как уже говорилось, в процессе фотосинтеза самое важное это свет. Но не любой!
Для растений наиболее важным является сине-зеленый и желто-красный. Длины волн соответственно от 440 до 550 нм и от 600 до 650 нм. Я пошел в магазин и купил 4 красных, 2 синих и 2 зеленых светодиода (прочитав статью на «Радиокоте»). Далее, расположил их под крышкой банки, закрепив на картонке, и соединил параллельно (на 2 красных 1 синий и 1 зеленый).
Т. к. светодиоды разных цветов свечения имеют разное напряжение питания, поставил резисторы.
В крышке сделал отверстие для проводов и укрепил картонку со светодиодами под крышкой, предварительно просунув провода в дырку. Для большей изоляции от внешнего мира дырку можно заклеить. 
Ревизия модуля освещения от 01.07.13.
Модуль специально был покрыт толстым слоем Цапонлака для предотвращения коррозии выводов элементов и меди на плате.
Основное, т. е. подсветку, я уже сделал, поэтому перехожу к полезным дополнениям.
1. Чтобы свет горел только тогда, когда растение находится в тени, нужно добавить фотоэлемент.
Схема подключения:
Чтобы сделать горшок совсем умным, подключим к нему Arduino. Analog InPut на схеме — любой аналоговый вход у Arduino. На ШИМ (или PWM) выход повесим светодиоды, яркость свечения которых будет изменяться в зависимости от освещенности фоторезистора. Но для начала выясним, какие значения будет выдавать делитель напряжения.
В своей схеме я использовал фоторезистор из электронного конструктора ЗНАТОКа. У него теневое сопротивление 120 кОм. Расчет резистора R1 производится по формуле: R
Минимальное значение освещения с моего делителя — около 100 (назовём их условными единицами), максимальное — около 755 у.е.
Зная эти значения можно написать программу для Arduino — контроллера.
Также, обратите внимание на то, что максимальный ток через цифровые Входы/Выходы Ардуины не должен превышать 40мА.
2. Вместо цифрового метода определения уровня освещенности можно использовать аналоговый. Добавив к делителю стабилитрон и транзистор получим все тоже, что и с процессором, только в меньшем объеме. Схема:
Стабилитрон D1 — любой мощности на 3.6 В. Транзистор T1 — любой NPN.
P.S. Смотрелось бы намного лучше, если бы провода не торчали. Сама конструкция будет технологичнее, если на дно банки положить катушку и питать подсветку без проводов (по примеру беспроводной зарядки у телефонов).
На фото ниже представлена первая экспериментальная банка. Растение в нее было посажено 01.06.13.

Впоследствии, от этой банки решено было отказаться, т.к. растению в ней не хватало места для роста (также, стальная крышка, с большой долей вероятности, за 40 лет использования, заржавеет :)).

Взамен маленькой литровой банки, растения были посажены в большие — 3-ех литровые. Заменена была и крышка — на полиэтиленовую.
P.S.S. Дата посадки: 30.06.2013 (01.07.13 была открыта банка для замены модуля освещения).
Фото 1: 10.07.13
Фото 2: 17.07.13. На фото ниже видно как на стенках начала проявляться растительность. Это свидетельствует о том, что простейшие виды растений тоже чувствуют себя в системе хорошо.
Фото 3: 02.09.13
Также, для эксперимента, в банку с денежным деревом была посажена косточка мандарина (предварительно не выдерживавшаяся во влажной марле и т.п.). Как видно на фото выше, сейчас она проросла.
По мере накопления экспериментальный данных, информация будет выкладываться здесь.
Недавно наткнулся в интернете на интересную статью, с точки зрения садоводства, об англичанине, который 53 года назад посадил в банку традесканцию.Он закупорил бутылку и, после полива 40 лет назад, больше не открывал её. Идеи пришла ему из любопытства. И по сей день растение живет, растет и поглощает кислород. Традесканция образовала экосистему: при фотосинтезе образуется кислород, происходит увлажнение воздуха внутри сосуда и выпадает влага, опавшие листья перегнивают, выделяя CO2. Но для фотосинтеза нужен еще и свет, поэтому бутылку нужно постоянно пододвигать к окну и разворачивать, чтобы листья росли равномерно. Я добавил немного электроники для комнатного растения, и вот, что из этого получилось.
Этап Первый
Как уже говорилось, в процессе фотосинтеза самое важное это свет. Но не любой!

Для растений наиболее важным является сине-зеленый и желто-красный. Длины волн соответственно от 440 до 550 нм и от 600 до 650 нм. Я пошел в магазин и купил 4 красных, 2 синих и 2 зеленых светодиода (прочитав статью на «Радиокоте»). Далее, расположил их под крышкой банки, закрепив на картонке, и соединил параллельно (на 2 красных 1 синий и 1 зеленый).
Т. к. светодиоды разных цветов свечения имеют разное напряжение питания, поставил резисторы.


Ревизия модуля освещения от 01.07.13.
Модуль специально был покрыт толстым слоем Цапонлака для предотвращения коррозии выводов элементов и меди на плате.
Этап Второй
Основное, т. е. подсветку, я уже сделал, поэтому перехожу к полезным дополнениям.
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 производится по формуле: R
1
=Vin
*R2
:Vout
-R2
; Vin
на схеме — +5V, Vout
— «к аналоговому входу Arduino» (Я надеюсь, все хорошо помнят порядок действий: сначала действия первой степени — умножение и деление, а потом второй — сложение и вычитание). Также, следует помнить, что сопротивление у фоторезистора может изменяться нелинейно.Минимальное значение освещения с моего делителя — около 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. Вместо цифрового метода определения уровня освещенности можно использовать аналоговый. Добавив к делителю стабилитрон и транзистор получим все тоже, что и с процессором, только в меньшем объеме. Схема:

Стабилитрон D1 — любой мощности на 3.6 В. Транзистор T1 — любой NPN.
P.S. Смотрелось бы намного лучше, если бы провода не торчали. Сама конструкция будет технологичнее, если на дно банки положить катушку и питать подсветку без проводов (по примеру беспроводной зарядки у телефонов).
На фото ниже представлена первая экспериментальная банка. Растение в нее было посажено 01.06.13.

Впоследствии, от этой банки решено было отказаться, т.к. растению в ней не хватало места для роста (также, стальная крышка, с большой долей вероятности, за 40 лет использования, заржавеет :)).

Взамен маленькой литровой банки, растения были посажены в большие — 3-ех литровые. Заменена была и крышка — на полиэтиленовую.
P.S.S. Дата посадки: 30.06.2013 (01.07.13 была открыта банка для замены модуля освещения).
Фото 1: 10.07.13

Фото 2: 17.07.13. На фото ниже видно как на стенках начала проявляться растительность. Это свидетельствует о том, что простейшие виды растений тоже чувствуют себя в системе хорошо.

Фото 3: 02.09.13

Также, для эксперимента, в банку с денежным деревом была посажена косточка мандарина (предварительно не выдерживавшаяся во влажной марле и т.п.). Как видно на фото выше, сейчас она проросла.
По мере накопления экспериментальный данных, информация будет выкладываться здесь.
Список источников
- Видео уроки по Arduino от Джереми Блума (Jeremy Blum) в переводе Амперки (amperka.ru).
- Фитолампа