Სარჩევი:

Arduino ღია ფანჯრის დეტექტორი - ზამთრისთვის: 6 ნაბიჯი
Arduino ღია ფანჯრის დეტექტორი - ზამთრისთვის: 6 ნაბიჯი

ვიდეო: Arduino ღია ფანჯრის დეტექტორი - ზამთრისთვის: 6 ნაბიჯი

ვიდეო: Arduino ღია ფანჯრის დეტექტორი - ზამთრისთვის: 6 ნაბიჯი
ვიდეო: How to use 5V Relay with Arduino to turn ON and OFF AC bulb or DC load 2024, ნოემბერი
Anonim
Arduino ღია ფანჯრის დეტექტორი - ზამთრისთვის
Arduino ღია ფანჯრის დეტექტორი - ზამთრისთვის

გარეთ ცივა, მაგრამ ხანდახან მჭირდება სუფთა ჰაერი ჩემს ოთახებში. ასე რომ, მე ვხსნი ფანჯარას, ვტოვებ ოთახს, ვხურავ კარს და მინდა დავბრუნდე 5 -დან 10 წუთში. და რამდენიმე საათის შემდეგ მახსოვს, რომ ფანჯარა ღიაა … იქნებ იცოდეთ ეს ან გყავთ შვილები, რომლებიც მოგცემთ ამ გამოცდილებას.

ჩემი გამოსავალი არის ღია ფანჯრის დეტექტორი. ბატარეა ერთ წელზე მეტხანს ძლებს, ასე რომ უბრალოდ განათავსეთ იგი შემოდგომაზე და ამოიღეთ იგი გაზაფხულზე.

ნაბიჯი 1: ნაწილების სია

ნაწილების სია
ნაწილების სია
ნაწილების სია
ნაწილების სია
ნაწილების სია
ნაწილების სია
ნაწილების სია
ნაწილების სია
  1. Digispark დაფა eBay– დან.
  2. ძველი ყურსასმენები.
  3. პატარა ღილაკი გადატვირთვისთვის.
  4. კონექტორები სპიკერისთვის - წინააღმდეგ შემთხვევაში, დაფის გადაპროგრამება შეუძლებელია.
  5. მავთული.
  6. ელექტროენერგიის მიწოდებისთვის გჭირდებათ:

აკუმულატორის AAA ჩანთა ჩართვის/გამორთვის გადამრთველით. თქვენ ასევე შეგიძლიათ გამოიყენოთ ნახმარი ბატარეები, რადგან მოდული იმუშავებს 2.4 ვოლტამდე

ან

ძველი ლიპო ბატარეა (30% -იანი სიმძლავრეც კი საკმარისია ამ მიზნით) და თუ უკვე არ გაქვთ, დამტენი lipo ბატარეებისთვის eBay– დან.

ან

CR2032 მონეტის უჯრედის მფლობელი

და

1A დიოდი 1N4001 ან ექვივალენტი - ან რაც თქვენ გაქვთ ამ ზომით - საპირისპირო პოლარობის დაცვის მიზნით

ნაბიჯი 2: Digispark დაფის დაპროგრამება

Digispark Board- ის პროგრამირება
Digispark Board- ის პროგრამირება
Digispark Board- ის პროგრამირება
Digispark Board- ის პროგრამირება

დრაივერის დაყენება

თქვენ უნდა დააინსტალიროთ Digispark დრაივერი, სანამ დაფის დაპროგრამებას შეძლებთ. გადმოწერეთ აქ, გახსენით და გაუშვით "InstallDrivers.exe".

Arduino IDE– ს დაყენება

დააინსტალირეთ Digispark დაფა Arduino IDE– სთვის, როგორც ეს აღწერილია https://digistump.com/wiki/digispark/tutorials/connecting– ში

მე გირჩევთ გამოიყენოთ Digispark დაფის URL Arduino ფაილში/Preferences ახალი https://raw.githubusercontent.com/ArminJo/DigistumpArduino/master/package_digistump_index.json https://digistump.com/package_digistump_index.json ნაცვლად და დააინსტალირეთ Digistump AVR დაფები ვერსია 1.6.8.

ვინაიდან ჩვენ გვსურს ენერგიის დაზოგვა, დაფის საათი გადართულია 1 MHz– ზე ჩვენს კონფიგურაციაში () თქვენ შეგიძლიათ აირჩიოთ Digispark (1 mhz - USB– ის გარეშე) როგორც დაფა ინსტრუმენტების მენიუში.

შეადგინეთ და ატვირთეთ პროგრამა დაფაზე

Arduino IDE- ში შექმენით ახალი ესკიზი File/New და დაასახელეთ ის მაგ. "OpenWindowAlarm". დააკოპირეთ კოდი OpenWindowAlarm.ino– დან

ან

ჩამოტვირთეთ და ამოიღეთ საცავი. გახსენით ესკიზი ფაილით -> გახსენით… და შეარჩიეთ საქაღალდე "OpenWindowAlarm".

შეადგინეთ და ატვირთეთ იგი. გაითვალისწინეთ, რომ ატვირთვა არ იმუშავებს, თუ სპიკერი დაკავშირებულია. თუ ყველაფერი კარგად მუშაობს, Digispark– ის ჩაშენებული LED აციმციმდება 5 – ჯერ (განგაშის 5 წუთის დაგვიანებით) და შემდეგ დაიწყებს ციმციმს 8 წამის შემდეგ 24 წამის ინტერვალით, თითოეული ტემპერატურის მაჩვენებლის სიგნალისთვის.

ნაბიჯი 3: ენერგიის შემცირება

სიმძლავრის შემცირება
სიმძლავრის შემცირება
სიმძლავრის შემცირება
სიმძლავრის შემცირება

ჩვენი Digispark დაფა იყენებს 5mA- ს 3, 0 ვოლტზე. 2 AAA ბატარეით (1000mAh) ის იმუშავებს 8 დღის განმავლობაში. მაგრამ შესაძლებელია ენერგიის მოხმარების შემცირება 26 µA– მდე 3 საფეხურზე.

  1. დენის LED გამორთვა სპილენძის მავთულის გაწყვეტით, რომელიც დენის დიოდს აკავშირებს დანით ან 102 რეზისტორის მოხსნით / გამორთვით დაზოგავს 1.3 mA.
  2. VIN ძაბვის რეგულატორის ამოღება ზოგავს 1.2 mA- ს.
  3. USB Pullup რეზისტორის გათიშვა (აღინიშნება 152) 5 ვოლტიდან (VCC) ზოგავს დანარჩენ 2.5 mA- ს. გათიშეთ იგი სპილენძის მავთულის გატეხვით რეზისტორის მხარეს, რომელიც მიუთითებს ATTiny- ზე. ეს გათიშავს USB ინტერფეისს და, თავის მხრივ, Digispark დაფის USB- ის საშუალებით პროგრამირების შესაძლებლობას. იმისათვის, რომ ხელახლა ჩართოთ, მაგრამ მაინც დაზოგოთ ენერგია, დაუკავშირეთ რეზისტორი (აღინიშნება 152) პირდაპირ USB 5 ვოლტთან, რომელიც ადვილად არის ხელმისაწვდომი დიოდის გარე მხარეს.

    დიოდის სწორი მხარე შეგიძლიათ ნახოთ უწყვეტობის ტესტერის გამოყენებით. ამ დიოდის ერთი მხარე უკავშირდება ATtiny (VCC) პინ 8 -ს. მეორე მხარე უკავშირდება USB 5 ვოლტს.

ახლა USB გამყვანი რეზისტორი გააქტიურებულია მხოლოდ იმ შემთხვევაში, თუ Digispark დაფა დაკავშირებულია USB მაგ. პროგრამირების დროს და დაფა ძილის დროს მოიხმარს 26 μA.

თუ თქვენ დაუზღვევთ პროგრამებს, შეგიძლიათ მიიღოთ 6 μA ენერგიის მოხმარება.

დამცავების გადაპროგრამების მიზნით, გჭირდებათ ISP (რომლის აშენებაც შესაძლებელია არდუინოს საშუალებით) და დამაკავშირებელი ადაპტერი. რეპროგრამისათვის შეგიძლიათ გამოიყენოთ ეს სკრიპტი.

ნაბიჯი 4: გადატვირთვის ღილაკი

გადატვირთვის ღილაკი
გადატვირთვის ღილაკი
გადატვირთვის ღილაკი
გადატვირთვის ღილაკი
გადატვირთვის ღილაკი
გადატვირთვის ღილაკი
გადატვირთვის ღილაკი
გადატვირთვის ღილაკი

თუ არ გსურთ სიგნალიზაციის გადატვირთვის დენის ამოღება, დააკავშირეთ გადატვირთვის ღილაკი PB5 და მიწას შორის. მე ეს გავაკეთე დაუკავშირებელი VIN სპილენძის ზედაპირზე PB5- თან და გადავიტანე გადატვირთვის ღილაკი პირდაპირ VIN pin ხვრელთან და ამოღებული VIN ძაბვის მარეგულირებლის დიდ ზედაპირზე.

თუ გსურთ თავიდან აიცილოთ USB კავშირის 5 წამიანი ლოდინი გადატვირთვის შემდეგ, შეგიძლიათ შეცვალოთ მიკრო ბირთვების ბირთვი ATtiny85– ზე. გაუშვით "0_Burn_upgrade-t85_recommended.cmd" სკრიპტი და შემდეგ კვლავ გადატვირთეთ OpenWindowAlarm პროგრამა Arduino IDE- ით.

ნაბიჯი 5: სპიკერი

სპიკერი
სპიკერი
სპიკერი
სპიკერი
სპიკერი
სპიკერი

მე დავშალე ძველი ყურსასმენი და დავუკავშირე მამრობითი კონექტორი კაბელს.

ნაბიჯი 6: ოპერაცია

მოქმედი
მოქმედი
მოქმედი
მოქმედი
მოქმედი
მოქმედი

დაფის გამოსაყენებლად განათავსეთ იგი ფანჯრის რაფაზე და დააკავშირეთ იგი ბატარეასთან. თუ ტემპერატურა ზღურბლზე დაბალია ვიდრე ტემპერატურა, სადაც დაფა თავდაპირველად იყო განთავსებული, დამატებით 5 წუთს დასჭირდება ახალი დაწყებული მნიშვნელობის ინტელექტუალურად მიღებისათვის.

თქვენ მაშინ შეგაშინებთ, თუ ფანჯარას ხუთ წუთზე მეტხანს დატოვებთ ღია.

შიდა ოპერაცია

  • ღია ფანჯარა გამოვლენილია TEMPERATURE_COMPARE_AMOUNT * TEMPERATURE_SAMPLE_SECONDS (48) წამი ტემპერატურის კითხვისას TEMPERATURE_DELTA_THRESHOLD_DEGREE (2) ტემპერატურაზე დაბალი TEMPERATURE_COMPARE_PEME_PEMPER2_20
  • დაგვიანებით ხორციელდება 3 -ჯერ ძილი `SLEEP_MODE_PWR_DOWN` 8 წამის განმავლობაში ენერგიის მოხმარების შესამცირებლად.
  • ღია ფანჯრის გამოვლენა აღინიშნება 20 წთ უფრო გრძელი დახუჭვით და მოკლე დაწკაპუნებით ყოველ 24 წამში. ამრიგად, შიდა სენსორს აქვს 3 წუთი დრო გარე ტემპერატურაზე მორგებისთვის, რათა დააფიქსიროს ტემპერატურის თუნდაც მცირედი ცვლილებები. რაც უფრო დიდია ტემპერატურის ცვლილება, მით ადრე შეიცვლება სენსორის მნიშვნელობა და აღმოაჩენს ღია ფანჯარას.
  • `OPEN_WINDOW_ALARM_DELAY_MINUTES` (ღია ფანჯრის გამოვლენიდან 5 წუთის შემდეგ მაღვიძარა გააქტიურებულია.

    განგაში არ დაიწყება ან გააქტიურებული სიგნალი შეწყდება, თუ მიმდინარე ტემპერატურა აღემატება მინიმალურ გაზომულ ტემპერატურას (+ 1), ანუ ფანჯარა უკვე დაკეტილია.

  • საწყისი სიგნალიზაცია გრძელდება 10 წუთის განმავლობაში. ამის შემდეგ ის გააქტიურებულია 10 წამის განმავლობაში, მზარდი შესვენებით 24 წამიდან 5 წუთამდე.
  • ყოველ VCC_MONITORING_DELAY_MIN (60) წუთში ბატარეის ძაბვა იზომება. ბატარეის გამოვლენის ტიპზეა დამოკიდებული გააქტიურება (იხ. VCC_VOLTAGE_LIPO_DETECTION (3.6 ვოლტი)), ბატარეის ძაბვა ქვემოთ VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_LIPO (3550) ან VCC_VOLTAGE_LOWER_LIMIT_MILLIVOLT_STANDARD წთ არის მითითებული მხოლოდ beep (არა flash) მნიშვნელოვნად გრძელია ვიდრე beep ღია ფანჯრის გამოვლენის.
  • ელექტროენერგიის გააქტიურების შემდეგ, არააქტიური გადასახლების დროა 5 წუთი. თუ დაფა გაცივდება გაცივების დროს, დამატებულია 4:15 (ან 8:30) წუთი, რათა თავიდან აიცილოთ ცრუ სიგნალიზაცია დენის გათიშვის შემდეგ.

გირჩევთ: