Სარჩევი:

მზის ამინდის სადგური: 5 ნაბიჯი
მზის ამინდის სადგური: 5 ნაბიჯი

ვიდეო: მზის ამინდის სადგური: 5 ნაბიჯი

ვიდეო: მზის ამინდის სადგური: 5 ნაბიჯი
ვიდეო: ლუკა და მარიამი 2024, ნოემბერი
Anonim
მზის ამინდის სადგური
მზის ამინდის სადგური

ოდესმე გსურდათ რეალურ დროში ამინდის ინფორმაცია თქვენი ეზოდან? ახლა თქვენ შეგიძლიათ შეიძინოთ ამინდის სადგური მაღაზიაში, მაგრამ ეს ჩვეულებრივ მოითხოვს ბატარეებს ან უნდა იყოს დაკავშირებული ქსელთან. ამ ამინდის სადგურს არ სჭირდება ქსელთან დაკავშირება, რადგან მას აქვს მზის პანელები, რომლებიც ბრუნავს მზისკენ მეტი ეფექტურობისთვის. თავისი RF მოდულებით მას შეუძლია მონაცემების გადაცემა სადგურიდან გარედან თქვენს სახლში ჟოლოს პიზე. Raspberry Pi მასპინძლობს ვებსაიტს, სადაც შეგიძლიათ იხილოთ მონაცემები.

ნაბიჯი 1: მასალების შეგროვება

მასალები

  • Raspberry Pi 3 მოდელი B + + ადაპტერი + მიკრო SD ბარათი 16 GB
  • არდუინო უნო
  • Arduino Pro Mini + FTDI ძირითადი გარღვევა
  • 4 6V 1W მზის პანელი
  • 4 18650 ბატარეა
  • გამაძლიერებელი 5 ვ
  • 4 TP 4056 ბატარეის დამტენი
  • Adafruit DHT22 ტემპერატურისა და ტენიანობის სენსორი
  • BMP180 ბარომეტრიული წნევის სენსორი
  • 4 LDR
  • RF 433 მიმღები და გადამცემი
  • 2 Nema 17 სტეპერიანი ძრავა
  • 2 DRV8825 სტეპერი ძრავის მძღოლი
  • LCD 128*64
  • ბევრი მავთული

ინსტრუმენტები და მასალები

  • წებო
  • Ხის ფიცრები
  • დაინახა
  • ხრახნები + ხრახნიანი დრაივერი
  • იხვის ფირზე
  • 2 ალუმინის ზოლები

ნაბიჯი 2: მექანიკური დიზაინი

მექანიკური დიზაინი
მექანიკური დიზაინი
მექანიკური დიზაინი
მექანიკური დიზაინი
მექანიკური დიზაინი
მექანიკური დიზაინი
მექანიკური დიზაინი
მექანიკური დიზაინი

ამინდის სადგურის კორპუსი დამზადებულია პლაივუდისგან. თქვენ არ გჭირდებათ ხის გამოყენება, შეგიძლიათ გააკეთოთ ის ნებისმიერი მასალისგან, რომელიც გირჩევნიათ. საავტომობილო სამონტაჟოებისთვის, მე მთლიანად გავწურე ხის ბლოკში, შემდეგ კი ხრახნიანი ხრახნიანი ძრავით, რომელიც უკეთესად მუშაობს, ვიდრე ველოდი. ამ გზით თქვენ არ გჭირდებათ ძრავის სამაგრის 3D ბეჭდვა და მისი დამზადება ადვილია. შემდეგ მე დავხარე 2 ალუმინის ზოლები, რომ ძრავები ძალიან მაგრად მეჭირა. შემდეგ მე ამოვიღე ფიცარი და გავაღე მასში მზის პანელების ხვრელები. შემდეგ მიამაგრეთ მზის პანელები მასზე და შეაერთეთ მავთულები მზის პანელებზე. შემდეგ თქვენ ასევე დაგჭირდებათ შავი მასალისგან ჯვრის გაკეთება. თუ არაფერი გაქვთ შავი, შეგიძლიათ გამოიყენოთ შავი ლენტი. ეს ჯვარი დაიტევს LDR თითოეულ კუთხეში, ასე რომ Arduino– ს შეუძლია შეადაროს გაზომვები LDR– დან და გამოითვალოს რა მიმართულებით უნდა იქცეს იგი. ასე რომ, გაბურღეთ პატარა მთლიანი კუთხე თითოეულ კუთხეში, ასე რომ თქვენ შეგიძლიათ მოათავსოთ LDR იქ. ყველაფერი რაც ახლა რჩება არის საბაზისო ფირფიტის დამზადება და ელექტრონიკის ჩასადება. საბაზისო ფირფიტისთვის თქვენ დაგჭირდებათ მასში მთლიანი ბურღვა, რათა გაიყვანოს ყველა მავთული ტროტუარზე. გაზომვებისთვის მე არაფერს მოგცემთ, რადგან თქვენზეა დამოკიდებული, როგორ გსურთ ამის შემუშავება. თუ თქვენ გაქვთ სხვა ძრავები ან სხვა მზის პანელები, თქვენ თვითონ უნდა გაარკვიოთ გაზომვები.

