Სარჩევი:

პროგრამირებადი LED: 6 ნაბიჯი (სურათებით)
პროგრამირებადი LED: 6 ნაბიჯი (სურათებით)

ვიდეო: პროგრამირებადი LED: 6 ნაბიჯი (სურათებით)

ვიდეო: პროგრამირებადი LED: 6 ნაბიჯი (სურათებით)
ვიდეო: ESP32 Tutorial 6 - Using RGB LED Project 2.3 -SunFounder's ESP32 IoT Learnig kit 2024, ივლისი
Anonim
პროგრამირებადი LED
პროგრამირებადი LED

შთაგონებული სხვადასხვა LED Throwies, მოციმციმე LED- ები და მსგავსი ინსტრუქციები მინდოდა გამეკეთებინა მიკროკონტროლის მიერ კონტროლირებადი LED- ის ვერსია. იდეა არის LED მოციმციმე თანმიმდევრობის გადაპროგრამებადი. ეს გადაპროგრამება შეიძლება გაკეთდეს შუქ -ჩრდილით, მაგ. თქვენ შეგიძლიათ გამოიყენოთ თქვენი ფანარი. ეს არის ჩემი პირველი ინსტრუქცია, ნებისმიერი კომენტარი ან შესწორება მისასალმებელია. განახლება 2008-08-12: ახლა არის ნაკრები Tinker Store– ში. აქ არის მისი გადაპროგრამების ვიდეო. ბოდიში ხარისხისთვის.

ნაბიჯი 1: როგორ მუშაობს

LED გამოიყენება როგორც გამომავალი. შეყვანისას გამოვიყენე LDR, სინათლეზე დამოკიდებული რეზისტორი. ეს LDR ცვლის მის რეზისტორს, რადგან იგი იღებს მეტნაკლებად შუქს. შემდეგ რეზისტორი გამოიყენება როგორც ანალოგური შეყვანა ADC მიკროპროცესორებისთვის (ანალოგური ციფრული გადამყვანი).

კონტროლერს აქვს მუშაობის ორი რეჟიმი, ერთი თანმიმდევრობის ჩაწერისთვის, მეორე კი ჩაწერილი თანმიმდევრობის დასაკრავად. მას შემდეგ რაც კონტროლერი შეამჩნევს სიკაშკაშის ორ ცვლილებას წამის ნახევარში, (ბნელი, ნათელი, ბნელი ან პირიქით), ის გადადის ჩაწერის რეჟიმში. ხელახლა დაშიფვრის რეჟიმში LDR- ის შეყვანა იზომება წამში რამდენჯერმე და ინახება ჩიპზე. თუ მეხსიერება ამოწურულია, კონტროლერი გადადის დაკვრის რეჟიმში და იწყებს ჩაწერილი თანმიმდევრობის დაკვრას. ამ პატარა კონტროლერის მეხსიერება ძალიან შეზღუდულია, 64 ბაიტი (დიახ, ბაიტი!), კონტროლერს შეუძლია ჩაწეროს 400 ბიტი. ეს არის საკმარისი სივრცე 10 წამის განმავლობაში 40 ნიმუში წამში.

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

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

მასალები- 2 x 1K რეზისტორი- 1 x LDR (სინათლისგან დამოუკიდებელი რეზისტორი), მაგ. M9960- 1 x დაბალი დენის LED, 1.7V, 2ma- 1 x Atmel ATtiny13v, 1KB ფლეშ ოპერატიული მეხსიერება, 64 ბიტიანი ოპერატიული მეხსიერება, 64 ბიტიანი EEPROM, [email protected] 1 x CR2032, 3V, 220mAh ხელსაწყოები- soldering iron - solder wire-breadboard- AVR პროგრამისტი- 5V დენის წყარო- მულტიმეტრი პროგრამული უზრუნველყოფა- Eclipse- CDT მოდული- WinAVRCosts საერთო ჯამში უნდა იყოს 5 $ ქვემოთ ინსტრუმენტების გარეშე. მე გამოვიყენე ATtiny13v, რადგან ამ კონტროლერის ოჯახის ამ ვერსიას შეუძლია გაუშვას 1.8 ვ. ეს შესაძლებელს ხდის მიკროსქემის გაშვებას ძალიან მცირე ბატარეით. ძალიან დიდი ხნის განმავლობაში მუშაობისთვის, მე გადავწყვიტე გამოვიყენო დაბალი დენის LED, რომელიც აღწევს სრულ სიკაშკაშეს უკვე 2ma.

ნაბიჯი 3: სქემა

სქემატიკა
სქემატიკა

ზოგიერთი კომენტარი სქემატურზე. გადატვირთვის შეყვანა არ არის დაკავშირებული. ეს არ არის საუკეთესო პრაქტიკა. უკეთესი იქნება გამოიყენოთ 10K რეზისტორი, როგორც გასაწევი. მაგრამ ის მშვენივრად მუშაობს ჩემთვის და ის ზოგავს რეზისტორს. იმისათვის, რომ წრე მაქსიმალურად მარტივი იყოს, გამოვიყენე შიდა ოსცილატორი. ეს ნიშნავს, რომ ჩვენ ვზოგავთ ბროლს და ორ პატარა კონდენსატორს. შიდა ოსცილატორი საშუალებას აძლევს კონტროლერს იმუშაოს 1.2 მჰც -ზე, რაც საკმარისზე მეტია ჩვენი მიზნისთვის. თუ გადაწყვეტთ გამოიყენოთ სხვა დენის წყარო 5V– ზე, ან გამოიყენოთ სხვა LED- ები, თქვენ უნდა გამოთვალოთ რეზისტორი R1. ფორმულაა: R = (კვების წყარო V - LED V) / 0.002A = 1650 Ohm (კვების წყარო = 5V, LED V = 1.7V). ორი დაბალი დენის LED- ის ნაცვლად ერთისა, ფორმულა ასე გამოიყურება: R = (კვების წყარო V - 2 * LED V) / 0.002A = 800 Ohm. გთხოვთ გაითვალისწინოთ, რომ თქვენ უნდა შეცვალოთ გაანგარიშება, თუ აირჩევთ სხვა ტიპის LED- ს. რეზისტორის R2 მნიშვნელობა დამოკიდებულია გამოყენებულ LDR- ზე. 1Koh მუშაობს ჩემთვის. შეიძლება დაგჭირდეთ გამოიყენოთ პოტენომეტრი, რომ იპოვოთ საუკეთესო მნიშვნელობა. ციკუტს უნდა შეეძლოს ნორმალური დღის შუქზე სინათლის ცვლილებების გამოვლენა. ენერგიის დაზოგვის მიზნით, PB3 არის მხოლოდ მაღალი, თუ გაზომვა გაკეთებულია. განახლება: სქემატური შეცდომაში შეყვანა იყო. ქვემოთ მოცემულია სწორი ვერსია. მადლობა, dave_chatting.

ნაბიჯი 4: შეიკრიბეთ პროტოტიპის დაფაზე

შეიკრიბეთ პროტოტიპის დაფაზე
შეიკრიბეთ პროტოტიპის დაფაზე
შეიკრიბეთ პროტოტიპის დაფაზე
შეიკრიბეთ პროტოტიპის დაფაზე

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

ნაბიჯი 5: დაპროგრამეთ წრე

დაპროგრამეთ წრე
დაპროგრამეთ წრე
დაპროგრამეთ წრე
დაპროგრამეთ წრე

კონტროლერის დაპროგრამება შესაძლებელია სხვადასხვა ენაზე. ყველაზე ხშირად გამოიყენება Assembler, Basic და C. მე გამოვიყენე C, რადგან ის საუკეთესოდ შეესაბამება ჩემს საჭიროებებს. მე ათი წლის წინ შეჩვეული ვიყავი C და შემეძლო გარკვეული ცოდნის გამოცოცხლება (ისე, მხოლოდ …). თქვენი პროგრამის დასაწერად მე გირჩევთ Eclipse– ს CDT მოდულით. მიიღეთ დაბნელება აქ https://www.eclipse.org/ და მოდული აქ https://www.eclipse.org/cdt/. AVR მიკროკონტროლერებისთვის C ენის შესადგენად დაგჭირდებათ ჯვრის შემდგენელი. გაგვიმართლა, რომ არსებობს ცნობილი GCC- ის პორტი. მას ჰქვია WinAVR და შეგიძლიათ იხილოთ აქ https://winavr.sourceforge.net/. ძალიან კარგი სამეურვეო პროგრამა, თუ როგორ უნდა დაპროგრამდეს AVR კონტროლერები WinAVR– ით არის აქ https://www.mikrocontroller.net/articles/AVR-GCC- სამეურვეო უკაცრავად, ის გერმანულ ენაზეა, მაგრამ თქვენ შეგიძლიათ იპოვოთ ათასობით სამეურვეო გვერდი ამ თემაზე თქვენს ენაზე, თუ მოძებნით მათ. თქვენი წყაროს შედგენის შემდეგ, თქვენ უნდა გადაიტანოთ hex ფაილი კონტროლერზე. ეს შეიძლება გაკეთდეს თქვენი კომპიუტერის მიკროსქემთან დაკავშირებით ISP– ით (სისტემის პროგრამისტში) ან გამოყოფილი პროგრამისტების გამოყენებით. მე გამოვიყენე ერთგული პროგრამისტი, რადგან ის ოდნავ ამარტივებს სქემას მავთულისა და დანამატის დაზოგვით. ნაკლი ის არის, რომ თქვენ უნდა შეცვალოთ კონტროლერი წრესა და პროგრამისტს შორის ყოველ ჯერზე, როდესაც გსურთ პროგრამული უზრუნველყოფის განახლება. ჩემი პროგრამისტი მოდის https://www.myavr.de/ და იყენებს USB- ს ჩემს ნოუთბუქთან დასაკავშირებლად. ირგვლივ ბევრი სხვაა და შენც შეგიძლია მისი აშენება. გადარიცხვისთვის მე გამოვიყენე პროგრამა სახელწოდებით avrdude, რომელიც არის WinAVR დისტრიბუციის ნაწილი. მაგალითად ბრძანების სტრიქონი შეიძლება ასე გამოიყურებოდეს:

avrdude -F -p t13 -c avr910 -P com4 -U flash: w: flickled.hex: iმიმაგრებული შეგიძლიათ მიიღოთ წყარო და შედგენილი ექვსკუთხა ფაილი.

ნაბიჯი 6: შედუღება

შედუღება
შედუღება

თუ თქვენი წრე მუშაობს breadboard შეგიძლიათ solder მას.

ეს შეიძლება გაკეთდეს PCB- ზე (დაბეჭდილი cicuit board), პროტოტიპის დაფაზე ან დაფის გარეშეც კი. მე გადავწყვიტე ამის გაკეთება, რადგან წრე შედგება მხოლოდ რამდენიმე კომპონენტისგან. თუ თქვენ არ იცნობთ შედუღებას, გირჩევთ, რომ ჯერ მოძებნოთ შედუღების სახელმძღვანელო. ჩემი შედუღების უნარი ცოტა ჟანგიანია, მაგრამ მე ვფიქრობ, რომ თქვენ გესმით იდეა. იმედი მაქვს ისიამოვნეთ. ალექს

გირჩევთ: