Satura rādītājs:

Bezvadu dārza sistēma: 7 soļi
Bezvadu dārza sistēma: 7 soļi

Video: Bezvadu dārza sistēma: 7 soļi

Video: Bezvadu dārza sistēma: 7 soļi
Video: Агрогороскоп выращивания картофеля в 2022 году 2024, Novembris
Anonim
Bezvadu dārza sistēma
Bezvadu dārza sistēma

Šis projekts ir balstīts uz Arduino, un tajā tiek izmantoti "moduļi", lai palīdzētu jums laistīt augus un reģistrēties temperatūrai, augsnei un lietum.

Sistēma ir bezvadu, izmantojot 2, 4 GHz, un datu nosūtīšanai un saņemšanai izmanto NRF24L01 moduļus. Ļaujiet man nedaudz paskaidrot, kā tā darbojas, PS! Atvainojiet, ja angļu valoda nav 100 % pareiza, es esmu no Zviedrijas.

Es izmantoju šo sistēmu, lai kontrolētu savus augus, grēkus man ir dažādi augi, kas man bija nepieciešami, lai tos reģistrētu dažādi. Tāpēc es izveidoju uz zonām balstītu žurnālu sistēmu.

Augsnes sensori, kas nolasa augsnes mitrumu un temperatūru (darbojas ar akumulatoru), pārbauda katru stundu un nodod datus bāzes mašīnai, kurai ir wifi savienojums. Dati tiek augšupielādēti manas mājas serverī un piesakās tīmekļa lapā.

Ja augsnei nepieciešams ūdens, tā aktivizēs pareizo sūkni atkarībā no tā, kādu augsnes sensoru ir pārbaudījis. Bet, ja līst lietus, tas nelaistīs. Un, ja tas ir patiešām karsts, tas nedaudz laistīs.

Pieņemsim, ka jums ir viena kartupeļu zeme, viena tabakai un otra tomātiem, tad jums var būt 3 zonas ar 3 dažādiem sensoriem un 3 sūkņi.

Ir arī pir sensori, kas pārbauda kustības, un, ja tie tiek aktivizēti tīmekļa vietnē, skaļa sirēna sāks biedēt dzīvnieku vai personu, kas iet tuvu maniem augiem.

Ceru, ka mazliet sapratāt. Tagad sāksim ražot som sensorus.

Mana GitHub lapa, kurā jūs lejupielādējat visu:

1. darbība: augsnes sensori

Augsnes sensori
Augsnes sensori
Augsnes sensori
Augsnes sensori
Augsnes sensori
Augsnes sensori
Augsnes sensori
Augsnes sensori

Katram sensoram ir unikāls numurs, kas tiek pievienots tīmekļa lapai. Tātad, kad augsnes sensors pārraida datus no šī augsnes sensora, tas tiks pievienots pareizajai zonai. Ja sensors nav reģistrēts, dati netiks iesniegti.

Šai būvei jums ir nepieciešams:

  • 1x Atmega328P-PU mikroshēma
  • 1x nRF24L01 modulis
  • 1x 100 uf kondensators
  • 1x NPN BC547 tranzistors
  • 2x 22 pF kondensatori
  • 1x 16.000 MHz kristāls
  • 1x augsnes mitruma sensors
  • 1x DS18B20 temperatūras sensors
  • 1x RGB LED (es izmantoju parasto anodu)
  • 3x 270 omi rezistori
  • 1x 4,7 K omu rezistors
  • Akumulators (es izmantoju 3.7v Li-Po akumulatoru)
  • Un, ja tiek izmantots li-po, akumulatora lādētāja modulis.

Lai sensori darbotos ilgu laiku, neizmantojiet iepriekš sagatavotas Arduino plates, jo tās ātri iztukšos akumulatoru. Tā vietā izmantojiet Atmega328P mikroshēmu.

Pievienojiet visu, kā tas ir redzams manā elektriskajā lapā. (Skatiet attēlu vai PDF failu) Ieteicams pievienot arī barošanas slēdzi, lai uzlādes laikā varētu samazināt strāvas padevi.

Augšupielādējot kodu, neaizmirstiet definēt sensoru, lai tiem piešķirtu unikālu ID numuru, kods ir pieejams manā GitHub lapā.

Lai augsnes sensori ilgi dzīvotu, es izmantoju NPN tranzistoru, lai tos ieslēgtu tikai tad, kad sākas lasīšana. Tātad tie netiek aktivizēti visu laiku, Katram sensoram ir ID numurs no 45XX līdz 5000 (to var mainīt), tāpēc katram sensoram jābūt unikāliem numuriem, viss, kas jums jādara, ir jādefinē kodā.

Sensori ieslēgsies miega režīmā, lai taupītu akumulatoru.

2. solis: dzīvnieku sensors

Dzīvnieku sensors
Dzīvnieku sensors
Dzīvnieku sensors
Dzīvnieku sensors
Dzīvnieku sensors
Dzīvnieku sensors
Dzīvnieku sensors
Dzīvnieku sensors

Dzīvnieku sensors ir vienkāršs pir sensors. Tas sajūt dzīvnieku vai cilvēku siltumu. Ja sensors uztver kustību. Viņi nosūtīs uz bāzes staciju.

Bet signāls netiks ieslēgts, lai to izdarītu, lapā tas ir jāaktivizē, vai, ja jums ir iestatīts taimeris, tas tajā laikā aktivizēs automātiski.

Ja bāze saņem kustības signālu no dzīvnieku sensora, tā to nodod sirēnas sensoram, un tas (es ceru) atbaidīs dzīvnieku. Mana sirēna ir 119 db.

Pir sensors darbojas ar akumulatoru, un es to ievietoju vecā pir sensora korpusā no vecā trauksmes signāla. Kabelis, kas nāk no dzīvnieku sensora, ir paredzēts tikai akumulatora uzlādēšanai.

Šim sensoram jums ir nepieciešams:

  • ATMEGA328P-PU mikroshēma
  • 1 x 16 000 MHz kristāls
  • 2 x 22 pF kondensators
  • 1 x Pir sensora modulis
  • 1 x 100 uF kondensators
  • 1 x NRF24L01 modulis
  • 1 x LED (es šeit neizmantoju nevienu RGB vadību)
  • 1 x 220 omu rezistors
  • Ja jūs strādājat ar akumulatoru, jums tas ir nepieciešams (es izmantoju Li-Po)
  • Akumulatora lādētāja modulis, ja jums ir uzlādējams akumulators.
  • Kaut kāds barošanas slēdzis.

Pievienojiet visu, kā redzat, elektriskajā loksnē. Pārbaudiet, vai varat barot savu pir sensoru no akumulatora (dažiem ir nepieciešami 5 volti).

Iegūstiet kodu no mana GitHub un definējiet raganu sensoru, kuru izmantosit (piemēram: SENS1, SENS2 utt.), Lai viņi iegūtu unikālus numurus.

ATMEGA mikroshēma pamodīsies tikai tad, kad tiks reģistrēta kustība. Grēkiem pir sensora modulī ir iebūvēts kavēšanās taimeris, kodā tam nav nekā, tāpēc noregulējiet pir sensora podu, lai tas aizkavētos.

Tas ir dzīvnieku sensoram, mēs ejam tālāk.

3. solis: ūdens sūkņa kontrolieris

Ūdens sūkņa kontrolieris
Ūdens sūkņa kontrolieris
Ūdens sūkņa kontrolieris
Ūdens sūkņa kontrolieris
Ūdens sūkņa kontrolieris
Ūdens sūkņa kontrolieris
Ūdens sūkņa kontrolieris
Ūdens sūkņa kontrolieris

Ūdens sūkņa kontrolierim ir jāuzsāk sūknis vai ūdens vārsts, lai apūdeņotu jūsu laukus. Šai sistēmai jums nav nepieciešami akumulatora grēki, un sūkņa darbināšanai ir nepieciešama jauda. Es izmantoju AC 230 līdz DC 5 v moduli, lai palaistu Arduino Nano. Arī man ir veidu sūkņi, viens, kas izmanto ūdens vārstu, kas darbojas ar 12 V, lai man būtu maiņstrāvas 230 līdz DC 12v modulis uz releja dēli.

Otrs ir 230 maiņstrāvas relejs, lai es varētu barot 230 V maiņstrāvas sūkni.

Sistēma ir pavisam vienkārša, katram sūkņa kontrolierim ir unikāli ID numuri, tāpēc pieņemsim, ka kartupeļu lauks ir sauss un sensors ir iestatīts uz automātisko ūdeni, tad šim sūknim, kas paredzēts kartupeļu laukam, pievieno šo sensoru, tāpēc augsnes sensors norāda bāzes sistēmai, ka jāsāk laistīšana, tāpēc bāzes sistēma izsūta signālu šim sūknim, lai tas aktivizētos.

Jūs varat iestatīt, cik ilgi tai vajadzētu darboties tīmekļa vietnē (piemēram, 5 minūtes), ja sensori pārbauda tikai katru stundu. Arī tad, kad sūknis apstāsies, tas saglabās laiku sistēmā, lai automātiskā sistēma neuzsāktu sūkni drīz. (Iespējams arī iestatīt tīmekļa vietnē).

Varat arī caur tīmekļa lapu atspējot laistīšanu naktī/dienā, iestatot īpašus laikus. Un arī iestatiet taimeri katram sūknim, lai sāktu laistīšanu. Un, ja līst lietus, viņi nelaistīs.

Ceru, ka saprati:)

Šim projektam jums ir nepieciešams:

  • 1 x Arduino Nano
  • 1 x NRF24L01 modulis
  • 1 x 100 uF kondensators
  • 1 RGB Led (es izmantoju parasto anodu)
  • 3 x 270 omi rezistori
  • 1 x releja dēlis

Pievienojiet visu kā elektrisko lapu (skatiet pdf failu vai attēlu) Lejupielādējiet kodu no GitHub un neaizmirstiet definēt sensora numuru.

Un tagad jums ir sūkņa kontrolieris, sistēma var apstrādāt ne tikai vienu.

4. solis: lietus sensors

Lietus sensors
Lietus sensors
Lietus sensors
Lietus sensors
Lietus sensors
Lietus sensors
Lietus sensors
Lietus sensors

Lietus sensors tiek izmantots lietus noteikšanai. Jums nav nepieciešams vairāk par vienu. Bet ir iespējams pievienot vairāk. Šis lietus sensors tiek darbināts ar akumulatoru un ik pēc 30 minūtēm pārbauda lietus. Viņiem ir arī unikāls numurs, lai tos identificētu.

Lietus sensors izmanto analogās un digitālās tapas. Ciparu tapai ir jāpārbauda, vai līst lietus (digitālais displejs parāda tikai jā vai nē), un jums ir jāieslēdz katls lietus sensora modulī, kad ir pareizi brīdināt par lietusgāzi (ūdens līmenis uz sensora, kas norāda uz lietus.)

Analogo tapu izmanto, lai procentos informētu, cik mitrs tas ir uz sensora.

Ja digitālā tapa nosaka, ka ir lietus, sensors to nosūtīs uz bāzes sistēmu. Un bāzes sistēma nelaistīs augus tik ilgi, kamēr "līs". Sensors arī nosūta, cik mitrs tas ir, un akumulatora stāvokli.

Mēs ieslēdzam lietus sensoru tikai tad, kad ir pienācis laiks lasīt caur tranzistoru, kas nodrošina digitālo tapu.

