Სარჩევი:
- ნაბიჯი 1: იდეის შესწავლა
- ნაბიჯი 2: აპარატურა
- ნაბიჯი 3: შეკრება
- ნაბიჯი 4: კონტროლი?
- ნაბიჯი 5: გაადვილეთ
- ნაბიჯი 6: პირველი ექსპერიმენტები
- ნაბიჯი 7: რეალურ დროში კონტროლი
- ნაბიჯი 8: დასკვნები
ვიდეო: ინტერაქტიული გარე განათება: 8 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:21
ეს არის ჩემი პირველი ინსტრუქცია! გთხოვთ დამეთანხმოთ სანამ მე მიჭირს სათანადო ინგლისურის დაწერა. თავისუფლად შემისწორე! მე დავიწყე ეს პროექტი მხოლოდ მას შემდეგ, რაც დაიწყო კონკურსი "მოდით ეს ბრწყინავდეს". ვისურვებდი, რომ ბევრად მეტი გამეკეთებინა და დამემთავრებინა ის, რისი გაკეთებაც მინდოდა. მაგრამ სკოლასა და სამუშაოს შორის, მე არ დამრჩა იმდენი დრო, რამდენიც მინდოდა. მიუხედავად ამისა, მე აქ ვტოვებ ანგარიშს ჩემი ექსპერიმენტების შესახებ, როგორც სასწავლო, ასე რომ ნებისმიერს შეუძლია სცადოს და გააკეთოს ის, რაც მე გავაკეთე. ეს ინსტრუქცია არ ნიშნავს იმას, რომ იყოს სახელმძღვანელო და ასწავლოს როგორ გააკეთოს ეს კონტრაცეფცია. ეს არ არის სახელმძღვანელო დამწყებთათვის ელექტრონიკაში. ეს უფრო ჰგავს ერთი იდეისა და მიზნის გაზიარებას, რომლის განხორციელებაც მსურს. თუ თქვენ ხართ დამწყები/სრული უმეცარი ელექტრონიკაში და გსურთ მსგავსი რამის გაკეთება, ბოდიში! მაგრამ ჩვენ შეგვიძლია ვცადოთ ყოველთვის დაგეხმაროთ. იხილეთ ბოლო ნაბიჯი. ჩვენ უკვე ვნახეთ მრავალი გარემოს განათების პროექტი. მათი უმრავლესობა იყენებს RGB LED- ებს: - ოთახის ერთი ფერის გასანათებლად, ატმოსფეროს შესაქმნელად თქვენს განწყობაზე - ტელევიზორის/მონიტორის ფერიდან ან აუდიოდან სინათლის ეფექტების შესაქმნელად. ინსტრუქციებშიც კი არის რამოდენიმე დაკავშირებული: წვრილმანი გარემოს განათების სისტემები სინათლის ბარი გარემოს განათება საკუთარი გარემოს განათების შუქების აგება ამ კონკურსის საბაბად, დავიწყე პროექტი, რომელიც დიდი ხანია ჩემს გონებაში იყო. მე ყოველთვის მინდოდა მსგავსი გარე განათების მსგავსი რამ გამეკეთებინა და ჩემი ოთახის კედლები შევსებულიყო RGB LED- ებით. მაგრამ, ერთი ნაბიჯის გადადგმა, ყველა და თითოეული მათგანი გასაკონტროლებელი. ვიმედოვნებთ, რომ ეს პროექტი გამოიწვევს ღია კოდის ელექტრონული ნაკრები მოყვარულთათვის და ელექტრონული დამჭერებისთვის, რაც აპარატურის/პროგრამული უზრუნველყოფის გარჩევისა და სენსორული ინტეგრაციის საშუალებას მისცემს. აქ არის მცირე გადახედვა იმისა, რაც მე გავაკეთე:
ნაბიჯი 1: იდეის შესწავლა
მე მინდა შევძლო ჩემი ოთახის კედლების შევსება RGB LED- ებით, თითოეული ლიდერის ფერისა და სიკაშკაშის კონტროლით. მე ვაპირებ გამოვიყენო მიკროკონტროლერი გამოყენების სიმარტივისა და მოქნილობისათვის. სამწუხაროდ, მე ვერ ვაკონტროლებ ასობით LED- ებს მიკროკონტროლერებზე არსებული რამდენიმე ქინძისთავით. ძნელი იქნებოდა ამდენი LED- ების კონტროლის კოდირება. ასე რომ, მე გადავწყვიტე, რომ ყველა LED- ი უნდა გავყო რამდენიმე პატარა ზოლად და თითოეული ბარისთვის შემეძლო მიკროკონტროლერის გამოყენება. შემდეგ გამოვიყენებ მიკროკონტროლერების საკომუნიკაციო შესაძლებლობებს მათ შორის ინფორმაციის გასაზიარებლად. ეს ინფორმაცია შეიძლება იყოს LED- ების ფერი და სიკაშკაშე, ფერის ნიმუშები/თანმიმდევრობა და სენსორული ინფორმაცია. თითოეული ბარისთვის მე გადავწყვიტე გამომეყენებინა 16 RGB ები. ეს იწვევს არც ძალიან დიდ და არც პატარა ბარს. ამ გზით ვიყენებ რესურსების მისაღებ რაოდენობას თითოეული led- ისთვის, ხარჯების შემცირებას თითოეული ბარისთვის. მიუხედავად ამისა, 16 RGB LED არის 48 LED (3*16 = 48) მიკროკონტროლის გასაკონტროლებლად. ხარჯების გათვალისწინებით, მე გადავწყვიტე გამოვიყენო ყველაზე იაფი მიკროკონტროლერი, რომლის გამოყენებაც შემეძლო. ეს ნიშნავს, რომ მიკროკონტროლერს ექნება მხოლოდ 20 I/O ქინძისთავები, არ არის საკმარისი 48 LED- ისთვის. მე არ მსურს გამოვიყენო charlieplexing ან რაიმე სახის დროის გამყოფი დისკი, რადგან პროექტის მიზანი არის ოთახის განათება. ერთადერთი ალტერნატივა, რომლის მოფიქრებაც შემიძლია, არის გარკვეული სახის ჩაკეტილი ცვლის რეგისტრაცია! განახლება:- შექმენით და ინტერაქტიული გარე განათება- შექმენით კონტროლირებადი LED- ების სტანდარტული ზოლი- ოთახის შესავსებად რამდენიმე ბარის დაკავშირების შესაძლებლობა- დაუშვით მომხმარებლის ადაპტაცია/კონფიგურაცია და სენსორული ინტეგრაცია
ნაბიჯი 2: აპარატურა
როგორც წინა ნაბიჯზეა ნათქვამი, მინდა რამდენიმე ბარი გავაკეთო ერთი ოთახის გასანათებლად. ეს გვახსოვს ხარჯების საკითხი. მე შევეცდები და თითოეული ბარი გახადოს ყველაზე ეკონომიური გზა. მიკროკონტროლი, რომელსაც ვიყენებდი, იყო AVR ATtiny2313. ეს არის საკმაოდ იაფი და მე მქონდა რამდენიმე ტყუილი გარშემო. ATtiny2313– ს აქვს ერთი უნივერსალური სერიული ინტერფეისი და ერთი USART ინტერფეისი, რომელიც კარგად გამოდგება შემდეგ ნაბიჯებში. მე ასევე მქონდა სამი MCP23016 - I2C 16 ბიტიანი I/O პორტის გაფართოება, მხოლოდ სწორი რაოდენობა! მე გამოვიყენე თითოეული პორტის გაფართოება 16 LED- ის ერთი ფერის გასაკონტროლებლად. LED- ები… სამწუხაროდ, ყველაზე იაფი იყო, რაც მე ვიპოვე. ისინი 48 წითელი, მწვანე და ლურჯია ~ 10000 მკდ 5 მმ 20 გრადუსიანი კუთხით. ამას არ უნდა ჰქონდეს მნიშვნელობა, რადგან ეს მხოლოდ ერთი პროტოტიპია. ამ ფაქტის მიუხედავად, შედეგი საკმაოდ სასიამოვნოა! მიკროკონტროლერს ვუშვებ 8 მეგაჰერცზე. I2C ავტობუსი არის 400 კჰჰც სიხშირით. LED გადართვის სიხშირე დაახლოებით 400 ჰც. ამ გზით, თუ მე შემიძლია 48 LED- ების მართვა ლიმიტამდე მისვლის გარეშე, მე უფრო მოგვიანებით დავტოვებ ადგილს!
ნაბიჯი 3: შეკრება
სქემის შემუშავების შემდეგ, მე ავაშენე ის რამდენიმე დაფაზე, პროტოტიპის მიზნით. რამოდენიმე საათის განმავლობაში მავთულის მოჭრისა და მიკროსქემის შეკრების შემდეგ მივიღე ეს შედეგი: ერთი გიგანტური პურის დაფა 48 LED- ით და ტონა მავთულით!
ნაბიჯი 4: კონტროლი?
ეს არის პროექტის ყველაზე რთული ნაწილი. მე მინდოდა გამეკეთებინა ერთი საკონტროლო ალგორითმი, რომელიც საკმარისი იქნებოდა ნიმუშების/თანმიმდევრობების დამუშავებისათვის და ასევე თითოეული LED- ის სიკაშკაშის და ფერის გასაკონტროლებლად. LED- ების გასაკონტროლებლად მე უნდა გამოეგზავნა MCP23016– ისთვის 4 კბ ჩარჩო (1 ბაიტი = 8 ბიტი). ერთი ბაიტი ფერის შესაბამისი IC მისამართის მისამართით, 1 ბაიტი ბრძანებით "ჩაწერა" და 2 ბაიტი 16 ბიტიანი (LED) მნიშვნელობით. IC უკავშირდება LED- ებს, როგორც "ჩაძირვას", რაც იმას ნიშნავს, რომ ერთი ლოგიკური მნიშვნელობა 0 pin- ზე აანთებს LED- ს. ახლა კი რთული ნაწილი, თუ როგორ უნდა მოხდეს PWM კონტროლი 48 LED- ისთვის? შევისწავლოთ PWM ერთი LED- ისთვის! PWM განმარტავს @ ვიკიპედიას. თუ მე მინდა LED სიკაშკაშე 50%-ზე, ჩემი PWM მნიშვნელობა არის 50%. ეს ნიშნავს, რომ LED, დროის ერთ მონაკვეთში, უნდა იყოს იმავე ოდენობით, როგორც გამორთული. ავიღოთ 1 წამიანი პერიოდი. PWM 50% ნიშნავს, რომ ამ 1 წამში, დრო არის 0.5 წამი და გამორთვის დრო არის 0.5 წამი. PWM 80%? 0.2 წამი გამორთულია, 0.8 წამი ჩართულია! ადვილია, არა? ციფრულ სამყაროში: 10 საათის ციკლის პერიოდის განმავლობაში 50% ნიშნავს, რომ 5 ციკლისთვის LED არის ჩართული, ხოლო სხვა 5 ციკლისთვის LED გამორთულია. 20%? 2 ციკლი ჩართულია, 8 ციკლი გამორთულია. 45%? ჩვენ ნამდვილად ვერ მივიღებთ 45%-ს … ვინაიდან ეს პერიოდი ციკლებშია და ჩვენ გვაქვს მხოლოდ 10 ციკლი, ჩვენ შეგვიძლია მხოლოდ PWM- ის გაყოფა 10%-იანი ნაბიჯებით. ეს ნიშნავს, რომ pin- ის ევოლუცია უნდა იყოს, 50%-ისთვის: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; ან თუნდაც 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; პროგრამირებისას ჩვენ შეგვიძლია გავაკეთოთ მასივის ჩართვისა და გამორთვის ეს თანმიმდევრობა. თითოეული ციკლისთვის ჩვენ გამოვყავით პინზე ინდექსის ღირებულება იყო ციკლი. ვიგრძენი აქამდე აზრი? თუ ჩვენ გვინდა, რომ LED0 იყოს 50%, და LED1 20%, ჩვენ შეგვიძლია დავამატოთ ორივე მასივი.: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; LED1 პინის მართვისთვის: 2, 2, 0, 0, 0, 0, 0, 0, 0, 0; შედეგად LED0 +LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; რიცხვების ამ თანმიმდევრობის გამოტანა პორტის გაფართოების IC- ში, ჩვენ მივიღებთ LED0 50% სიკაშკაშეს და LED1 20% !! მარტივია 2 LED- ისთვის, არა? ახლა ჩვენ უნდა გავაკეთოთ ეს 16 LED- ებისთვის, თითოეული ფერისთვის! თითოეული ამ მასივისთვის ჩვენ გვაქვს სიკაშკაშის კომბინაცია თითოეული ფერისთვის (16 LED) ყოველ ჯერზე, როდესაც გვსურს ფერების სხვა კომბინაცია, ჩვენ უნდა შევცვალოთ ეს მასივი.
ნაბიჯი 5: გაადვილეთ
წინა ნაბიჯი ძალიან ბევრია მარტივი თანმიმდევრობის შესაქმნელად … ამიტომ გადავწყვიტე შემექმნა პროგრამა, სადაც ჩვენ თითოეული LED- ის ფერს ვამბობთ მიმდევრობის ერთ საფეხურზე და ვიღებთ ნაბიჯის სამ მასივს. მე გავაკეთე ეს პროგრამა LabView– ში დროის შეზღუდვის გამო.
ნაბიჯი 6: პირველი ექსპერიმენტები
მიკროკონტროლერში რამდენიმე საფეხურის ჩატვირთვა და ჩვენ ვიღებთ მსგავს რამეს: ბოდიში ვიდეოების ცუდი ხარისხისთვის! მე განვსაზღვრე თანმიმდევრობის ნაბიჯების მაქსიმალური რაოდენობა 8 -მდე და შევზღუდე PWM 20% ნახტომით. ეს გადაწყვეტილება ეფუძნება იმ სახის კონტროლს, რომელსაც მე ვიყენებ და რამდენად EEPROM აქვს ATtiny2313. ამ ექსპერიმენტებში შევეცადე დამენახა რა სახის ეფექტები შემეძლო. უნდა ვთქვა, რომ შედეგით კმაყოფილი ვარ!
ნაბიჯი 7: რეალურ დროში კონტროლი
როგორც წინა ნაბიჯებშია ნათქვამი, მინდა ვისაუბრო ყველა მიკროკონტროლერთან, რომლებიც აკონტროლებენ LED- ებს ჩემს ოთახში. ასე რომ, მე გამოვიყენე ხელმისაწვდომი USART ინტერფეისი ATtiny2313– ში და დავუკავშირე მას ჩემს კომპიუტერს. მე ასევე შევქმენი პროგრამა LabView– ში LED ბარის გასაკონტროლებლად. ამ პროგრამაში მე შემიძლია ვუთხრა მიკროკონტროლერს რამდენი ხანია თანმიმდევრობა, თითოეული LED- ის ფერი და თანმიმდევრობის საფეხურებს შორის დრო. შემდეგ ვიდეოში მე დემონსტრირება, თუ როგორ შემიძლია შეცვალოს LED- ების ფერი და განვსაზღვრო თანმიმდევრობა.
ნაბიჯი 8: დასკვნები
მე ვფიქრობ, რომ მე წარმატებული ვიყავი ჩემი პროექტის ამ პირველ მიდგომაში. მე შემიძლია გავაკონტროლო 16 RGB LED ები მცირე რესურსებით და შეზღუდვებით. შესაძლებელია თითოეული LED ცალკე გაკონტროლება, ნებისმიერი სასურველი თანმიმდევრობის შექმნა.
Მომავალი სამუშაო:
თუ მივიღებ პოზიტიურ გამოხმაურებას ხალხისგან, შემიძლია კიდევ უფრო განვავითარო ეს იდეა და გავაკეთო სრული DIY ელექტრონიკის ნაკრები, დაბეჭდილი მიკროსქემის დაფებით და შეკრების ინსტრუქციით.
ჩემი მომდევნო ვერსიისთვის: აკონტროლეთ LED- ები -განავითარეთ კომუნიკაცია რამდენიმე მიკროკონტროლერს შორის.
გაქვთ რაიმე შემოთავაზება ან შეკითხვა? ან დატოვეთ კომენტარი!
ფინალისტი Let It Glow!
გირჩევთ:
გასაოცარი წვრილმანი მზის ენერგიით გარე გარე ნათურა: 9 ნაბიჯი
გასაოცარი წვრილმანი მზის ენერგიაზე მომუშავე გარე ნათურა: გამარჯობა! ამ ინსტრუქციებში შეგიძლიათ გაიგოთ როგორ ავაშენოთ იაფი და მარტივი მზის ენერგიაზე მომუშავე LED ნათურა! ის იტვირთება ბატარეის დღის განმავლობაში და ანათებს ძალიან ნათელ COB LED ღამით! უბრალოდ მიყევით ნაბიჯებს! Შენ შეგიძლია ამის გაკეთება! ეს მართლაც ადვილი და სახალისოა! ეს არის
გარე პროგრამისთვის პროგრამირებადი გარე განათება: 4 ნაბიჯი
გარე პროგრამული უზრუნველყოფის გარე განათება: ეს პროექტი გეხმარებათ გარე გარე მონიტორის ან ტელევიზიის გარემოს განათების დაყენებაში, რომელიც საშუალებას გაძლევთ გააკონტროლოთ ქვემოთ ჩამოთვლილი ნებისმიერი ბრაუზერი, რომელსაც აქვს ბრაუზერი და დაკავშირებულია თქვენს როუტერთან. LED ფერი მოციმციმე სიხშირე DJ ეფექტს აყენებს განსხვავებებს
წვრილმანი დაბალი ძაბვის გარე განათება ჟოლო ჟოლოს გამოყენებით: 11 ნაბიჯი (სურათებით)
წვრილმანი დაბალი ძაბვის გარე განათება ჟოლოს პი გამოყენებით მე ასევე ძალიან დავიღალე, რომ ჩავრთო ჩემი შუქები, ტექნიკა, შესასვლელი კარი, ავტოფარეხის კარი და ვინ იცის კიდევ რა დაუცველ ინტერნეტს. განსაკუთრებით ისეთ მოვლენებთან დაკავშირებით, როგორიცაა
ეზოს ინტერაქტიული განათება, საფეხმავლო განათება: 3 ნაბიჯი
ეზოს ინტერაქტიული განათება, საფეხმავლო განათება: მინდოდა ავაშენო ინტერაქტიული ეზოს განათება ჩემი უკანა ეზოსთვის. იდეა ის იყო, რომ როდესაც ვინმე ერთი გზით მიდიოდა, ის ანიმაციას წამოიღებდა იმ მიმართულებით, სადაც თქვენ დადიოდით. დავიწყე დოლარის გენერალური $ 1.00 მზის ნათებით
შექმენით გარე მყარი დისკი ძველი გარე CD/RW– დან: 5 ნაბიჯი
შექმენით გარე მყარი დისკი ძველი გარე CD/RW– დან: ძველი გარე cd/rw– ის საკმაოდ პირდაპირ გადატანა უფრო სასარგებლო გარე მყარ დისკზე. მომარაგება 1-გარე cd/rw (სასურველია უფრო ყუთის ტიპი) 1-მყარი დისკი (უნდა შეესაბამებოდეს დისკის შიდა კონექტორს, უნდა იყოს ფორმატირებული/სისტემური) 1 სმ