ნაბიჯი 3: ელექტრო დიზაინი

Ძალა

მთელი სისტემა მუშაობს ბატარეებზე (გარდა Raspberry Pi). მე 3 ბატარეა დავდე სერიაში. 1 ბატარეა არის საშუალოდ 3.7V, ასე რომ 3 სერია გაძლევთ დაახლოებით 11V. ეს 3s ბატარეა გამოიყენება ძრავებისთვის და RF გადამცემით. დანარჩენი ბატარეა გამოიყენება Arduino Pro Mini- ს და სენსორების დასატენად. ბატარეების დასატენად მე გამოვიყენე 4 TP4056 მოდული. თითოეულ ბატარეას აქვს 1 TP4056 მოდული, თითოეული მოდული დაკავშირებულია მზის პანელთან. იმის გამო, რომ მოდულს აქვს B (in) და B (out), შემიძლია მათი ცალკე დამუხტვა და სერიულად განტვირთვა. დარწმუნდით, რომ იყიდეთ სწორი TP4056 მოდულები, რადგან ყველა მოდულს არ აქვს B (in) და B (out).

კონტროლი

Arduino Pro Mini აკონტროლებს სენსორებსა და ძრავებს. Arduino- ს ნედლი და დაფქვილი პინი უკავშირდება 5V გამაძლიერებელს. 5V გამაძლიერებელი უკავშირდება ერთ ბატარეას. Arduino Pro Mini- ს აქვს ძალიან დაბალი ენერგიის მოხმარება.

კომპონენტები

DHT22: მე დავუკავშირე ეს სენსორი VCC- ს და Ground- ს, შემდეგ კი მონაცემთა პინი შევაერთე ციფრულ პინ 10 -ს.

BMP180: მე დავუკავშირე ეს სენსორი VCC– ს და Ground– ს, მე დავუკავშირე SCL– ს SCL– ს Arduino– ზე და SDA– ს SDA– ს Arduino– ზე. იყავით ფრთხილად, რადგან Arduino Pro Mini– ზე SCL და SDA ქინძისთავები დაფის შუაშია, ასე რომ, თუ დაფაზე მიამაგრეთ ქინძისთავები და ჩასვით პურის დაფაზე, ის არ იმუშავებს, რადგან თქვენ გექნებათ ჩარევა სხვა ქინძისთავებიდან. ეს 2 ქინძისთავები გავამაგრე დაფის თავზე და პირდაპირ მავთული დავუკავშირე მას.

RF გადამცემი: მე ეს დავუკავშირე 3s ბატარეის პაკეტს უკეთესი სიგნალისთვის და გრძელი დიაპაზონისთვის. მე შევეცადე Arduino– დან 5V– სთან დაკავშირება, მაგრამ მაშინ RF სიგნალი ძალიან სუსტია. შემდეგ მე დავუკავშირე მონაცემთა პინი ციფრულ პინ 12 -ს.

LDR: მე დავუკავშირე 4 LDR ის ანალოგიურ ქინძისთავებს A0, A1, A2, A3. მე დავამატე LDR ის 1K რეზისტორთან ერთად.

ძრავები: ძრავებს მართავს 2 DRV8825 საკონტროლო მოდული. ეს არის ძალიან მოსახერხებელი, რადგან ისინი იღებენ მხოლოდ 2 შეყვანის ხაზს (მიმართულება და ნაბიჯი) და შეუძლიათ 2A– მდე აწარმოონ ფაზაში ძრავებზე. მე მაქვს დაკავშირებული ციფრულ პინებთან 2, 3 და 8, 9.

LCD: LCD შევაერთე Raspberry Pi– ს მისი IP მისამართის საჩვენებლად. მე ვიყენებ ტრიმერს უკანა შუქის მოსაწესრიგებლად.

RF მიმღები: მიმღები დავუკავშირე Arduino Uno– ს 5V და Ground– ზე. მიმღებმა არ უნდა მიიღოს 5 ვ -ზე მეტი. შემდეგ მე დავუკავშირე მონაცემთა პინი ციფრულ პინს 11. თუ შეგიძლიათ იპოვოთ ბიბლიოთეკა ამ RF მოდულებისთვის, რომელიც მუშაობს Raspberry Pi– ზე, მაშინ არ გჭირდებათ Arduino Uno– ს გამოყენება.

ჟოლო Pi: ჟოლო Pi უკავშირდება Arduino Uno– ს USB კაბელის საშუალებით. Arduino გადასცემს RF სიგნალებს Raspberry Pi– ს სერიული კავშირის საშუალებით.

ნაბიჯი 4: დავიწყოთ კოდირება

Arduino Pro Mini- ის კოდირებისთვის დაგჭირდებათ FTDI პროგრამისტი. ვინაიდან Pro Mini- ს არ აქვს USB პორტი (ენერგიის დაზოგვის მიზნით), თქვენ დაგჭირდებათ ეს გარღვევის დაფა. მე დავპროგრამე კოდი Arduino IDE– ში, მე ვფიქრობ, რომ ეს არის უმარტივესი გზა ამის გასაკეთებლად. ატვირთეთ კოდი ფაილიდან და კარგი იქნება წასვლა.

Arduino Uno- ს დასაკოდირებლად, ის ჩემს კომპიუტერს დავუკავშირე USB კაბელის საშუალებით. მას შემდეგ, რაც კოდი ავტვირთე, მე მას Raspberry Pi- ს დავუკავშირე. მე ასევე შევძელი კოდის შეცვლა Raspberry Pi– ზე, რადგან დავაყენე Arduino IDE და ამიტომაც შემეძლო მისი პროგრამირება იქიდან. კოდი ძალიან მარტივია, ის იღებს მიმღებს და აგზავნის მას სერიული პორტით Raspberry Pi– ში.

Raspberry Pi- ის დასაკოდირებლად დავაყენე Raspbian. შემდეგ მე გამოვიყენე Putty, რომ დავუკავშირდე მას SSH კავშირის საშუალებით. შემდეგ ვაკეთებ ჟოლოს კონფიგურაციას, რათა შემეძლოს მასთან დაკავშირება VNC– ით და ამდენად GUI. მე დავაყენე Apache ვებ სერვერი და დავიწყე ამ პროექტის ბექენდის კოდირება და ფრონტონდი. თქვენ შეგიძლიათ იპოვოთ კოდი github– ზე:

ნაბიჯი 5: მონაცემთა ბაზა

მონაცემების შესანახად ვიყენებ SQL მონაცემთა ბაზას. მე შევქმენი მონაცემთა ბაზა MySQL Workbench– ში. მონაცემთა ბაზა შეიცავს სენსორის კითხვას და სენსორის მონაცემებს. მე მაქვს 3 მაგიდა, ერთი სენსორული მნიშვნელობების შესანახად დროის ნიშნულებით, მეორე სენსორების შესახებ ინფორმაციის შესანახად და ბოლო მომხმარებლების შესახებ ინფორმაციის შესანახად. მე არ ვიყენებ მომხმარებლების ცხრილს, რადგან მე არ დაშიფვრა პროექტის ის ნაწილი, რადგან ის არ იყო ჩემს MVP– ში. ჩამოტვირთეთ SQL ფაილი და შეასრულეთ იგი და მონაცემთა ბაზა კარგად უნდა წავიდეს.

გირჩევთ: