فهرست مطالب:

سیستم باغ بی سیم: 7 مرحله
سیستم باغ بی سیم: 7 مرحله

تصویری: سیستم باغ بی سیم: 7 مرحله

تصویری: سیستم باغ بی سیم: 7 مرحله
تصویری: لزبازی لیلا اوتادی چه لبی میگیره (نبینی از دستت رفته) 2024, نوامبر
Anonim
سیستم باغ بی سیم
سیستم باغ بی سیم

این پروژه بر اساس آردوینو است و از "ماژول" برای کمک به شما در آبیاری گیاهان و ورود به دما و خاک و باران استفاده می کند.

سیستم بی سیم تا 2 ، 4 گیگاهرتز است و از ماژول های NRF24L01 برای ارسال و دریافت داده ها استفاده می کند. اجازه دهید کمی در مورد نحوه عملکرد آن توضیح دهم ، PS! ببخشید اگر انگلیسی 100٪ درست نیست ، من اهل سوئد هستم.

من از این سیستم برای کنترل گیاهان خود استفاده می کنم ، در حالی که گیاهان مختلفی دارم که برای ثبت آنها نیاز دارم. بنابراین یک سیستم ورود به سیستم منطقه ای ایجاد می کنم.

سنسورهای خاک که رطوبت و دمای خاک را می خواند ، (با باتری کار می کند) هر ساعت بررسی می کند و داده ها را به دستگاه پایه که اتصال وای فای دارند منتقل می کند. داده ها در سرور خانه من بارگذاری می شوند و در صفحه وب وارد می شوند.

اگر خاک به آب احتیاج داشته باشد ، بسته به آنچه سنسور خاک بررسی کرده است ، پمپ صحیح را فعال می کند. اما اگر باران ببارد آب نمی دهد. و اگر واقعاً گرم باشد ، مقدار بیشتری آب می دهد.

فرض کنید یک زمین سیب زمینی دارید ، یکی برای تنباکو و دیگری برای گوجه فرنگی ، سپس می توانید 3 منطقه با 3 سنسور مختلف و 3 پمپ داشته باشید.

همچنین سنسورهای پیر وجود دارد که حرکات را بررسی می کند ، و اگر آنها در صفحه وب فعال شوند ، آژیر خطرناکی شروع به ترساندن حیوان یا شخصی می کند که نزدیک گیاهان من قدم می زند.

امیدوارم کمی متوجه شده باشید. حالا بیایید ساخت سنسورهای som را شروع کنیم.

صفحه GitHub من که همه چیز را در آن بارگیری می کنید:

مرحله 1: سنسورهای خاک

سنسورهای خاک
سنسورهای خاک
سنسورهای خاک
سنسورهای خاک
سنسورهای خاک
سنسورهای خاک
سنسورهای خاک
سنسورهای خاک

هر سنسور دارای یک شماره منحصر به فرد است که به صفحه وب اضافه می شود. بنابراین هنگامی که سنسور خاک در حال انتقال اطلاعات از آن سنسور خاک است به منطقه صحیح اضافه می شود. اگر سنسور ثبت نشده باشد ، هیچ داده ای ارسال نمی شود.

برای این ساخت شما نیاز دارید:

  • 1 عدد تراشه Atmega328P-PU
  • 1 عدد ماژول nRF24L01
  • 1x 100 uf خازن
  • 1x ترانزیستور NPN BC547
  • 2x 22 pF خازن
  • کریستال 1x 16.000 مگاهرتز
  • 1x سنسور رطوبت خاک
  • سنسور دما 1x DS18B20
  • 1x RGB Led (آند معمولی توسط من استفاده می شود)
  • مقاومت 3x370 270 اهم
  • مقاومت 1x 4 ، 7 کیلو اهم
  • باتری (من از باتری Li-Po 3.7 ولت استفاده می کنم)
  • و در صورت استفاده از li-po ، یک ماژول شارژر برای باتری.

برای کارکرد طولانی مدت سنسورها ، از هیچ برد پیش ساخته آردوینو استفاده نکنید ، آنها سریع باتری را خالی می کنند. در عوض از تراشه Atmega328P استفاده کنید.

