Სარჩევი:
- ნაბიჯი 1: ზოგიერთი თეორია გაფუჭების და გაფუჭების შესახებ პულსის სიგანის მოდულაციის გამოყენებით
- ნაბიჯი 2: მექანიკური სამუშაო
- ნაბიჯი 3: ელექტრონიკა
- ნაბიჯი 4: პროგრამული უზრუნველყოფა
- ნაბიჯი 5: საბოლოო შედეგი
ვიდეო: განათებული საჩუქრები: 5 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
სახლში გვაქვს ორი განათებული საჩუქარი, რომლებიც გამოიყენება საშობაო პერიოდში. ეს არის მარტივი განათებული საჩუქრები 2 ფერის წითელი-მწვანე LED- ის გამოყენებით, რომლებიც შემთხვევით იცვლიან ფერს, რომელიც ქრება და ქრება. მოწყობილობა იკვებება 3 ვოლტიანი ღილაკით. ეს უკანასკნელი იყო ამ პროექტის მიზეზი, რადგან ბატარეა ძალიან სწრაფად იწურება, როდესაც საჩუქრები უფრო დიდხანს იკვებება.
ღილაკების უჯრედების უზარმაზარი რაოდენობის ბატარეების გამოყენების თავიდან ასაცილებლად, მე შევიმუშავე ჩემი ვერსია სამი დატენვის AAA ბატარეის გამოყენებით. ეს ვერსია იყენებს RGB LED- ს, ასე რომ შესაძლებელია ლურჯიც, მაგრამ ეს არ იყო ორიგინალური დიზაინის ნაწილი. ჩემს ვერსიას აქვს შემდეგი ფუნქციები:
- კონტროლი 2 წარმოდგენილია ერთდროულად ერთი PIC12F617 მიკროკონტროლის გამოყენებით. მიკროკონტროლერის პროგრამა დაიწერა JAL პროგრამირების ენაზე.
- ჩართეთ და გამორთეთ საჩუქარი ღილაკის გამოყენებით. თავდაპირველი ვერსია ამ მიზნით იყენებდა გადამრთველს, მაგრამ ღილაკის გამოყენება უფრო ადვილი იყო.
- შემთხვევით შეცვალეთ საჩუქრების ფერი წითელი და მწვანე ფერის ჩამქრალი და გაცვეთილი.
- გამორთეთ საჩუქრები, როდესაც ბატარეის ძაბვა დაეცემა ქვემოთ 3.0 ვოლტს. ეს ხელს შეუშლის მრავალჯერადი დატენვის ბატარეების ზედმეტად დაცლას.
მას შემდეგ, რაც ერთი ფერი ქრებოდა, LED ინარჩუნებს დრო 3 წამიდან 20 წამამდე. რადგან მე ჯერ კიდევ მქონდა გამოუყენებელი ლურჯი LED დავამატე ფუნქცია, რომ ორივე პაკეტი გახდება ცისფერი, როდესაც დროულად ზუსტად 10 წამია. ეს არ ხდება ძალიან ხშირად, ვინაიდან შემთხვევითი დრო წარმოიქმნება ტაიმერის ტკიპებში 40 მილიწამი, როგორც ეს აღწერილია მოგვიანებით.
ნაბიჯი 1: ზოგიერთი თეორია გაფუჭების და გაფუჭების შესახებ პულსის სიგანის მოდულაციის გამოყენებით
LED- ის სიკაშკაშის შეცვლის საუკეთესო საშუალება არ არის დენის შეცვლა, რომელიც მიედინება LED- ში, არამედ LED- ის ჩართვის დროის შეცვლით გარკვეული დროის ინტერვალში. LED- ის სიკაშკაშის კონტროლის ამ გზას ეწოდება Pulse Width Modulation (PWM), რომელიც რამდენჯერმეა აღწერილი ინტერნეტში, მაგ. ვიკიპედია.
PIC– ს და Arduino– ს აქვთ სპეციალური PWM აპარატურა, რაც ამარტივებს ამ PWM სიგნალის გენერირებას, მაგრამ მათ ხშირად აქვთ ერთი გამომავალი და ასე რომ თქვენ შეგიძლიათ აკონტროლოთ მხოლოდ ერთი LED. ამ ვერსიისთვის მე მჭირდებოდა 5 LED- ის კონტროლი (2 წითელი, 2 მწვანე და 1 კომბინირებული ლურჯი), ამიტომ PWM უნდა გაკეთდეს პროგრამულ უზრუნველყოფაში ტაიმერის გამოყენებით, რომელიც წარმოქმნის როგორც PWM სიხშირეს, ასევე PWM სამუშაო ციკლს.
PIC12F617– ს აქვს ბორტ ტაიმერი ავტომატური გადატვირთვის შესაძლებლობებით. ეს ნიშნავს, რომ ტაიმერის გადატვირთვის მნიშვნელობის დაყენებისთანავე, ის გამოიყენებს ამ მნიშვნელობას ყოველ ჯერზე, როდესაც დრო ამოიწურება და ტაიმერი მუშაობს ცალკე განსაზღვრულ სიხშირეზე. ვინაიდან დრო გადამწყვეტი მნიშვნელობა აქვს სტაბილური PWM სიგნალისთვის, ტაიმერი მუშაობს შეფერხების საფუძველზე, მასზე გავლენას არ მოახდენს ის დრო, როდესაც ძირითად პროგრამას სჭირდება LED- ების შემთხვევითი დროული კონტროლი და განსაზღვრა.
PWM სიხშირე უნდა იყოს საკმარისად მაღალი, რათა თავიდან აიცილოს ყოველგვარი მოციმციმე და ამიტომ ავირჩიე PWM სიხშირე 100 ჰც. ჩამქრალი და ჩამქრალი ეფექტისთვის ჩვენ უნდა შევცვალოთ მოვალეობის ციკლი და LED სიკაშკაშე. მე გადავწყვიტე გამოვიყენო ნაბიჯი 5-ით სიკაშკაშის გასაზრდელად ან შესამცირებლად, რათა მივიღო ჩამქრალი და გამქრალი ეფექტი და ვინაიდან ტაიმერი იყენებს 0-დან 255-მდე დიაპაზონს სამუშაო ციკლისთვის, ტაიმერს სჭირდება მუშაობა 255-ზე / 5 = 51 -ჯერ ნორმალურ სიხშირეზე ან 5100 ჰერცზე. ეს იწვევს ტაიმერის შეწყვეტას ყოველ 196 ჩვენში.
ნაბიჯი 2: მექანიკური სამუშაო
საჩუქრების გასაკეთებლად მე გამოვიყენე რძის თეთრი აკრილის პლასტიკი და დანარჩენი შემადგენლობისთვის გამოვიყენე MDF. იმის თავიდან ასაცილებლად, რომ თქვენ ხედავთ LED- ის ფორმას პაკეტში, როდესაც LED არის ჩართული, მე დავაფარე საფარი LED- ების თავზე, რომელიც ავრცელებს შუქს LED- დან. ეს საფარი წარმოიშვა ძველი ელექტრონული სანთლებისგან, რომელიც მე მქონდა, მაგრამ თქვენ ასევე შეგიძლიათ შექმნათ საფარი იგივე აკრილის პლასტმასის გამოყენებით. სურათებში ხედავთ იმას, რაც მე გამოვიყენე როგორც აღჭურვილობა და მასალა.
ნაბიჯი 3: ელექტრონიკა
სქემატური დიაგრამა გვიჩვენებს თქვენთვის საჭირო ელექტრონულ კომპონენტებს. როგორც უკვე აღვნიშნეთ, 5 LED დამოუკიდებლად კონტროლდება, სადაც ლურჯი LED კომბინირებულია. ვინაიდან PIC- ს არ შეუძლია ორი LED- ების მართვა ერთ პორტზე, მე დავამატე ტრანზისტორი კომბინირებული ლურჯი LED- ების გასაკონტროლებლად. ელექტრონიკა იკვებება 3 AAA დატენვის ბატარეით და მისი ჩართვა ან გამორთვა შესაძლებელია გადატვირთვის გადამრთველის დაჭერით.
ამ პროექტისთვის გჭირდებათ შემდეგი ელექტრონული კომპონენტები:
- 1 PIC მიკროკონტროლი 12F617 სოკეტით
- 2 კერამიკული კონდენსატორი: 2 * 100nF
- რეზისტორები: 1 * 33k, 1 * 4k7, 2 * 68 Ohm, 4 * 22 Ohm
- 2 RGB LED, მაღალი სიკაშკაშე
- 1 BC557 ტრანზისტორი ან ექვივალენტი
- 1 ღილაკის გადამრთველი
თქვენ შეგიძლიათ ააწყოთ წრე პურის დაფაზე და არ საჭიროებს დიდ ადგილს, როგორც ეს სურათზე ჩანს. შეიძლება გაგიკვირდეთ, რატომ არის რეზისტორის მნიშვნელობები LED– ების მაქსიმალური დენის გასაკონტროლებლად. ეს გამოწვეულია დაბალი ძაბვის 3.6 ვოლტთან ერთად ძაბვის ვარდნასთან ერთად, რომელსაც აქვს თითოეული LED, რაც დამოკიდებულია LED- ის ფერიზე, ასევე იხილეთ Wikepedia. რეზისტორის მნიშვნელობები იწვევს მაქსიმალურ დენს დაახლოებით 15 mA თითო LED- ზე, როდესაც მთელი სისტემის მაქსიმალური დენი არის დაახლოებით 30 mA.
ნაბიჯი 4: პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა ასრულებს შემდეგ დავალებებს:
როდესაც მოწყობილობა გადატვირთულია ღილაკზე დაჭერით ის ჩართავს მოწყობილობას, თუ ის გამორთული იყო ან გამორთავს მოწყობილობას, თუ ის ჩართული იყო. გამორთვა ნიშნავს PIC12F617 ძილის რეჟიმში დაყენებას, რომელშიც ის ძლივს მოიხმარს ენერგიას.
შექმენით PWM სიგნალი LED- ების სიკაშკაშის გასაკონტროლებლად. ეს კეთდება ქრონომეტრის და სერვისის შეწყვეტის რუტინის გამოყენებით, რომელიც აკონტროლებს PIC12F617- ის ქინძისთავებს, რომლებიც LED- ებს ჩართავენ და გამორთავს.
ჩამქრალი და ჩამქრალი ები და განათავსე ისინი შემთხვევითი დროით 3-დან 20 წამამდე. თუ შემთხვევითი დრო უდრის 10 წამს, ორივე LED- ი გახდება ცისფერი 10 წამის განმავლობაში, რის შემდეგაც გამოიყენება ნორმალური წითელი-მწვანე fade-in და fade-out ნიმუში.
ექსპლუატაციის დროს PIC გაზომავს მიწოდების ძაბვას მისი ბორტზე ანალოგური ციფრული გადამყვანის (ADC) გამოყენებით. როდესაც ეს ძაბვა დაეცემა ქვემოთ 3.0 V, ის გამორთავს LED- ებს და PIC- ს ისევ ძილის რეჟიმში დააყენებს. PIC– ს ჯერ კიდევ შეუძლია კარგად იმუშაოს 3.0 V– ზე, მაგრამ არ არის კარგი, რომ დატენვის ბატარეები სრულად იყოს დაცლილი.
როგორც უკვე აღვნიშნეთ, PWM სიგნალი იქმნება ტაიმერის გამოყენებით, რომელიც იყენებს შეწყვეტის სერვისს, რათა შეინარჩუნოს სტაბილური PWM სიგნალი. LED- ების გაფუჭება-ჩამობნელება და ჩაქრობა-ჩათვლით LED- ების ჩართვის დროის ჩათვლით, კონტროლდება ძირითადი პროგრამით. ეს ძირითადი პროგრამა იყენებს 40 მილიწამიანი ქრონომეტრს, რომელიც მომდინარეობს იმავე ტაიმერიდან, რომელიც ქმნის PWM სიგნალს.
ვინაიდან ამ პროექტისათვის მე არ გამოვიყენე რაიმე კონკრეტული JAL ბიბლიოთეკა, ამჯერად მომიწია შემთხვევითი გენერატორის შექმნა ხაზოვანი უკუკავშირის ცვლის რეგისტრის გამოყენებით, LED- ების შემთხვევითი დროისა და შემთხვევითი დროის შესაქმნელად.
ნაბიჯი 5: საბოლოო შედეგი
არის 2 ვიდეო, რომელიც აჩვენებს შუალედურ შედეგს. ჩემს მეუღლეს ჯერ კიდევ სჭირდება კუბიკების გადატანა ნამდვილ საჩუქრად. ერთი ვიდეო გვიჩვენებს შედეგის ახლოდან, ხოლო მეორე ვიდეო აჩვენებს მას ორიგინალური საჩუქრით, რაც იწვევს ამ პროექტს.
როგორც თქვენ შეიძლება ელოდოთ, როდესაც ფიქრობთ რომ დასრულებული ხართ, ახალი მოთხოვნები ჩნდება. ჩემი მეუღლე ითხოვდა, რომ LED- ების სიკაშკაშე შეიძლება ასევე შეიცვალოს მათი ჩაქრობის შემდეგ. ეს რა თქმა უნდა შესაძლებელია, რადგან მე მხოლოდ PIC12F617 პროგრამული მეხსიერების მხოლოდ ნახევარი გამოვიყენე.
JAL წყარო ფაილი და Intel Hex ფაილი პროგრამირების PIC თან ერთვის. თუ თქვენ დაინტერესებული ხართ PIC მიკროკონტროლის გამოყენებით JAL - პასკალის მსგავსი პროგრამირების ენა - ეწვიეთ JAL ვებსაიტს.
გაერთეთ ამ ინსტრუქციურობით და ველით თქვენ რეაქციებს და შედეგებს.
გირჩევთ:
განათებული LED ჰოლოკრონი (ვარსკვლავური ომები): დამზადებულია შერწყმაში 360: 18 ნაბიჯი (სურათებით)
განათებული LED ჰოლოკრონი (ვარსკვლავური ომები): დამზადებულია Fusion 360 -ში: მე ძალიან აღფრთოვანებული ვარ Fusion 360 -თან მუშაობისას, რომ შექმნას რაღაც ლამაზი, განსაკუთრებით განათების მიზნით. რატომ არ აკეთებთ პროექტს ვარსკვლავური ომების ფილმის განათებასთან ერთად? ამიტომ, მე გადავწყვიტე შემექმნა ეს სასწავლო პროექტი
LED განათებული ხის საქორწინო საათი: 8 ნაბიჯი (სურათებით)
LED განათებული ხის საქორწინო საათი: მე დავიწყე ეს პროექტი, რათა გამეკეთებინა უნიკალური, უნიკალური საქორწილო საათი ჩემი დისა და რძლისთვის. უნდოდათ გაეკეთებინათ ის, რისი განათებაც შეეძლოთ და აჩვენონ თავიანთი ქორწილის დღის გარკვეული ასპექტი კიდევ დიდი ხნის განმავლობაში. გაიარა ბევრი დიზაინი
LED განათებული მუხის Bluetooth დინამიკის დამზადება: 7 ნაბიჯი (სურათებით)
LED განათებული მუხის Bluetooth სპიკერის დამზადება: მას შემდეგ, რაც მივიღე ჩემი CNC როუტერი, მე მსურდა ნამდვილად გამომეცადა მისი უნარი აწარმოოს ზუსტი და მაღალი ხარისხის ნაწილები, რაც შეადგენდა მზა პროდუქტს. Bluetooth სპიკერის დიზაინი და დამზადება ჩემს გონებაში იყო მას შემდეგ რაც ვნახე ვიდეო DIYPerks– დან, რომელიც
განათებული BB8 მაისური: 6 ნაბიჯი (სურათებით)
Light-Up BB8 მაისური: ვარსკვლავური ომების ახალი ფილმი შეიძლება ყველას არ მოეწონოს, მაგრამ ეს არ ნიშნავს იმას, რომ ჩვენ არ შეგვიძლია გავატაროთ გართობა ჩვენი საყვარელი ვარსკვლავური ომების დროგის აღნიშვნით, რომელიც დაფარულია პორგსში! ჩვენ ვიპოვეთ ეს მიმზიდველი BB- 8 მაისური ჩვენს ადგილობრივ სამიზნეზე და მყისიერად მინდოდა დაემატებინა LED
განათებული ანიმაციური სადღესასწაულო პინი: 9 ნაბიჯი (სურათებით)
განათებული ანიმაციური სადღესასწაულო პინი: როდესაც პირველად შევიმუშავე ეს პროექტი, არ ველოდი მისი ღია წყაროს გამოქვეყნებას. ვფიქრობდი, რომ ეს იყო შესანიშნავი იდეა და ჰქონდა კომერციული პოტენციალი, როგორც ნივთი, რომლის გაყიდვაც ხელნაკეთი შოუს დროს შემეძლო. ალბათ ეს გამოწვეულია გამოცდილების თანდაყოლილი ნაკლებობით ან შესაძლოა