Šim sensoram jums ir nepieciešams:

  • ATMEGA328P-PU mikroshēma
  • 1x 16 000 MHz kristāls
  • 2x 22 pF kondensators
  • 1x lietus sensora modulis
  • 1x 100 uF kondensators
  • 1x NRF24L01 modulis
  • 1x RGB LED (es izmantoju parasto anodu, tas ir VCC, nevis GND)
  • 3x 270 omi rezistori
  • 1x NPN BC547 tranzistors
  • 1x akumulators (es izmantoju Li-Po)
  • 1x Li-Po lādētāja modulis (ja tiek izmantots Li-Po akumulators)

Pievienojiet visu, kā redzams elektriskajā lapā (pdf vai attēlā) Pēc tam augšupielādējiet kodu ATMEGA mikroshēmā, kā jūs varat atrast manā GitHub lapas sadaļā Lietus sensors Neaizmirstiet definēt sensoru, lai iegūtu pareizo ID numuru.

Un tagad jums būs lietus sensors, kas darbojas ik pēc 30 minūtēm. Jūs varat mainīt šo laiku, ja nevēlaties to mazāk vai vairāk.

Funkciju counterHandler () varat iestatīt mikroshēmas modināšanas laiku. Jūs aprēķināt šādi: mikroshēmas pamostas ik pēc 8 sekundēm un katru reizi, kad tā palielinās vērtību. Tātad 30 minūtes jūs saņemsiet 225 reizes, pirms tam būs jāveic darbības. Tātad pusstundā ir 1800 sekundes. Tātad, dalot to ar 8 (1800 /8), jūs iegūsit 225. Tas nozīmē, ka tas nepārbaudīs sensoru, kamēr tas nedarbosies 225 reizes un tas būs aptuveni 30 minūtes. To pašu darāt arī ar augsnes sensoru.

5. solis: dzīvnieku sirēna

Dzīvnieku sirēna
Dzīvnieku sirēna
Dzīvnieku sirēna
Dzīvnieku sirēna
Dzīvnieku sirēna
Dzīvnieku sirēna
Dzīvnieku sirēna
Dzīvnieku sirēna

Dzīvnieku sirēna ir vienkārša, ja dzīvnieku sensors nosaka kustību, sirēna tiks aktivizēta. Es izmantoju īstu sirēnu, lai es pat varētu nobiedēt cilvēkus. Bet jūs varat arī izmantot sirēnas, kuras dzird tikai dzīvnieki.

Šajā projektā es izmantoju Arduino nano un baroju to ar 12v. Sirēna ir arī 12 v, tāpēc releja vietā es izmantošu 2N2222A tranzistoru, lai iespējotu sirēnu. Ja izmantojat releju, ja jums ir tāda pati zeme, varat sabojāt savu Arduino. Tāpēc tāpēc es izmantoju tranzistoru, lai iespējotu sirēnu.

Bet, ja jūsu sirēna un Arduino neizmanto vienu un to pašu zemi, tā vietā varat izmantot releju. Izlaidiet tranzistoru un 2,2K rezistoru un izmantojiet releja dēli. Un arī izmaiņas Arduino kodā, kad aktivizēts, mainās no HIGH uz LOW un, kad tiek deaktivizēts, pāreja no LOW uz HIGH un digitālo nolasījumu 10 tapai, grēkiem relejs izmanto LOW, lai aktivizētu, un tranzistors izmanto HIGH, tāpēc jums tas ir jāmaina.

Šai būvei jums ir nepieciešams:

  • 1x Arduino nano
  • 1x 2,2K rezistors (izlaidiet, ja izmantojat releja dēli)
  • 1x 2N2222 tranzistors
  • 1x sirēna
  • 3x 270 omu rezistors
  • 1x RGB LED (es izmantoju parasto anodu, VCC, nevis GND)
  • 1X NRF24L01 modulis
  • 1x 100 uF kondensators

Pievienojiet visu, kā redzams uz elektriskās lapas PDF formātā vai attēlā. Augšupielādējiet kodu Arduino, kas atrodams manā GitHub lapā sadaļā Dzīvnieku sirēna Neaizmirstiet definēt sensoru pareizam ID numuram.

Un tagad jums ir strādājoša sirēna.

6. darbība: galvenā sistēma

Galvenā sistēma
Galvenā sistēma
Galvenā sistēma
Galvenā sistēma
Galvenā sistēma
Galvenā sistēma

Galvenā sistēma ir vissvarīgākā no visiem moduļiem. Bez tā jūs nevarat izmantot šo sistēmu. Galvenā sistēma ir savienota ar internetu, izmantojot moduli ESP-01, un tās savienošanai mēs izmantojam Arduino Megas Serial1 tapas. RX no Mega līdz TX uz ESP, bet mums ir jāiet cauri diviem rezistoriem, lai spriegumu samazinātu līdz 3.3. Un TX uz Mega līdz RX uz ESP.

Iestatiet ESP moduli

Lai izmantotu ESP, vispirms ir jāiestata uz to datu pārraides ātrums līdz 9600, tas ir tas, ko esmu izmantojis šajā projektā, un es atklāju, ka ESP darbojas vislabāk. No kastes tas bija iestatīts uz 115200 bodu ātrumu, jūs varat to izmēģināt, bet mans nebija tik stabils. Lai to izdarītu, jums ir nepieciešams Arduino (Mega darbojas labi), un jums ir jāpievieno ESP TX (caur rezistoriem, kā redzams lapā) ar Serial TX (nevis Serial1, ja izmantojat Mega) un RX uz ESP ar Arduino Serial RX.

Augšupielādējiet mirgojošu skici (vai jebkuru skici, kas neizmanto sērijveida) un atveriet sērijas monitoru un iestatiet pārraides ātrumu uz 115200 un NR & CR līnijās

Komandrindā ierakstiet AT un nospiediet enter. Jums vajadzētu saņemt atbildi, kurā teikts Labi, tāpēc tagad mēs zinām, ka ESP darbojas. (Ja nē, ir savienojuma problēma vai slikts ESP-01 modulis)

Tagad komandrindā ierakstiet AT+UART_DEF = 9600, 8, 1, 0, 0 un nospiediet enter.

Tas atbildēs ar OK, un tas nozīmē, ka esam iestatījuši bodu pārraides ātrumu 9600. Restartējiet ESP ar šādu komandu: AT+RST un nospiediet enter. Mainiet pārraides ātrumu sērijas monitorā uz 9600 un ievadiet AT un nospiediet enter. Ja jums atkal izdosies, ESP ir iestatīts uz 9600, un jūs varat to izmantot projektam.

SD kartes modulis

Es vēlos, lai būtu viegli mainīt sistēmas WIFI iestatījumus, ja tiek mainīta jauna parole vai wifi nosaukums. Tāpēc mums ir nepieciešams SD kartes modulis. SD kartes iekšpusē izveidojiet teksta failu ar nosaukumu config.txt, un lasīšanai mēs izmantojam JSON, tāpēc mums ir nepieciešams JSON formāts. Tātad teksta failā jābūt šādam tekstam:

}

Mainiet tekstu ar LIELIEM burtiem, lai tas būtu piemērots jūsu wifi tīklam.

Grēki, kurus mēs izmantojam NRF24L01, kas izmanto SPI, un SD karšu lasītājs izmanto arī SPI, mums ir jāizmanto SDFat bibliotēka, lai mēs varētu izmantot programmatūru SPI (mēs varam pievienot SD karšu lasītāju jebkurai tapai)

DHT sensors

Šī sistēma ir novietota ārā, un tai ir DHT sensors, lai mēs varētu pārbaudīt gaisa mitrumu un temperatūru. To izmanto papildu laistīšanai karstās dienās.

Šai būvei jums ir nepieciešams:

  • 1x Arduino Mega
  • 1x NRF24L01 modulis
  • 1x ESP-01 modulis
  • 1x SPI Micro SD kartes modulis
  • 1x DHT-22 sensors
  • 1x RGB LED (es izmantoju parasto anodu, VCC, nevis GND)
  • 3x 270 omi rezistori
  • 1x 22 K omu rezistors
  • 2x 10 K Ohm rezistors

Lūdzu, ņemiet vērā: ja nesaņemat stabilu ESP-01 moduli, mēģiniet to barot no ārējā 3,3 V barošanas avota.

Pievienojiet visu, kā redzat PDF faila elektriskajā lapā vai attēlā.

Augšupielādējiet kodu savā Arduino Mega un neaizmirstiet pārbaudīt visu kodu, vai nav komentāru, jo jums ir jāiestata resursdators uz serveri vairākās vietās (tas nav labākais risinājums, ko es zinu).

Tagad jūsu bāzes sistēma ir gatava lietošanai. Jums nav jāmaina mainīgie lielumi augsnes mitruma grēku kodā, to varat izdarīt šaurumā no tīmekļa lapas.

7. darbība: tīmekļa sistēma

Tīmekļa sistēma
Tīmekļa sistēma
Tīmekļa sistēma
Tīmekļa sistēma
Tīmekļa sistēma
Tīmekļa sistēma
Tīmekļa sistēma
Tīmekļa sistēma

Lai izmantotu sistēmu, nepieciešams arī tīmekļa serveris. Es izmantoju aveņu pi ar Apache, PHP, Mysql, Gettext. Tīmekļa sistēma ir daudzvalodu, lai jūs varētu viegli izveidot to savā valodā. Tam ir zviedru un angļu valoda (angļu valodā var būt nepareiza angļu valoda, mans tulkojums nav 100 %.) Tātad jums ir jāinstalē Gettext jūsu serverim, kā arī lokalizācijas.

Es jums parādīšu dažus ekrānuzņēmumus no sistēmas.

Tam ir vienkārša pieteikšanās sistēma, un galvenā pieteikšanās ir: administrators kā lietotājs un ūdens kā parole.

Lai to izmantotu, jums ir jāiestata trīs cron darbi (tos atradīsit mapē cronjob)

Fails timer.php, kas jāpalaiž ik pēc sekundēm. Tas saglabā visu caurumu sistēmas automatizāciju. Faila nosaukums temperatur.php tiek lietots, lai sistēmai nolasītu gaisa temperatūru un reģistrētu to. Tātad jums ir jāiestata krona darbs, cik bieži jūs to gatavojaties palaist. Man tas ir ik pēc 5 minūtēm. Tad failam ar nosaukumu dagstatistik.php vajadzētu darboties tikai vienu reizi pirms pusnakts (piemēram, 23:30, 23:30). Tas ņem dienas laikā no sensoriem ziņotās vērtības un saglabā to nedēļas un mēneša statikai.

Lūdzu, ņemiet vērā, ka šī sistēma saglabā temperatūru pēc Celsija, bet jūs varat mainīt uz Fārenheita.

Failā db.php jūs iestatāt sistēmas mysql datu bāzes savienojumu.

Vispirms pievienojiet sistēmai sensorus. Pēc tam izveidojiet zonas un pievienojiet zonām sensorus.

Ja jums rodas jautājumi vai atrodat sistēmas kļūdas, lūdzu, ziņojiet par tām GitHub lapā. Jūs varat izmantot tīmekļa sistēmu, un jums nav atļauts to pārdot.

Ja jums ir problēmas ar gettext lokalizācijām, lūdzu, atcerieties, ka, ja kā serveri izmantojat aveņu, tās bieži tiek nosauktas kā en_US. UTF-8, tāpēc šīs izmaiņas ir jāveic failā i18n_setup.php un lokalizācijas mapē. Pretējā gadījumā jūs iestrēgsiet zviedru valodā.

Jūs to lejupielādējat GitHub lapā.

Ieteicams: