Протектор за саксийни растения

Оригинално заглавие:  Potted Plant Protector

Автор: Luke Iseman

Превод: Т.Б.

Направете цифров страж за своите любими растения! Използвайки Arduino и няколко не скъпи сензора, вие можете да опазите растенията си изключително щастливи с подходящо количество влага, топлина и светлина. Най-елементарната версия на протекторът за саксийни растения усеща яркостта на светлината, мокротата на почвата, и топлината на въздуха на което растението Ви е изложено. Arduino извежда тези отчети посредством USB, и ги визуализира на компютърния екран. Първоначално Вие ще започнете чрез изграждане на този елементарен монитор, и след това ще преминете на сглобяването на проекти със средно и високо ниво на сложност, които ще включват LED и LCD дисплеи, когато научите повече за Arduino и електрониката постепенно.Всички електронни компоненти и за трите версии са достъпни през Radio Shack в Make:“Ultimate Microcontroller Pack“. Те могат да бъдат закупени по отделно.

#1 СТЪПКА ПЪРВА: Сензори за светлина, топлина и влага.

– За основното изграждане ще Ви е необходим Arduino Uno, учебна платка Breadboard(без запояване), три резистора 10kΩ, мостови проводници, термистор (температурен сензор), фоторезистор (сензор за осветеност), и стоманени болтове и гайки.
– Същото така ще трябва да направите 2 раздалечителя за вашите почвени пробници(болтовете). В парче пластмаса, пробийте 2 дупки 1/2″ (~1.27см) за да поставите болтовете. Направете втори раздалечител и прокарайте вашите болтове през двата раздалечителя, за да ги запазите на разстояние, което няма да се променя.
– Аз калибрирах любителският сензор за почвата като отрязах с лазер малко 1/16″ парче акрил, за да служи като раздалечител между малките парчета стоманен прът с диаметър 1/16″, често използван при TIG заваряването. Файловете за отрязването на акрила са достъпни тук.

#2 СТЪПКА ВТОРА: Направете 3-сензорната схема.

– Трите различни сензора, които ще използвате работят по един и същ начин, осигурявайки електрическо съпротивление, което се променя в зависимост от количеството влага, топлина, или светлина което се детектира. Най-общо вие може да използвате елементарна схема като показаната на първото изображение, за да „четете“ променливото съпротивление с Arduino.
– Тук ние ще използваме именно тази конфигурация за нашите 3 сензора – за влажност на почвата, температура, и светлина – и ще ги свържем заедно, за да създадем схемата показана на второто изображение.
– Следвайки схемата, направете схемата на breadboard платката; сензора за влага представлява просто 2 дълги проводника, всеки един от които навит около болт и завит с гайка. Сондата за влага се свързва с аналоговия вход на извод A0 на Arduino, термистора към извод A1, а фоторезистора към извод A2.

#3 СТЪПКА ТРЕТА: Програмирайте Arduino

– Най-общо, ние прочитаме стойността на променливия резистор закачен към аналоговия вход на Arduino със следния код:

sensorValue = analogRead(inputPin);
където sensorValue е прочетената стойност от сензора, а inpuPin е номера на аналоговия извод, към който е свързан сензора.

– За да прочетете 3 сензора, ние просто повтаряме този код за трите сензора, добавяме декларации на променливите, и настройваме нашият сериен порт. Тука е готовият код – свалете го от този линк, отворете го в Arduino IDE, и го качете във вашето Arduino.

#4 СТЪПКА ЧЕТВЪРТА: Поставете и калибрирайте сензорите.

– Поставете почвеният сензор в пръстта близо до растението Ви, монтирайте фоторезистора на място, където ще получава еднакво количество светлина, каквото получават и листата на растението и монтирайте термистора до фото-сензора. Захранете Arduino и наблюдавайте Серийния Монитор на вашия компютър, за да видите стойностите на сензорите, обновявани всяка една секунда.
– За най-добра защита на саксиеното Ви растение, вие ще желаете да калибрирате вашите сензори, спрямо най-подходящите условия за вашето растение. Вашият местен градинар е добър източник на информация, относно въпроси свързани с това „с каква влажност трябва да бъде почвата?.“ След като ги научите, ще ги сравните с тези от Arduino устройството.
– Вие също така можете да наемете любителски сензор, за да калибрирате вашите евтини сензори. Тук съм поместил отчетите, които съм снел с индустриален сензор за влага, сравнен със стойностите от Arduino и моите пробници:

+++ При отворен въздух: и двата сензора отчитат 0
+++ Много суха почва: 2% Vegetronix, 5 DIY
+++ Леко влажна: 7%, 150
+++ Още по-влажна: 8%, 250
+++ Влажна: 28%, 370
+++ Много влажна почва: 51%, 385
+++ Пробник потопен във вода: 85%, 480

И така, ако желаех моята почва да бъде с влажност 28%, трябваше да следя за отчет със стойност 385, като моя крайна точка.

#5 СТЪПКА ПЕТА: Междинно изграждане: Добавете RGB светодиоден индикатор.



– Сега, Вие ще добавите светодиод (LED), който да показва до каква степен растенията Ви са щастливи. Аз използвам син светодиод, за да покажа липсата на вода, зелен за осветеността, и червен за температурата, всички три цвята се визуализират с помощта на 1 RGB светодиод. (Разбира се, Вие имате и куп други варианти!) Вземете RGB светодиода и три 330Ω резистора.
– Най-общо, Вие можете да свържете светодиод към Arduino със схемата показана на първото изображение. Върху символното означение на светодиода LED, триъгълника сочи към анода (отрицателната страна). На реалният светодиод, по-дългият извод е този, който ще свържете към маса. (Аз изгорях няколко скъпи светодиода, свързвайки ги наобратно!)
– Резистора регулира стойността на тока към светодиода: твърде много ток, и нашия светодиод ще изгори само след няколко секунди, вместо да издържи няколко 10,000 часа, както и би трябвало.

#6 СТЪПКА ШЕСТА: Свържете светодиода във вашата схема.


– С RGB светодиода, често срещано е червеният, зеления и синият елемент да притежават общ анод, което в резултат дава 4-изводен светодиод (проверете във вашата техническа спецификация, за да определите дали е общ анода/ катода). RGB светодиода използван в пакета MAKE: Ultimate Microcontroller Pack е общ анод, и така ще го свържем по начина показан на схемата тук.
– Следвайки схемата, свържете светодиода към +5V захранване и към цифровите входни/ изходни (I/O) изводи D9, D10, и D10.

#7 СТЪПКА СЕДМА: Репрограмирайте Arduino.



– Голямата нова идея тук е извикването на функциите: вместо да пишем един и същи код хиляди пъти, ние можем да го поставим във функция и просто да я извикваме. Например, тук е показано как ще сменяме 3-те различни цветове на светодиода:
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, HIGH);

Вместо да пишем това всеки път, когато желаем да нашият светодиод да се изключи, ние можем да го поставим във функция:
void off()
{
digitalWrite(redPin, HIGH);
digitalWrite(greenPin, HIGH);
digitalWrite(bluePin, HIGH);
}

– Сега вече, ние можем да извикваме този код винаги, когато желаем с извикването на функцията off();. Това е най-елементарната употреба на функциите. Когато научите повече за програмирането, Вие ще правите всякакви яки и по-сложни неща с тях.
– Тук е качен крайният код – свалете го от този линк, отворете го в Arduino IDE, и го заредете във вашето Arduino.
– Този код циклично ще засветне нашия светодиод с неговите различни зветове за разбира се 5 сек., в зависимост от условията на нашето растение:
–> Светодиода ще премигне в синьо за 1 сек. ако почвата е влажна.
–> Светодиода ще премигне в червено ако на растенията им е топло.
–> Светодиода ще премигне в зелено ако растенията получават слънчева светлина.

#8 СТЪПКА ОСМА, Разширена: Визуализиране на отчетите върху LCD екран.



– Сега, Вие ще добавите LCD текстови екран, за да покажем стойностите от 3-те сензора, всяка за 4 секунди (докато светодиода все още свети с определения цвят, съответстващ на определено състояние на растението). Вземете 16-изводният LCD дисплей и 10kΩ потенциометър от комплекта Make: Ultimate Microcontroller Pack.
– Ще трябва да направите няколко спойки, за да свържете LCD дисплея. Ако никога до сега не сте запоявали, не се тревожете! Лесно е, ако използвате добри инструменти и правилен подход. Нашето знаменито ръководство за запояване е едно страхотно място, от където да започнете да учите.

#9 СТЪПКА ДЕВЕТА: Свържете LCD дисплея и го тествайте.



– ще свържете дисплеят по малко по-различен начин, за разлика от случая, когато бихте имали свързан единствено LCD дислея. Не се тревожете, ние ще Ви осигурим всичко, което трябва да знаете за проекта! За любопитните сред вас, погледнете
http://arduino.cc/en/Tutorial/LiquidCrystalDisplay

– Следвайки схемата, свържете LCD във вашата схема:

–> LCD Извод #1 към Масата на вашата Breadboard платка
–> LCD Извод #2 към 5V и също към външния извод на потенциометъра –без значение към кой външен извод, просто изберете един.
–> LCD Извод #3 към плъзгача на потенциометъра –това е средният му извод.
–> LCD Извод #4 към цифровият извод #7 на Arduino.
–> LCD Извод #5 към масата GND и също към външния извод на потенциометъра.
–> LCD Извод #6 към цифровият извод #6 на Arduino –това е различно от стандартната налична LCD библиотека.
–> LCD Изводи от #7 до #10 несвързвайте към нищо.
–> LCD Извод #11 към цифровият извод #5 на Arduino.
–> LCD Извод #12 към цифровият извод #4 на Arduino.
–> LCD Извод #13 към цифровият извод #3 на Arduino.
–> LCD Изводи #14 и #15 несвързвайте към нищо.

– Вече упоменатото с линк ръководство за Arduino ви осигурява всичко от което се нуждаете, за да управлявате LCD. За да тествате своето LCD, тук е даден примерен код, вече адаптиран за вашите изводи. Свалете го от този линк и го заредете в Arduino, след което завъртете потенциометъра докато не видите изписан надписа „hello world“ върху екрана. Ако вашият LCD дисплей е свързан правилно, това трябва да премига на всяка секунда.

#10 СТЪПКА ДЕСЕТА: Репрограмирайте Arduino.

– Сега тук вече е целият код за протектора на саксийните растения със добавения LCD дисплей. Веднъж щом сте доволни от това, че LCD-то ви работи, свалете кода от този линк и го заредете в Arduino.

#11 СТЪПКА ЕДИНАДЕСЕТА: Израстваме още.



– Това е! Сега вече растенията Ви могат да Ви кажат точно от какво се нуждаят, когато се имат нужда от него.