همه چیز را همانطور که در ورق برقی من نشان داده است وصل کنید. (تصویر یا فایل PDF را ببینید) توصیه می شود همچنین یک سوئیچ قدرت اضافه کنید ، بنابراین می توانید هنگام شارژ برق را قطع کنید.

هنگام بارگذاری کد ، برای تعیین شماره شناسه منحصر به فرد ، سنسور را فراموش نکنید ، کد در صفحه GitHub من موجود است.

برای زنده نگه داشتن سنسورهای خاک برای مدت طولانی ، از ترانزیستور NPN برای فعال کردن آنها استفاده می کنم ، فقط در هنگام شروع خواندن. بنابراین آنها همیشه فعال نیستند ، هر سنسور دارای یک شماره شناسه از 45XX تا 5000 است (این را می توان تغییر داد) بنابراین هر سنسور باید دارای اعداد منحصر به فردی باشد ، تنها کاری که باید انجام دهید این است که در کد تعریف کنید.

سنسورها برای صرفه جویی در باتری به خواب می روند.

مرحله 2: سنسور حیوانات

سنسور حیوانات
سنسور حیوانات
سنسور حیوانات
سنسور حیوانات
سنسور حیوانات
سنسور حیوانات
سنسور حیوانات
سنسور حیوانات

سنسور حیوانات یک سنسور پیر ساده است. گرمای ناشی از حیوانات یا انسان را احساس می کند. اگر سنسور حرکت را حس می کند. آنها به ایستگاه پایه ارسال می شوند.

اما برای انجام این کار ، هیچ زنگ هشدار داده نمی شود ، در صفحه باید آن را فعال کنید ، یا اگر یک تایمر تنظیم کرده اید ، آن زمان به طور خودکار فعال می شود.

اگر پایه سیگنال حرکت را از سنسور Animal دریافت کند ، آن را به سنسور آژیر انتقال می دهد و (امیدوارم) حیوان را بترساند. صدای آژیر من 119 دسی بل است.

سنسور پیر با باتری کار می کند و من آن را در یک محفظه سنسور پیر قدیمی از زنگ هشدار قدیمی قرار داده ام. کابل که از سنسور حیوان خارج می شود فقط برای شارژ باتری است.

برای این سنسور شما نیاز دارید:

  • تراشه ATMEGA328P-PU
  • 1 کریستال 16000 مگاهرتز
  • خازن 2 x 22 pF
  • 1 عدد ماژول سنسور پیر
  • خازن 1 x 100 uF
  • 1 عدد ماژول NRF24L01
  • 1 x Led (من از رهبری RGB در اینجا استفاده نمی کنم)
  • مقاومت 1 x 220 اهم
  • اگر با باتری کار می کنید به آن نیاز دارید (من از Li-Po استفاده می کنم)
  • در صورت داشتن باتری شارژ ماژول شارژر باتری.
  • نوعی سوئیچ قدرت

همه چیز را همانطور که در ورق برقی مشاهده می کنید وصل کنید. بررسی کنید تا بتوانید سنسور پیر خود را از باتری تغذیه کنید (برخی از آنها به 5 ولت نیاز دارند).

کد را از GitHub من دریافت کنید و حسگر جادوگری را که قرار است از آن استفاده کنید (مانند: SENS1 ، SENS2 و غیره) تعریف کنید تا آنها شماره های منحصر به فردی دریافت کنند.

تراشه ATMEGA تنها زمانی ثبت می شود که حرکت ثبت شود. از آنجا که ماژول سنسور پیر دارای تایمر برای تأخیر است ، هیچ چیزی در کد وجود ندارد ، بنابراین گلدان را روی سنسور پیر تنظیم کنید تا تاخیر بیدار شود.

این برای سنسور حیوانات است ، ما در حال حرکت هستیم.

مرحله 3: کنترل کننده پمپ آب

کنترل کننده پمپ آب
کنترل کننده پمپ آب
کنترل کننده پمپ آب
کنترل کننده پمپ آب
کنترل کننده پمپ آب
کنترل کننده پمپ آب
کنترل کننده پمپ آب
کنترل کننده پمپ آب

