Სარჩევი:
- ნაბიჯი 1: 20 ები 5 ქინძისთავზე
- ნაბიჯი 2: ჩარლიპლექსი
- ნაბიჯი 3: მისი ამოქმედება
- ნაბიჯი 4: უფრო პატარა და მრავალმხრივი…
- ნაბიჯი 5: Itty Bitty
- ნაბიჯი 6: პროგრამული უზრუნველყოფა
ვიდეო: როგორ მართოთ ბევრი ები რამდენიმე მიკროკონტროლერის ქინძისთავებიდან .: 6 ნაბიჯი (სურათებით)
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
იმის გათვალისწინებით, რომ ბევრ მიკროკონტროლერის ქინძისთავს აქვს სამი მდგომარეობა (+V, GND, ან "მაღალი წინაღობა", შეგიძლიათ მართოთ N*(N-1) LED- ები N ქინძისთავებიდან. ასე რომ, პატარა 8 პინიანი მიკროკონტროლი, როგორიცაა PIC12Fxxx ან ATtiny11, შეუძლია მართოს 20 LED- ები ხუთ გამომავალ ქინძისთავზეა და ჯერ კიდევ აქვს ერთი pin რაიმე სახის შეყვანისთვის. აგრეთვე იხილეთ
ნაბიჯი 1: 20 ები 5 ქინძისთავზე
დაბალი ქინძისთავიანი მიკროკონტროლერების ამჟამინდელი მოსავალი (6 ქინძიდან 20 პინამდე
მთელი პაკეტი) მიმზიდველი ფასი და "მიმზიდველია", მაგრამ ჩნდება კითხვა, თუ როგორ შეგიძლიათ საუკეთესოდ გამოიყენოთ ეს ქინძისთავები საერთო პროგრამებისთვის, როგორიცაა LED- ების მართვა. LED- ების მართვის უშუალო კავშირი მიირთმევს თითო პინს თითოეულ LED- ზე. ტრადიციული მულტიპლექსირების სქემა, სადაც LED ანოდების მწკრივებს ამოძრავებს N ქინძისთავების ერთი ნაკრები და თითოეული რიგის საერთო კათოდს მართავს M ქინძისთავების სხვა ნაკრები და ახერხებს N*M LED- ების განათებას N+M ქინძისთავებით. თუმცა, პროცესორზე, რომელსაც აქვს მხოლოდ 5 ან ნაკლები გამოსავალი (როგორც ეს უმეტეს შემთხვევაში 8 პინიანი მიკროკონტროლერების შემთხვევაშია), ეს ძლივს მოგიტანთ უფრო მეტ გამოსავალს, ვიდრე პირდაპირი დისკი.
ნაბიჯი 2: ჩარლიპლექსი
ვივარაუდოთ, რომ გამომავალი ქინძისთავები რეალურად სამმხრივია (აქტიური მაღალი, აქტიური დაბალი და მაღალი წინაღობა (შეყვანა)) ასევე შესაძლებელია რიგისა და სვეტის დრაივერების გაყოფა და N*(N-1) LED- ების კონტროლი მხოლოდ N ქინძისთავებით. ერთი პინი უკავშირდება LED- ების რიგის საერთო კათოდებს და ამოძრავებს, ხოლო დარჩენილი N-1 ქინძისთავები უკავშირდება ანოდებს და ან მაღალი დონით ამ სვეტის გასანათებლად, ან დატოვებულია როგორც შეყვანა, რათა დატოვოს LEDoff. მაქსიმ ამ ტექნიკას უწოდებს "Charlieplexing" და აღწერს მას (1); მიკროჩიპი ასევე აღნიშნავს ამას მათ დოკუმენტში (2) (და ახორციელებს ასევე PICKit 1 დაფაზე.) (1) "Charlieplexing-Reduced Pin-Count LED Display Multiplexing" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "რჩევები და ხრიკები 8 პინიანი FLASH PIC მიკროკონტროლერები" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) ჩარლიპლექსირების LED- ები- თეორია rgbphil
ნაბიჯი 3: მისი ამოქმედება
ეს ამოძრავებს 20 LED- ებს ATtiny11– დან. ამ დაფის ადრინდელი ვერსია იყო
ფაქტიურად აშენებულია და ჩანს როგორც მთავარი გვერდის ფოტო. მეშინია, რომ სქემატური სურათი საკმაოდ უიმედოა; თქვენ გჭირდებათ არწივი, რომ გითხრათ რომელი სიგნალები არის დაკავშირებული სად.
ნაბიჯი 4: უფრო პატარა და მრავალმხრივი…
მას შემდეგ, რაც დაფის უმეტესობა იკავებს LED მასივს, ჩვენ შეგვიძლია გამოვყოთ ადგილი
ან Attiny ჩიპისთვის, ან მიკროჩიპის PIC12F ჩიპისთვის. შეამცირეთ LED- ები 3 მმ -მდე და გადადით ორმხრივ დაფაზე, და ჩვენ ვიღებთ რაღაცას დაახლოებით 27x44 მმ სამწუხაროდ, ეს დაფა ჯერ არ არის გამოცდილი …
ნაბიჯი 5: Itty Bitty
მიკროჩიპს, რა თქმა უნდა, აქვს მათი 6 პინიანი PIC10F ჩიპი, რომელსაც შეუძლია მართოს ა
მხოლოდ 6 LED- ები 3 გამომავალი ქინძისთავებიდან. ეს არის დაახლოებით 16 მმ დიამეტრი. 603 LED- ებზე გადასვლა საშუალებას მოგცემთ ცოტათი პატარა გახდეთ, მაგრამ არ ვიცი რა აზრი აქვს.
ნაბიჯი 6: პროგრამული უზრუნველყოფა
პროგრამული უზრუნველყოფა ცოტა არეულია მომსახურების მიზეზების გამო:
1) ნაჩვენები PCB- ებისთვის LED- ები ისეა ასახული, რომ მოსახერხებელი იყოს PCB განლაგებისთვის, ვიდრე "სწორი" ბიტის თანმიმდევრობით. IMO, ეს არის გზა საქმის გასაკეთებლად, მაგრამ ეს იმას ნიშნავს, რომ მწკრივი 1 არ ნიშნავს აუცილებლად 1 -ს, ან მე -3 არ ნიშნავს bit 3. ეს მოითხოვს რიგის/სვეტის ჩვეულებრივ მისამართებსა და ბიტები, რომლებიც საჭიროებენ პარამეტრებს. 2) ვინაიდან ერთი და იგივე ბიტები გამოიყენება ანოდებისა და კათოდებისთვის, ზოგიერთი ბიტის საერთო (მწკრივი) კავშირი შეიძლება იყოს ამოძრავებული (სვეტის) ბიტების შუაში. ეს ნიშნავს, რომ თქვენ უნდა გადაიტანოთ სვეტის ბიტები იმისდა მიხედვით, ისინი სვეტების ნაკრების წინ ან მის შემდეგ არიან. 3) თქვენ უნდა გამოიტანოთ გამომავალი სიტყვები როგორც იოპორტის, ისე პორტის მიმართულების რეგისტრისათვის. ATtiny11– ის თანდართული ASM კოდი არის „კონცეფციის მტკიცებულება“. ეს უხერხულად ოპტიმიზირებულია და ცუდად არის კომენტარი გაკეთებული, მაგრამ ეს ყველაფერი რაც აქამდე დავწერე.
გირჩევთ:
როგორ მართოთ FT232R USB UART CLONE ARDUINO NANO BOARD 3.0: 7 ნაბიჯი
როგორ მართო FT232R USB UART CLONE ARDUINO NANO BOARD 3.0: დღეს შევიძინე arduino nano v3.0 (კლონი), მაგრამ პრობლემა მაქვს. ჩემი კომპიუტერი ყოველთვის ამოიცნობს " FT232R USB UART " andarduino Ide– ს არ შეუძლია ამ დაფის ამოცნობა. რატომ? რა მოხდა? კარგი, მე მაქვს გაკვეთილი ამ პრობლემის გადასაჭრელად
როგორ მართოთ მანუელი: 14 ნაბიჯი
როგორ მართოთ მანუელი: გამარჯობა, მე მქვია დანიელ რენდალი. მე ვარ საავტომობილო ტექნიკოსი და ჩემი ცხოვრების უმეტესი ნაწილი ვმართავ სახელმძღვანელოს. ბევრი აღარ მართავს სახელმძღვანელოს. ამერიკაში მცხოვრები ადამიანების მხოლოდ 18% მართავს სახელმძღვანელოს ან იცის როგორ მართოს სახელმძღვანელო. დღეს მივდივარ
როგორ მართოთ 2008 წელი Case IH Magnum 215 ტრაქტორი: 9 ნაბიჯი (სურათებით)
როგორ ვატაროთ 2008 წელი Case IH Magnum 215 ტრაქტორი: მე ვასწავლი, თუ როგორ უნდა დაიწყოს და მართოს Magnum 215 ტრაქტორი
აკონტროლეთ ბევრი სერვისი არდუინოთი !: 4 ნაბიჯი (სურათებით)
აკონტროლეთ ბევრი სერვისი არდუინოსთან ერთად !: თავიდან რაღაც უნდა მეთქვა. მე არ მქონდა ლამაზი სურათები. ასე რომ, მე გადავიღე სურათები bildr.blog– დან. ჩვენ ვიცით, რომ Arduino UNO– ს არ აქვს ბევრი pwm ქინძისთავი მრავალი სერვეოს გასაკონტროლებლად. ასე რომ, ჩვენ ხშირად ვხვდებით პრობლემას, რომ გავაკონტროლოთ მეტი სერვო არდუინოს საშუალებით
როგორ წავიკითხოთ ბევრი კონცენტრატორი ერთი MCU პინით: 4 ნაბიჯი
როგორ წავიკითხოთ ბევრი ჩამრთველი ერთი MCU პინით: ოდესმე თუ ეხვეწებოდით პროექტს (პროექტებს) და პროექტი სულ უფრო და უფრო იზრდებოდა, ხოლო თქვენ უფრო მეტს დაამატებდით მას (ჩვენ ამას ვეძახით დამღუპველ კრეატივიზმს)? ბოლო პროექტზე, მე ვაშენებდი სიხშირის მრიცხველს და დავამატე ხუთი ფუნქცია