Мазмуну:
- 1 -кадам: Топурак сенсорлору
- 2 -кадам: Жаныбарлар сенсору
- 3 -кадам: Суу насосунун контроллери
- 4 -кадам: Жамгыр сенсору
- 5 -кадам: Жаныбарлардын сиренасы
- 6 -кадам: Негизги система
- 7 -кадам: Желе системасы
Video: Зымсыз бакча системасы: 7 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:42
Бул долбоор Arduinoго негизделген жана "модулдарды" колдонуп, өсүмдүктөрүңүздү сугарууга жана температурага, топуракка жана жамгырга кирүүгө жардам берет.
Система 2, 4 ГГц аркылуу зымсыз жана NRF24L01 модулдарын колдонуп, маалыматтарды жөнөтүү жана алуу үчүн иштейт. Кечиресиз, эгер англисче 100 % туура эмес болсо, мен Швецияданмын.
Мен бул системаны өсүмдүктөрүмдү көзөмөлдөө үчүн колдоном, күнөөлөрүм бар, аларды башка журналдарга жаздырышым керек болгон ар кандай өсүмдүктөр бар.
Топурактын нымдуулугун жана темп -расын окуган топурак сенсорлору (батарейкада иштейт) саат сайын текшерет жана маалыматтарды wifi байланышы бар базалык машинага өткөрүп берет. Маалыматтар менин үйүмдөгү серверге жүктөлөт жана веб -баракчага кирет.
Эгерде топуракка сууга муктаждык болсо, ал сенсор текшерген нерсеге жараша туура насосту иштетет. Бирок жамгыр жааганда суу бербейт. А эгер чындап ысык болсо, анда ал кошумча сугарат.
Келгиле, сизде бир картошка жери бар, бирөө тамеки үчүн жана бирөө помидор үчүн, анда сизде 3 түрдүү сенсор менен 3 зона жана 3 насос болушу мүмкүн.
Кыймылдарды текшерүүчү пир сенсорлору да бар, эгер алар веб -баракчада иштетилсе, катуу сирена жаныбарды же менин өсүмдүктөрүмө жакын жүргөн адамды коркутуп баштайт.
Бир аз түшүндүңүз деп үмүттөнөбүз. Эми сомдук сенсорлорду жасай баштайлы.
Менин бардыгын жүктөп алчу GitHub баракчам:
1 -кадам: Топурак сенсорлору
Ар бир сенсордун веб -баракчасына кошулган уникалдуу номери бар. Ошентип, топурак сенсору ошол топурак сенсорунун маалыматын өткөрүп жатканда, туура зонага кошулат. Эгерде сенсор катталбаса, анда эч кандай маалымат берилбейт.
Бул курулуш үчүн сизге керек:
- 1x Atmega328P-PU чипи
- 1x nRF24L01 модулу
- 1x 100 uf конденсатор
- 1x NPN BC547 транзистору
- 2x 22 pF Capacitors
- 1x 16.000 МГц Кристалл
- 1x Топурактын нымдуулугу сенсору
- 1x DS18B20 Температура сенсору
- 1x RGB Led (Жалпы анод мен тарабынан колдонулат)
- 3x 270 Ом резисторлору
- 1х 4, 7 К ом каршылыгы
- Батарея (мен 3.7v Li-Po батареясын колдоном)
- Ал эми li-po колдонулса, батарея үчүн заряддагыч модуль.
Сенсорлордун узакка иштешин камсыз кылуу үчүн, алдын ала жасалган Arduino тактасын колдонбоңуз, алар батарейканы бат эле бошотушат. Анын ордуна Atmega328P чипин колдонуңуз.
Баарын менин электр баракчамда көрсөтүлгөндөй туташтырыңыз. (Сүрөттү же PDF файлын караңыз) Кубат которгучту кошуу сунушталат, андыктан кубатталып жатканда кубаттуулукту азайта аласыз.
Кодду жүктөп жатканда, уникалдуу ID номерин берүү үчүн сенсорду аныктоону унутпаңыз, код GitHub баракчамда жеткиликтүү.
Топурак сенсорлорун узак убакытка чейин сактап калуу үчүн, мен окуу башталганда гана аларды иштетүү үчүн NPN транзисторун колдоном. Ошентип, алар дайыма активдештирилбейт, Ар бир сенсордо 45XXтан 5000ге чейин ID номери бар (муну өзгөртүүгө болот), андыктан ар бир сенсор уникалдуу номерлерге ээ болушу керек, болгону коддо аныктоо керек.
Батарейканы үнөмдөө үчүн сенсорлор уктап калат.
2 -кадам: Жаныбарлар сенсору
Animal Sensor - бул жөнөкөй пир сенсор. Бул жаныбарлардын же адамдардын жылуулугун сезет. Эгерде сенсор кыймылды сезсе. Алар базалык станцияга жөнөтүшөт.
Бирок эч кандай ойготкуч болбойт, ан үчүн бетте сиз аны активдештиришиңиз керек, же таймерди орнотсоңуз, ал ошол убакта автоматтык түрдө иштетилет.
Эгерде база Animal сенсорунан кыймыл сигналын алса, аны Сирена сенсоруна өткөрүп берет жана ал (мен үмүт кылам) жаныбарды коркутат. Менин сиренам 119 дб.
Пир сенсор батарейкада иштейт, мен аны эски сигнализациядан эски пир сенсор корпусуна койдум. Жаныбар сенсорунан чыккан кабель жөн эле батареяны кубаттоо үчүн.
Бул сенсор үчүн сизге керек:
- ATMEGA328P-PU чипи
- 1 x 16 000 МГц кристалл
- 2 x 22 pF конденсатор
- 1 х Пир сенсор модулу
- 1 x 100 uF конденсатор
- 1 x NRF24L01 модулу
- 1 x Led (Мен бул жерде эч кандай RGBди колдонбойм)
- 1 х 220 Ом каршылыгы
- Эгер сиз батарейка менен иштей турган болсоңуз, анда сизге керек (мен Li-Po колдоном)
- Батареяны заряддоо модулу, эгерде сизде батарейка бар.
- Кандайдыр бир күч которгуч.
Электр баракчасында көрүп турганыңыздай баарын туташтырыңыз. Батарейкаңыздан пир сенсорун иштетүү үчүн текшериңиз (Кээ бирлердин иштеши үчүн 5v керек).
Менин GitHubдан кодду алыңыз жана колдоно турган сыйкырчы сенсорун аныктаңыз (Мисалы: SENS1, SENS2 ж.б.), алар уникалдуу номерлерге ээ болушат.
ATMEGA чипи кыймыл катталганда гана ойгонот. Пир сенсор модулунун күнөөлөрү кечигүү үчүн таймерди орноткон, бул үчүн коддо эч нерсе жок, андыктан пир сенсорундагы казанды кечигүү үчүн тууралаңыз, ал ойгонот.
Бул жаныбар сенсору үчүн, биз уланып жатабыз.
3 -кадам: Суу насосунун контроллери
Суу насостун контролеру сиздин талааларыңызды сугаруу үчүн насосту же суу клапанын баштоо. Бул системада сизге батареянын кереги жок, сизге насосту иштетүү үчүн күч керек. Nano. Ошондой эле мен насостун түрлөрүнө ээ болушум керек, 12 ваттта иштеген суу клапанын колдонот, андыктан менде релелик тактага AC 230 DC 12V модулу бар.
Экинчиси - релеге 230 AC, андыктан мен 230 В AC насосун иштете алам.
Система абдан жөнөкөй, ар бир насостун контролерунун уникалдуу идентификаторлору бар, ошондуктан картошка талаасы кургак жана сенсор авто сууга коюлган дейли, анда картошка талаасы үчүн болгон насосум ошол сенсорго кошулат, ошондуктан топурак сенсору базалык системага сугаттын башталышы керектигин айтып жатат, андыктан базалык система ошол насосту иштетүү үчүн сигнал жөнөтөт.
Сенсорлор саат сайын текшерип туруучу веб -беттеги иштөө мөөнөтүн (мисалы, 5 мүнөт) орното аласыз. Ошондой эле насос токтогондо, ал системада убакытты сактап калат, ошондуктан автоматтык система жакында насосту иштетпейт. (Ошондой эле веб -баракчадан орнотсо болот).
Сиз ошондой эле веб -баракча аркылуу атайын убакытты белгилөө менен түнү/күнү сугарууну өчүрө аласыз. Ошондой эле сугарууну баштоо үчүн ар бир насос үчүн таймерлерди орнотуңуз. Ал эми жамгыр жааганда алар сугарышпайт.
Түшүндүңүз деп үмүттөнөм:)
Бул долбоор үчүн сизге керек:
- 1 x Arduino Nano
- 1 x NRF24L01 модулу
- 1 x 100 uF конденсатор
- 1 RGB Led (жалпы анод мен үчүн колдонулат)
- 3 x 270 Ом резисторлор
- 1 x реле такта
Бардыгын электр барак катары туташтырыңыз (pdf файлын же сүрөтүн караңыз) GitHubдан кодду жүктөп алыңыз жана сенсордун номерин аныктоону унутпаңыз.
Ал эми азыр сизде насостун контролери бар, система бирөөнү эле чече албайт.
4 -кадам: Жамгыр сенсору
Жамгыр сенсору жамгырды аныктоо үчүн колдонулат. Сизге бирөөнүн ашыкча кереги жок. Бирок, бул жамгырдын сенсору батарейка менен жабдылган жана ар бир 30 мүнөт сайын жамгырды текшерет.
Жамгыр сенсору аналогдук жана санарип пиндерди колдонуп жатат. Санарип пин жаан жаап жаткандыгын текшерүү үчүн, (Санарипте "ооба" же "жок" дегенди көрсөтөт) жана жамгырдын сенсорунун модулуна идишти "жамгыр" жөнүндө эскертүүгө туура келет (сенсордогу суунун деңгээли) жамгыр жаап жатканын көрсөтүп турат.)
Аналогдук пин, сенсордо канчалык нымдуу экенин пайыз менен маалымдоо үчүн колдонулат.
Эгерде санарип пин пин жамгыр экенин байкаса, сенсор аны базалык системага жөнөтөт. Ал эми базалык система өсүмдүктөрдү "жамгыр" жаап турганча сугарбайт. Сенсор ошондой эле анын нымдуулугун жана батарейканын абалын жөнөтөт.
Биз жамгырдын сенсорун санарип пин аркылуу иштетүүчү транзистор аркылуу окуу убактысы келгенде гана иштетебиз.
Бул сенсор үчүн сизге керек:
- ATMEGA328P-PU чипи
- 1x 16 000 МГц Кристалл
- 2x 22 pF Конденсатор
- 1x Жамгыр сенсорунун модулу
- 1x 100 uF конденсатор
- 1x NRF24L01 модулу
- 1x RGB Led (Мен жалпы анодду колдондум, бул GNDдин ордуна VCC)
- 3x 270 Ом каршылыгы
- 1x NPN BC547 транзистору
- 1х Батарея (мен Li-Po колдоном)
- 1x Li-Po Charger модулу (эгер Li-Po батареясы колдонулса)
Электр баракчасында көрүп турганыңыздын бардыгын туташтырыңыз (pdf форматында же сүрөттө) Андан кийин кодду ATMEGA чипине жүктөгүлө, менин GitHub баракчамда жамгыр сенсорунун астынан таба аласыз Туура id номерин алуу үчүн сенсорду аныктоону унутпаңыз.
Жана азыр сизде жамгырдын сенсору болот, ал 30 мүнөт сайын иштейт, эгерде сиз азыраак же көбүрөөк каалабасаңыз, убакытты өзгөртө аласыз.
CounterHandler () функциясында сиз чиптин ойгонуу убактысын төмөнкүдөй эсептей аласыз: Чиптер ар бир 8 секундда ойгонот жана анын маанисин жогорулатат. Ошентип, 30 мүнөткө чейин 225 жолу аласыз.. Ошентип, жарым саатта 1800 секунд бар. Ошентип, аны 8ге бөлүңүз (1800/8), сиз 225 аласыз. Демек, ал сенсорду 225 жолу иштетмейинче текшербейт жана бул болжол менен 30 мүнөт болот. Топурак сенсорунда да ушундай кыласыз.
5 -кадам: Жаныбарлардын сиренасы
Жаныбарлардын сиренасы жөнөкөй, анткени жаныбарлардын сенсорлору кыймылды аныктайт. Сирена активдешет. Мен чыныгы сиренаны колдоном, андыктан мен аны менен элди коркутам. Бирок сиз ошондой эле жаныбарлар уккан сиреналарды колдоно аласыз.
Мен бул долбоордо Arduino наносун колдоном жана аны 12в менен кубаттайм. Сирена дагы 12 в, андыктан реленин ордуна мен сиренаны иштетүү үчүн 2N2222A транзисторун колдоном. Эгерде сиз релени бир эле жерге ээ болсоңуз, анда Arduinoңузга зыян келтиришиңиз мүмкүн. Ошондуктан мен сиренаны иштетүү үчүн транзисторду колдоном.
Бирок эгер сиздин сиренаңыз менен Arduino бир эле жерди колдонбосо, анын ордуна релени колдонсоңуз болот. Транзисторду жана 2.2K каршылыгын өткөрүп жиберип, анын ордуна релелик тактаны колдонуңуз. ЖАНЫ ЖОКтон ТӨМӨГӨ которулганда жана LOWдан ЖОЖго чейин ӨЧҮН сандыкка которулганда, индуктивдүү болгондо Arduino кодун өзгөртүү 10, реле активдештирүү үчүн ТӨМӨН колдонот жана транзистор ЖОГОРУ колдонот, андыктан аны алмаштырышыңыз керек.
Бул курулуш үчүн сизге керек:
- 1x Arduino наносу
- 1x 2.2K каршылыгы (релелик тактаны колдонсоңуз, өткөрүп жибериңиз)
- 1x 2N2222 транзистору
- 1x Сирена
- 3x 270 Ом каршылыгы
- 1x RGB Led (мен жалпы анодду, GND ордуна VCC колдоном)
- 1X NRF24L01 модулу
- 1x 100 uF конденсатор
Электр баракчасында PDFти же сүрөттү көрүп тургандын бардыгын туташтырыңыз. Жаныбарлардын сиренасынын астындагы GitHub баракчамда табылган Arduino кодун жүктөңүз. Туура ID номерине сенсорду аныктоону унутпаңыз.
Эми сизде иштеп жаткан сирена бар.
6 -кадам: Негизги система
Негизги система бардык модулдардын эң маанилүүсү. Ансыз бул системаны колдоно албайсыз. Негизги система ESP-01 модулу менен интернетке туташкан жана биз аны туташтыруу үчүн Arduino Megas Serial1 казыктарын колдонуп жатабыз. RX Mega боюнча TX to ESP, бирок биз вольтту 3.3кө түшүрүү үчүн эки резистор аркылуу өтүшүбүз керек. Ал эми EX боюнча RXке Mega боюнча TX.
ESP модулун орнотуу
ESPти колдонуу үчүн адегенде ага байдын ылдамдыгын 9600гө коюу керек, бул мен бул долбоордо колдонгон нерсе жана мен ESP эң жакшы иштээрин байкадым. Кутудан 115200 байдын ылдамдыгын коюп көрүңүз, бирок меники анча туруктуу эмес болчу. Бул үчүн сизге Arduino керек (Мега жакшы иштейт) жана ESP TX (баракта көргөн резисторлор аркылуу) Serial TX (Mega колдонуп жаткан болсо Serial1 эмес) менен RXти Arduino Serialге ESP боюнча туташтыруу керек. RX.
Жыпылдаган эскизди (же сериалды колдонбогон эскизди) жүктөп, сериялык мониторду ачыңыз жана линиянын ылдамдыгын 115200 жана NR & CR деп коюңуз.
Буйрук сабында AT деп жазып, enter басыңыз. Сиз OK деп жооп алышыңыз керек, андыктан азыр биз ESP иштеп жатканын билебиз. (Байланыш көйгөйү же начар ESP-01 модулу жок болсо)
Эми буйрук сабында AT+UART_DEF = 9600, 8, 1, 0, 0 деп жазыңыз жана enter басыңыз.
Бул OK менен жооп берет жана бул биз байдын ылдамдыгын 9600гө койгонубузду билдирет. ESPти төмөнкү буйрук менен кайра жүктөңүз: AT+RST жана enter баскычын басыңыз. Сериялык монитордогу берилүү ылдамдыгын 9600гө өзгөртүп, AT киргизип, Enter баскычын басыңыз. Эгер сиз кайра кайтарып алсаңыз, ESP 9600 үчүн орнотулган жана сиз аны долбоор үчүн колдоно аласыз.
SD карт модулу
Мен системанын WIFI жөндөөлөрүн өзгөртүү оңой болушун каалайм, жаңы сырсөз же wifi аталышы өзгөргөндө. Ошондуктан биз SD карт модулуна муктажбыз. SD картанын ичинде config.txt аталышындагы текст файлын түзүңүз жана биз окуу үчүн JSON колдонуп жатабыз, андыктан бизге JSON форматы керек. Ошентип, текст файлында төмөнкү текст болушу керек:
}
WIFI тармагыңызды оңдоо үчүн текстти Чоң тамгалар менен өзгөртүңүз.
Күнөөлөр биз SPRди колдонгон NRF24L01ди колдонот жана SD картты окуу программасы дагы SPIди колдонот, ошондуктан биз SoftwareSPIди колдонуу үчүн SDFat китепканасын колдонушубуз керек (биз каалаган картка SD картаны окуучу кошо алабыз)
DHT сенсор
Бул система сыртта жайгашкан жана DHT сенсоруна ээ, андыктан биз абанын нымдуулугун жана темп -расын текшере алабыз. Бул ысык күндөрү кошумча сугаруу үчүн колдонулат.
Бул курулуш үчүн сизге керек:
- 1x Arduino Mega
- 1x NRF24L01 модулу
- 1x ESP-01 модулу
- 1x SPI Micro SD карт модулу
- 1x DHT-22 сенсор
- 1x RGB Led (Мен жалпы анодду, GND ордуна VCC колдондум)
- 3x 270 Ом каршылыгы
- 1x 22 K Ом каршылыгы
- 2х 10 К Ом каршылыгы
Сураныч, эгерде сизде ESP-01 модулу туруктуу болбосо, аны тышкы 3.3v кубат булагынан иштетүүгө аракет кылыңыз.
PDF файлындагы же сүрөттөгү электр баракчасында көрүп турганыңыздын баарын туташтырыңыз.
Кодду Arduino Mega -ге жүктөңүз жана комментарийлер үчүн бүт кодду текшерүүнү унутпаңыз, анткени сиз хостту серверге бир нече жерге орнотушуңуз керек (бул мен билген эң жакшы чечим эмес).
Эми сиздин базалык системаңыз колдонууга даяр. Топурактын нымдуулугу үчүн коддогу өзгөрмөлөрдү алмаштыруунун кажети жок, муну веб -баракчадан жасасаңыз болот.
7 -кадам: Желе системасы
Системаны колдонуу үчүн веб -сервер да керек. Мен Apache, PHP, Mysql, Gettext менен малина пи колдоном. Веб системасы көп тилдүү, андыктан сиз аны өз тилинде оңой жасай аласыз. Бул швед жана англис тилдери менен келет (англисче туура эмес англисче болушу мүмкүн, менин котормосум 100 %эмес.) Андыктан сизге Gettext серверин, ошондой эле локалдарды орнотушуңуз керек.
Мен сизге системадан жогорудагы скриншотторду көрсөтөм.
Бул жөнөкөй кирүү системасы менен келет жана негизги логин: колдонуучу катары администратор жана пароль катары суу.
Аны колдонуу үчүн сиз үч cron жумушун орнотушуңуз керек (сиз аларды cronjob папкасынан таба аласыз)
Таймер.php файлы ар бир секундда иштеши керек. Бул тешик системасынын бардык автоматташтырууларын камтыйт. Temperatur.php файлдын аталышы тутумга абанын температурасын окуп, аны каттоону айтуу үчүн колдонулат. Ошентип, сиз аны канчалык тез -тез иштете турганыңыз боюнча cron жумушун орнотушуңуз керек. Менде ар бир 5 мүнөт бар, андан кийин dagstatistik.php деп аталган файл түн ортосуна чейин бир гана жолу иштеши керек (23:30, 23:30 сыяктуу). Ал күндүз сенсорлордон алынган баалуулуктарды алат жана аны жума жана айдын статикасына сактайт.
Сураныч, бул система температураны Цельсийде сактайт, бирок сиз Фаренгейтке өзгөртө аласыз.
Db.php файлында сиз система үчүн mysql маалымат базасын туташтырасыз.
Биринчиден, сенсорлорду системага кошуңуз. Анан зоналарды жасап, зоналарга сенсорлорду кошуңуз.
Эгерде сизде системада каталар же суроолор болсо, GitHub баракчасына билдириңиз, веб -системаны колдонсоңуз болот жана аны сатууга уруксатыңыз жок.
Эгерде сизде gettext үчүн локалдык көйгөйлөр бар болсо, анда сиз малинаны сервер катары колдонсоңуз, алар көбүнчө en_US. UTF-8 деп аталып калганын унутпаңыз, андыктан ал өзгөртүүлөрдү i18n_setup.php файлына жана локалдык папканын астына киргизишиңиз керек. Болбосо сиз швед тили менен тыгылып каласыз.
Сиз аны GitHub баракчасынан жүктөп алыңыз.
Сунушталууда:
DIY зымсыз энергия берүү системасы: 4 кадам (сүрөттөр менен)
DIY Wireless Energy Transfer System: Бул долбоордо мен сизге 20W кубатын оңой өткөрүп бере турган зымсыз энергия берүү системасы үчүн тиешелүү катушканы жана инвертор схемасын кантип түзүүнү көрсөтөм. Кел, баштайлы
Автоматташтырылган бакча системасы Raspberry Piде сыртта же үйдө курулган - MudPi: 16 кадам (сүрөттөр менен)
Автоматташтырылган бакча системасы Raspberry Piде сыртта же үйдө курулган - MudPi: Сиз багбанчылыкты жакшы көрөсүз, бирок аны сактоого убакыт таба албай жатасызбы? Балким, сизде бир аз суусаган же гидропоникаңызды автоматташтыруунун жолун издеп жүргөн кээ бир үй өсүмдүктөрү бардыр? Бул долбоордо биз ошол көйгөйлөрдү чечебиз жана негиздерин үйрөнөбүз
HC12 зымсыз модулун колдонуу менен зымсыз Arduino роботу: 7 кадам
HC12 зымсыз модулун колдонуу менен зымсыз Arduino роботу: Эй балдар, кайра кош келиңиздер. Мурунку постумда, мен H Bridge Circuit деген эмне экенин түшүндүрдүм, L293D мотор айдоочусу IC, piggybacking L293D мотор айдоочусу IC, учурдагы мотор драйверлерин айдоо үчүн жана өзүңүздүн L293D мотор айдоочулар тактаңызды кантип иштеп чыгууга болот
Raspbian Stretch боюнча TP Link WN7200ND USB зымсыз адаптери менен элүү метр диапазону зымсыз кирүү чекити: 6 кадам
Raspbian Stretch боюнча TP Link WN7200ND USB зымсыз адаптери менен элүү метр аралыкта зымсыз кирүү чекити: Raspberry Pi коопсуз зымсыз кирүү пункттарын түзүүдө эң сонун, бирок анын диапазону жакшы эмес, мен аны узартуу үчүн TP Link WN7200ND USB зымсыз адаптерин колдондум. Мен муну кантип жасоону бөлүшкүм келет Эмне үчүн роутердин ордуна малина пи колдонгум келет? T
Зымсыз эшик коңгуроосун зымсыз ойготкучту күйгүзүү же күйгүзүү/өчүрүү: 4 кадам
Зымсыз эшик коңгуроосун зымсыз ойготкучту өчүрүү же күйгүзүү/өчүрүү: Мен жакында сигнализация системасын куруп, үйүмө орноттум. Мен эшиктердеги магниттик өчүргүчтөрдү колдонуп, аларды чердактан өткөрдүм. Терезелер дагы бир окуя болчу жана аларды катуу зым менен жабуу мүмкүн эмес болчу. Мага зымсыз чечим керек болчу жана бул