کنترل کننده پمپ آب باید یک پمپ یا شیر آب را برای آبیاری زمینهای خود راه اندازی کند. برای این سیستم شما نیازی به باتری ندارید ، برای کارکردن پمپ خود به برق نیاز دارید. من از ماژول AC 230 تا DC 5 ولت برای اجرای آردوینو استفاده می کنم. نانو همچنین باید انواع پمپ ها را داشته باشم ، یکی که از شیر آب با ولتاژ 12 ولت استفاده می کند ، بنابراین ماژول AC 230 تا DC 12v به برد رله دارم.

دیگری 230 AC در رله است تا بتوانم پمپ AC 230 V را تغذیه کنم.

سیستم بسیار ساده است ، هر کنترل کننده پمپ دارای شماره شناسه منحصر به فرد است ، بنابراین فرض کنید میدان سیب زمینی خشک است و سنسور روی آب خودکار تنظیم شده است ، سپس پمپ من که برای زمین سیب زمینی است به آن سنسور اضافه می شود ، بنابراین سنسور خاک به سیستم پایه می گوید که آبیاری باید شروع شود ، بنابراین سیستم پایه سیگنالی به آن پمپ ارسال می کند تا فعال شود.

می توانید مدت زمانی را که باید روی صفحه وب اجرا شود (برای مثال 5 دقیقه) تعیین کنید که سنسورها فقط در هر ساعت بررسی می کنند. همچنین هنگامی که پمپ متوقف می شود ، زمان را در سیستم ذخیره می کند ، بنابراین سیستم خودکار به زودی پمپ را روشن نمی کند. (همچنین امکان راه اندازی در صفحه وب وجود دارد).

همچنین می توانید از طریق صفحه وب با تعیین زمانهای ویژه آبیاری را در طول شب/روز غیرفعال کنید. و همچنین زمان سنج برای هر پمپ را برای شروع آبیاری تنظیم کنید. و اگر باران ببارد آبیاری نمی شود.

امیدوارم متوجه شده باشی:)

برای این پروژه شما نیاز دارید:

  • 1 عدد آردوینو نانو
  • 1 عدد ماژول NRF24L01
  • خازن 1 x 100 uF
  • 1 RGB Led (آند معمولی توسط من استفاده می شود)
  • 3 مقاومت 270 اهم
  • 1 عدد برد رله

همه چیز را به عنوان ورق الکتریکی متصل کنید (فایل pdf یا تصویر را ببینید) کد را از GitHub بارگیری کنید و فراموش نکنید که شماره سنسور را تعیین کنید.

و اکنون شما یک کنترل کننده پمپ دارید ، سیستم می تواند بیش از یک کنترل کننده را کنترل کند.

مرحله 4: سنسور باران

سنسور باران
سنسور باران
سنسور باران
سنسور باران
سنسور باران
سنسور باران
سنسور باران
سنسور باران

سنسور باران برای تشخیص باران استفاده می شود. شما به بیش از یک مورد نیاز ندارید. اما می توان موارد بیشتری را نیز اضافه کرد. این سنسور باران از باتری تغذیه می کند و هر 30 دقیقه یکبار بارندگی را بررسی می کند. آنها همچنین شماره منحصر به فردی برای شناسایی خود دارند.

سنسور باران از پین های آنالوگ و دیجیتال استفاده می کند. پین دیجیتالی برای بررسی باران است (فقط صفحه نمایش دیجیتال بله یا خیر) و شما باید گلدان را روی ماژول سنسور باران روشن کنید تا هنگام هشدار در مورد "باران" هشدار دهید (سطح آب روی سنسور که باران را نشان می دهد.)

پین آنالوگ برای اطلاع درصد مرطوب بودن سنسور استفاده می شود.

اگر پین دیجیتال تشخیص دهد که باران آمده است ، سنسور آن را به سیستم پایه ارسال می کند. و سیستم پایه تا زمانی که "باران می بارد" به گیاهان آب نمی دهد. این سنسور میزان مرطوب بودن و وضعیت باتری را نیز ارسال می کند.

ما فقط وقتی سنسور باران را تغذیه می کنیم که زمان خواندن از طریق ترانزیستور است که از طریق یک پین دیجیتال امکان پذیر است.

برای این سنسور شما نیاز دارید:

  • تراشه ATMEGA328P-PU
  • کریستال 1x 16000 مگاهرتز
  • 2x 22 pF خازن
  • ماژول سنسور باران 1 برابر
  • خازن 1x 100 uF
  • 1 عدد ماژول NRF24L01
  • 1x RGB Led (من از آند معمولی استفاده کردم ، به جای GND VCC است)
  • مقاومت 3x370 27 اهم
  • 1x ترانزیستور NPN BC547
  • 1 برابر باتری (من از Li-Po استفاده می کنم)
  • ماژول شارژر Li-Po 1x (در صورت استفاده از باتری Li-Po)

همه چیز را همانطور که در صفحه برقی مشاهده می کنید (به صورت pdf یا در تصویر) وصل کنید سپس کد را در تراشه ATMEGA بارگذاری کنید ، همانطور که در صفحه GitHub من در زیر سنسور باران مشاهده می کنید فراموش نکنید که سنسور را برای دریافت شماره شناسه مناسب تعیین کنید.

و اکنون شما یک سنسور باران خواهید داشت که هر 30 دقیقه یکبار کار می کند. اگر کمتر یا بیشتر آن را نمی خواهید ، می توانید زمان آن را تغییر دهید.

در تابع counterHandler () می توانید زمان بیدار شدن را برای تراشه تنظیم کنید. شما اینگونه محاسبه می کنید: تراشه ها هر 8 ثانیه بیدار می شوند و هر بار مقدار آن افزایش می یابد. بنابراین به مدت 30 دقیقه قبل از انجام اقدامات 225 بار دریافت خواهید کرد به بنابراین در نیم ساعت 1800 ثانیه وجود دارد. بنابراین آن را بر 8 تقسیم کنید (1800 /8) 225 دریافت خواهید کرد. این بدان معناست که سنسور را تا 225 بار کار نمی کند و حدود 30 دقیقه طول می کشد ، بررسی نمی کند. شما همین کار را روی سنسور خاک نیز انجام دهید.

مرحله 5: آژیر حیوانات

آژیر حیوانات
آژیر حیوانات
آژیر حیوانات
آژیر حیوانات
آژیر حیوانات
آژیر حیوانات
آژیر حیوانات
آژیر حیوانات

هنگامی که سنسور حیوان حرکت را تشخیص می دهد ، آژیر حیوانات ساده است. آژیر فعال می شود. من از آژیر واقعی استفاده می کنم تا حتی بتوانم مردم را با آن بترسانم. اما می توانید از آژیرهایی که فقط حیوانات می شنوند استفاده کنید.

من در این پروژه از نانو آردوینو استفاده می کنم و آن را با 12 ولت تغذیه می کنم. آژیر نیز 12 ولت است بنابراین به جای رله از ترانزیستور 2N2222A برای فعال کردن آژیر استفاده می کنم. اگر از رله در شرایط مشابه استفاده کنید ، می توانید به آردوینو خود آسیب برسانید. بنابراین به همین دلیل من برای فعال کردن آژیر از ترانزیستور استفاده می کنم.

اما اگر آژیر خطر و آردوینو از یک زمین استفاده نمی کنند ، می توانید به جای آن از رله استفاده کنید. ترانزیستور و مقاومت 2.2K را کنار بگذارید و به جای آن از برد رله استفاده کنید. و همچنین تغییر در کد آردوینو هنگام فعال شدن تغییر از HIGH به LOW و هنگامی که تغییر از LOW به HIGH و خواندن دیجیتال برای پین 10 غیرفعال است ، باعث می شود که رله از LOW برای فعال سازی استفاده کند و ترانزیستور از HIGH استفاده می کند ، بنابراین شما باید آن را تغییر دهید.

برای این ساخت شما نیاز دارید:

  • 1 برابر آردوینو نانو
  • 1x مقاومت 2.2K (در صورت استفاده از برد رله رد شوید)
  • 1x ترانزیستور 2N2222
  • 1x آژیر
  • مقاومت 3x 3x 270 اهم
  • 1x RGB Led (من از آند معمولی ، VCC به جای GND استفاده می کنم)
  • ماژول 1X NRF24L01
  • خازن 1x 100 uF

همه چیز را همانطور که در صفحه برقی در PDF یا تصویر مشاهده می کنید متصل کنید. کد را در Arduino که در صفحه GitHub من در Animal Siren پیدا کرده اید بارگذاری کنید. فراموش نکنید که سنسور را برای شماره شناسه درست تعریف کنید.

و حالا شما یک آژیر کار دارید.

مرحله 6: سیستم اصلی

سیستم اصلی
سیستم اصلی
سیستم اصلی
سیستم اصلی
سیستم اصلی
سیستم اصلی

سیستم اصلی از همه ماژول ها مهمترین است. بدون آن شما نمی توانید از این سیستم استفاده کنید. سیستم اصلی با ماژول ESP-01 به اینترنت متصل است و ما از پین های Arduino Megas Serial1 برای اتصال آن استفاده می کنیم. RX در Mega تا TX در ESP ، اما ما باید از دو مقاومت عبور کنیم تا ولتاژ را به 3.3 کاهش دهیم. و TX در Mega تا RX در ESP.

ماژول ESP را راه اندازی کنید

برای استفاده از ESP ابتدا باید نرخ baud را روی 9600 تنظیم کنید ، این چیزی است که من در این پروژه استفاده کرده ام و دریافتم که ESP به بهترین شکل کار می کند. خارج از جعبه آن را روی 115200 baud rate تنظیم کرده اید ، می توانید آن را امتحان کنید اما مال من چندان پایدار نبود. برای انجام این کار به یک آردوینو نیاز دارید (مگا خوب کار می کند) و باید TX ESP (از طریق مقاومتهایی که در برگه مشاهده می کنید) را به سریال TX (در صورت استفاده از مگا Serial1) و در ESP به سریال آردوینو متصل کنید. RX

بارگذاری طرح چشمک زدن (یا هر طرح که از سریال استفاده نمی کند) و مانیتور سریال را باز کنید و نرخ باود را روی 115200 و NR & CR در خطوط تنظیم کنید

در خط فرمان AT را بنویسید و Enter را فشار دهید. شما باید پاسخی دریافت کنید که می گوید OK ، بنابراین اکنون می دانیم که ESP کار می کند. (در غیر اینصورت مشکل اتصال وجود دارد یا ماژول ESP-01 خراب است)

اکنون در خط فرمان AT+UART_DEF = 9600 ، 8 ، 1 ، 0 ، 0 را بنویسید و enter را فشار دهید.

با یک OK پاسخ می دهد و این بدان معناست که نرخ baud را روی 9600 تنظیم کرده ایم. ESP را با دستور زیر راه اندازی مجدد کنید: AT+RST و Enter را فشار دهید. نرخ باود را در مانیتور سریال به 9600 تغییر دهید و AT را وارد کرده و Enter را فشار دهید. اگر OK را دریافت کردید ، ESP برای 9600 تنظیم شده است و می توانید از آن برای پروژه استفاده کنید.

ماژول کارت SD

من می خواهم به راحتی بتوان تنظیمات WIFI را برای سیستم تغییر داد ، اگر گذرواژه جدیدی تغییر کند یا نام wifi تغییر کند. بنابراین ما به ماژول SD Card نیاز داریم. در داخل کارت SD یک فایل متنی با نام config.txt ایجاد کنید و ما برای خواندن از JSON استفاده می کنیم ، بنابراین ما نیاز به یک فرمت JSON داریم. بنابراین فایل متنی باید دارای متن زیر باشد:

"losen": "YOURWIFIPASSWORD"

}

متن را با حروف BIG تغییر دهید تا شبکه wifi شما تصحیح شود.

گناهانی که ما از NRF24L01 استفاده می کنیم که از SPI استفاده می کند و SD Card Reader نیز از SPI استفاده می کند ما باید از کتابخانه SDFat استفاده کنیم تا بتوانیم از SoftwareSPI استفاده کنیم (ما می توانیم کارت خوان SD را روی هر پین اضافه کنیم)

سنسور DHT

این سیستم در خارج قرار دارد و دارای سنسور DHT است تا بتوانیم رطوبت و دمای هوا را بررسی کنیم. برای آبیاری بیشتر در روزهای گرم استفاده می شود.

برای این ساخت شما نیاز دارید:

  • 1 برابر آردوینو مگا
  • 1 عدد ماژول NRF24L01
  • 1 عدد ماژول ESP-01
  • 1 عدد ماژول کارت میکرو SD SPI
  • 1 عدد سنسور DHT-22
  • 1x RGB Led (من از آند معمولی ، VCC به جای GND استفاده کردم)
  • مقاومت 3x370 27 اهم
  • مقاومت 1x 22 K اهم
  • مقاومت 2x 10 K اهم

لطفاً توجه داشته باشید که اگر ماژول ESP-01 پایدار نیست ، سعی کنید آن را از منبع تغذیه خارجی 3.3 ولت تغذیه کنید.

همه چیز را همانطور که در برگه برقی در فایل PDF یا در تصویر مشاهده می کنید متصل کنید.

کد را در Arduino Mega خود بارگذاری کنید ، و فراموش نکنید که کل کد را برای نظرات بررسی کنید ، زیرا باید میزبان را روی چندین سرور روی سرور تنظیم کنید (این بهترین راه حلی نیست که من می شناسم).

اکنون سیستم Base شما آماده استفاده است. شما نیازی به تغییر متغیرها در کد برای رطوبت خاک ندارید ، می توانید این کار را از صفحه وب انجام دهید.

مرحله 7: سیستم وب

سیستم وب
سیستم وب
سیستم وب
سیستم وب
سیستم وب
سیستم وب
سیستم وب
سیستم وب

برای استفاده از سیستم شما همچنین نیاز به یک سرور وب دارید. من از تمشک pi با Apache ، PHP ، Mysql ، Gettext استفاده می کنم. سیستم وب چند زبانه است ، بنابراین می توانید آن را به راحتی در زبان خود بسازید. همراه با سوئدی و انگلیسی (انگلیسی ممکن است انگلیسی نادرست داشته باشد ، ترجمه من 100٪ نیست.) بنابراین شما باید Gettext را برای سرور خود نصب کرده باشید ، و همچنین محلی ها.

من برخی از اسکرین شات های بالا را از سیستم به شما نشان می دهم.

این سیستم با یک سیستم ورود ساده همراه است و ورود اصلی این است: admin به عنوان کاربر و آب به عنوان رمز عبور.

برای استفاده از آن ، باید سه کار cron را تنظیم کنید (آنها را در پوشه cronjob پیدا می کنید)

فایل timer.php که باید هر ثانیه اجرا شود. این تمام اتوماسیون را برای سیستم سوراخ نگه می دارد. نام فایل temperatur.php به سیستم گفته می شود که دمای هوا را بخواند و آن را ثبت کند. بنابراین شما باید یک کار cron را در مورد چگونگی اجرای آن تنظیم کنید. من آن را هر 5 دقیقه دارم. سپس پرونده ای به نام dagstatistik.php باید فقط یک بار قبل از نیمه شب (مانند 23:30 ، 11:30 بعد از ظهر) اجرا شود. مقادیر گزارش شده از حسگرها را در طول روز می گیرد و برای استاتیک هفته و ماه ذخیره می کند.

لطفاً توجه داشته باشید که این سیستم دما را در درجه سانتی گراد ذخیره می کند ، اما می توانید آن را به فارنهایت تغییر دهید.

در فایل db.php اتصال پایگاه داده mysql را برای سیستم تنظیم می کنید.

ابتدا سنسورها را به سیستم اضافه کنید. و سپس مناطق ایجاد کنید و حسگرها را به مناطق اضافه کنید.

در صورت داشتن س questionال یا یافتن اشکالات در سیستم ، لطفاً آنها را در صفحه GitHub گزارش دهید. می توانید از سیستم وب استفاده کنید و اجازه فروش آن را ندارید.

اگر با محلی برای gettext مشکل دارید ، لطفاً به خاطر داشته باشید که اگر از تمشک به عنوان سرور استفاده می کنید ، اغلب مانند en_US. UTF-8 نامگذاری می شوند ، بنابراین باید این تغییرات را در فایل i18n_setup.php و زیر پوشه locale ایجاد کنید. در غیر این صورت با زبان سوئدی گیر خواهید کرد.

شما آن را در صفحه GitHub بارگیری می کنید.

توصیه شده: