Სარჩევი:
- მარაგები
- ნაბიჯი 1: იდეა
- ნაბიჯი 2: ბლოკირების დიაგრამა
- ნაბიჯი 3: პროგრამირება
- ნაბიჯი 4: სქემატური და შედუღება
- ნაბიჯი 5: Android აპლიკაცია
ვიდეო: IoT მთვარის ნათურა: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ამ სასწავლო ინსტრუქციაში მე ვაჩვენებ, როგორ გადავიყვანო მარტივი ბატარეით აღჭურვილი LED ნათურა IoT მოწყობილობაში.
ეს პროექტი მოიცავს:
- შედუღება;
- ESP8266 პროგრამირება Arduino IDE– ით;
- android პროგრამის დამზადება MIT აპლიკაციის გამომგონებლით.
ინტერესის ობიექტია მთვარის ფორმის ნათურა, რომელიც ვიყიდე gearbest– დან. სინამდვილეში ეს სახელმძღვანელო შეიძლება მოერგოს ნებისმიერი დაბალი DC ძაბვის მოწყობილობას (AC ენერგიაზე მომუშავე მოწყობილობები საჭიროებენ დამატებით სქემას).
მარაგები
- Android სმარტფონი (android ვერსიები 7-9 შემოწმებულია).
- შედუღების ინსტრუმენტები.
- PCB პროტოტიპი (პროტობორდი).
- ESP-12E დაფა (ან სხვა დაფა ESP8266 მიკროკონტროლით).
- USB სერიული გადამყვანი პროგრამირებისთვის.
- პასიური კომპონენტების რამდენიმე განსხვავებული მნიშვნელობა (რეზისტორები და კონდენსატორები).
(არასავალდებულო. იხილეთ განყოფილება "ბლოკის დიაგრამა")
- 3.3V@500mA LDO IC.
- 3.3V-5V ლოგიკური დონის გადამყვანი დაფა.
- 5V DC კვების ბლოკი.
ნაბიჯი 1: იდეა
მთვარის ნათურა იკვებება ერთი Li-ION 18650 უჯრედით და მას აქვს მუშაობის სამი რეჟიმი:
- გამორთული;
- სახელმძღვანელო;
- ავტო
სახელმძღვანელო რეჟიმში ნათურა კონტროლდება ღილაკზე დაჭერით, ყოველი დაჭერით იცვლება LED განათების მდგომარეობა (ლურჯი ჩართულია, ნარინჯისფერი ჩართულია, ორივე ჩართულია, გამორთულია), სინათლის ინტენსივობა იცვლება ღილაკზე დაჭერისას. ავტომატურ რეჟიმში LED სინათლის მდგომარეობა იცვლება თავად ნათურის შეხებით ან შერყევით.
მე გადავწყვიტე დავამატო ESP8266, როგორც ვებ სერვერი, რომელიც უსმენს მოთხოვნებს და შესაბამისად ახდენს ღილაკების დაჭერის სიმულაციას. არ მინდოდა ნათურის ორიგინალური ფუნქციონირების დარღვევა, უბრალოდ მინდოდა WiFi- ზე დამატებითი კონტროლის ფუნქციების დამატება, ამიტომ ESP ავირჩიე ღილაკების დაჭერის სიმულაციისთვის, LED- ების უშუალო კონტროლის ნაცვლად. ასევე ამან მომცა საშუალება მინიმალური ურთიერთქმედება ორიგინალ სქემასთან.
როდესაც პროტოტიპი გაკეთდა, მან გამოუშვა m 80mA ბატარეიდან მუდმივად გამორთულ მდგომარეობაში (~ 400mA სრული სიკაშკაშე). ლოდინის დენი მაღალია, რადგან ESP8266 მუშაობს როგორც სერვერი და ყოველთვის დაკავშირებულია WiFi- თან და უსმენს მოთხოვნებს. ბატარეა ამოიწურა ერთი და ნახევარი დღის შემდეგ მხოლოდ გამორთულ მდგომარეობაში, ასე რომ მოგვიანებით გადავწყვიტე გამოვიყენო ნათურები USB დამტენი პორტი ყველა ელექტრონიკის გარე 5 ვ კვების წყაროდან და ბატარეის გათიშვისთვის ერთად (მაგრამ ეს არჩევითია).
ნაბიჯი 2: ბლოკირების დიაგრამა
ბლოკ დიაგრამაში შეგიძლიათ ნახოთ რა სქემა დაემატება და როგორ შეიცვლება არსებული სქემა. ჩემს შემთხვევაში, მე მთლიანად ამოვიღე ბატარეა და დავამუხტე ბატარეის დამტენი IC შესასვლელით (ისევ, ეს არჩევითია). დიაგრამაში გამჭვირვალე ბლოკები მიუთითებს კომპონენტების გვერდის ავლით (თუმცა ღილაკი მაინც მუშაობს ისე, როგორც თავდაპირველად იყო განკუთვნილი).
დოკუმენტაციის თანახმად ESP8266 მოითმენს მხოლოდ 3.3 ვ -ს, თუმცა არის უამრავი მაგალითი, როდესაც ESP8266 მუშაობს სრულყოფილად 5V– ით, ამიტომ ლოგიკური დონის გადამყვანი და 3.3V LDO შეიძლება გამოტოვდეს, თუმცა მე დავრჩი საუკეთესო პრაქტიკაში და დავამატე ეს კომპონენტები.
მე გამოვიყენე 3 ESP8266 I/O ქინძისთავები და ADC pin. ერთი ციფრული გამომავალი პინი განკუთვნილია ღილაკების დაჭერის სიმულაციისთვის, ორი ციფრული შეყვანა არის იმის დასადგენად, თუ რა ფერის არის LED- ები (აქედან შეგვიძლია გავარკვიოთ რომელ მდგომარეობაშია MCU და რომელი მდგომარეობაა ღილაკის დაჭერის შემდეგ). ADC pin ზომავს შეყვანის ძაბვას (ძაბვის გამყოფის საშუალებით), ასე ჩვენ შეგვიძლია დავაკვირდეთ ბატარეის დატენვის დანარჩენ დონეს.
როგორც გარე კვების წყარო ვიყენებ ძველი ტელეფონის დამტენს 5V@1A (არ გამოვიყენო სწრაფი დამტენები).
ნაბიჯი 3: პროგრამირება
მოკლედ პროგრამა ასე მუშაობს (დამატებითი ინფორმაციისთვის იხილეთ კოდი თავად):
ESP8266 აკავშირებს თქვენს WiFi წვდომის წერტილს, რომლის რწმუნებათა სიგელები უნდა შეიყვანოთ კოდის დაწყებამდე პროგრამირების დასაწყისში, ის იღებს თქვენს IP მარშრუტიზატორებს DHCP სერვერიდან, რომ გაარკვიოთ IP რომელიც დაგჭირდებათ მოგვიანებით, შეგიძლიათ შეამოწმოთ მარშრუტიზატორის ვებ ინტერფეისი DHCP პარამეტრები ან დააყენოთ დროშის შეცვლა 1 -ში და ნახავთ რა IP ESP მიიღო სერიულ მონიტორში (თქვენ უნდა შეინახოთ ეს IP თქვენს როუტერის პარამეტრებში, რათა ESP ყოველთვის მიიღოს იგივე IP ჩატვირთვისას).
როდესაც ინიციალიზებული MCU ყოველთვის ასრულებს ერთსა და იმავე რუტინას სამუდამოდ:
- შეამოწმეთ კვლავ დაკავშირებულია AP– სთან, თუ არა, სცადეთ ხელახლა დაკავშირება წარმატებამდე.
-
დაელოდეთ სანამ კლიენტი გააკეთებს HTTP მოთხოვნას. როდესაც მოთხოვნა ხდება:
- შეამოწმეთ შეყვანის ძაბვა.
- შეამოწმეთ რა მდგომარეობაშია LED- ები.
- შეადარეთ HTTP მოთხოვნა ცნობილ LED მდგომარეობასთან (ლურჯი ჩართული, ნარინჯისფერი ჩართული, ორივე ჩართული, გამორთული).
- იმდენი სიმულაციის ღილაკზე დაჭერა, რამდენადაც საჭიროა მოთხოვნილი მდგომარეობის მისაღწევად.
მე მოკლედ აღვწერ პროგრამირების ინსტრუქციებს, თუ ეს არის თქვენი პირველი პროგრამირების ESP8266 MCU უფრო სიღრმისეული ინსტრუქციები.
თქვენ დაგჭირდებათ Arduino IDE და USB სერიული ინტერფეისის გადამყვანი (მაგალითად FT232RL). IDE– ს მოსამზადებლად მიჰყევით ამ ინსტრუქციას.
დაიცავით სქემის დიაგრამა პროგრამირებისათვის ESP-12E მოდულის დასაკავშირებლად. რამდენიმე რჩევა:
- გამოიყენეთ გარე 3.3V@500mA კვების წყარო (უმეტეს შემთხვევაში USB სერიული კვების წყარო არ არის საკმარისი);
- შეამოწმეთ შეესაბამება თუ არა თქვენი USB სერიული გადამყვანი 3.3V ლოგიკურ დონეს;
- შეამოწმეთ წარმატებით დაინსტალირდა თუ არა USB სერიული გადამყვანი დრაივერები (Windows მოწყობილობის მენეჯერიდან) ასევე შეგიძლიათ შეამოწმოთ სწორად მუშაობს თუ არა IDE– დან, მხოლოდ მოკლე RX და TX ქინძისთავებიდან, ვიდრე IDE– დან აირჩიეთ COM პორტი, გახსენით სერიული მონიტორი და დაწერეთ რამე, თუ ყველაფერი მუშაობს თქვენ უნდა ნახოთ ტექსტი, რომელსაც თქვენ აგზავნით, გამოჩნდება კონსოლში;
- რატომღაც მე შევძელი ESP პროგრამირება მხოლოდ მაშინ, როდესაც პირველად შევაერთე USB სერიული გადამყვანი კომპიუტერთან და შემდეგ დავიწყე ESP გარე 3.3V წყაროდან;
- წარმატებული პროგრამირების შემდეგ, არ დაგავიწყდეთ GPIO0 მაღალი დაწევა მომდევნო ჩატვირთვისას.
ნაბიჯი 4: სქემატური და შედუღება
დაიცავით სქემატური შედუღება ყველა კომპონენტი protoboard. როგორც უკვე აღვნიშნეთ, ზოგიერთი კომპონენტი არჩევითია. მე გამოვიყენე KA78M33 3.3V LDO IC და ეს ლოგიკური დონის გადამყვანი დაფა sparkfun– დან, ალტერნატიულად, თქვენ შეგიძლიათ თავად გააკეთოთ კონვერტორი, როგორც ეს მოცემულია სქემატურ სქემაში (BSS138– ის ნაცვლად შეგიძლიათ გამოიყენოთ ნებისმიერი N – არხის mosfet). იმ შემთხვევაში, თუ თქვენ არ იყენებთ Li-ION ბატარეას, +5V დენის ქსელი იქნება ბატარეის დადებითი ტერმინალი. ESP8266 ADC საცნობარო ძაბვა არის 1V, ჩემი არჩეული რეზისტორის გამყოფი მნიშვნელობები საშუალებას იძლევა გავზომოთ შეყვანის ძაბვა 5,7 ვ -მდე.
ორიგინალური ნათურის PCB– ს უნდა ჰქონდეს 5 კავშირი: +5V (ან +ბატარეა), GND, ღილაკი, PWM სიგნალები MCU ნათურებიდან ლურჯი და ნარინჯისფერი LED- ების გასაკონტროლებლად. თუ ლამპას 5V წყაროდან იკვებებით, როგორც მე გავაკეთე, თქვენ მოგინდებათ მოკლედ დამტენი IC VCC პინი OUTPUT პინით, ამგვარად ყველა ელექტრონიკა იკვებება უშუალოდ +5V– დან და არა ბატარეის დამტენი OUTPUT– დან.
მიჰყევით მეორე სურათს ყველა გამწოვი წერტილისთვის, რომელიც თქვენ უნდა გააკეთოთ ნათურების PCB- ზე.
შენიშვნები:
- თუ თქვენ გადაწყვიტეთ გათიშვა +5V ბატარეის დამტენი IC გამომავალით, ამოიღეთ ბატარეა მანამ, სანამ არ გსურთ +5V პირდაპირ აკუმულატორთან დაკავშირება.
- მიაქციეთ ყურადღება რომელ ღილაკზე მიამაგრეთ ESP გამომავალი, რადგან ღილაკის 2 პინი უკავშირდება მიწას და არ გსურთ მოკლე ჩართვა, როდესაც ESP გამომავალი მიდის მაღლა, უმჯობესია ორმაგი შემოწმება მულტიმეტრით.
ნაბიჯი 5: Android აპლიკაცია
Android აპლიკაცია დამზადებულია MIT აპლიკაციის გამომგონებლის მიერ, რომ გადმოწეროთ აპლიკაცია და/ან კლონირებული პროექტი საკუთარ თავს, გადადით ამ ბმულზე (მასზე წვდომისთვის დაგჭირდებათ Google ანგარიში).
პირველი გაშვებისას თქვენ უნდა გახსნათ პარამეტრები და შეიყვანოთ თქვენი ESP8266 IP მისამართი. ეს IP შეინახება, ასე რომ პროგრამის გადატვირთვის შემდეგ აღარ არის საჭირო მისი შეყვანა.
აპლიკაცია ტესტირებულია რამდენიმე android 9 და android 7 მოწყობილობით.
გირჩევთ:
გადამუშავებული მთვარის ფაზის ნათურა: 15 ნაბიჯი
გადამუშავებული მთვარის ფაზის ნათურა: ეს ნათურა დამზადებულია პლასტმასის ქილადან და ის ირთვება სახურავის გამკაცრებისას. თქვენ შეგიძლიათ შეცვალოთ სილუეტი მთვარის სხვადასხვა ფაზის საჩვენებლად
მთვარის საათი დრაკონით: 8 ნაბიჯი (სურათებით)
მთვარის საათი დრაკონით: *** ჩანაწერი ჩემს ბლოგზე https://blog.familie-fratila.de/bone-dragon-moonlight-clock/ *** რამდენიმე ხნის წინ მე შევქმენი საათი ჩემი საცხოვრებელი ოთახისთვის, რადგან მე ვერაფერი ვიპოვე საყიდლად, რომელსაც სულ მცირე შემწყნარებელი დიზაინი ჰქონდა :-) რა თქმა უნდა, ჩემს შვილს ამის დანახვა ჰქონდა მოთხოვნა
მთვარის ლანდი 64: 3 ნაბიჯი
Lunar Lander 64: ეს სასწავლო არის კომპიუტერული თამაშისთვის, რომელიც დავწერე 34 წლის წინ, 1984 წელს, როდესაც 14 წლის ვიყავი. იგი დაიწერა Commodore 64 სახლის კომპიუტერზე, რომელიც დაკავშირებულია პორტატულ ტელევიზორთან ჩემს საძინებელში, Windows– ის კომპიუტერების დაწყებამდე დიდი ხნით ადრე. კომპიუტერის ენა
დედამიწის და მთვარის ჯადოსნური სარკე: 4 ნაბიჯი
დედამიწა და მთვარე ჯადოსნური სარკე: პლანშეტით აღჭურვილი ჯადოსნური სარკის საათი, რომელიც აჩვენებს მთვარეს / დედამიწას და მიმდინარე გარე პირობებს
უკაბელო მთვარის ფაზის ტრეკერი: 6 ნაბიჯი (სურათებით)
უკაბელო მთვარის ფაზის თვალთვალი: მთვარის ფაზის ტრეკერი არის პატარა, ნახევრად პორტატული მოწყობილობა, რომელიც საშუალებას გაძლევთ შეაგროვოთ კრიტიკული ინფორმაცია მთვარის შესახებ. მოწყობილობა იუწყება პარამეტრების უკან, როგორიცაა ხილული განათება, ფაზა, მთვარის ამოსვლა და დაყენების დრო და სხვა. ეს მოწყობილობა არის