Სარჩევი:

როგორ მართოთ ბევრი ები რამდენიმე მიკროკონტროლერის ქინძისთავებიდან .: 6 ნაბიჯი (სურათებით)
როგორ მართოთ ბევრი ები რამდენიმე მიკროკონტროლერის ქინძისთავებიდან .: 6 ნაბიჯი (სურათებით)

ვიდეო: როგორ მართოთ ბევრი ები რამდენიმე მიკროკონტროლერის ქინძისთავებიდან .: 6 ნაბიჯი (სურათებით)

ვიდეო: როგორ მართოთ ბევრი ები რამდენიმე მიკროკონტროლერის ქინძისთავებიდან .: 6 ნაბიჯი (სურათებით)
ვიდეო: როგორ ვმართოთ ჩვენი ნეგატიური, აკვიატებული ფიქრები - ფსიქოლოგის რჩევები "დღის იმედში" 2024, ნოემბერი
Anonim
როგორ გამოვყოთ ბევრი ები რამდენიმე მიკროკონტროლერის ქინძისთავებიდან
როგორ გამოვყოთ ბევრი ები რამდენიმე მიკროკონტროლერის ქინძისთავებიდან

იმის გათვალისწინებით, რომ ბევრ მიკროკონტროლერის ქინძისთავს აქვს სამი მდგომარეობა (+V, GND, ან "მაღალი წინაღობა", შეგიძლიათ მართოთ N*(N-1) LED- ები N ქინძისთავებიდან. ასე რომ, პატარა 8 პინიანი მიკროკონტროლი, როგორიცაა PIC12Fxxx ან ATtiny11, შეუძლია მართოს 20 LED- ები ხუთ გამომავალ ქინძისთავზეა და ჯერ კიდევ აქვს ერთი pin რაიმე სახის შეყვანისთვის. აგრეთვე იხილეთ

ნაბიჯი 1: 20 ები 5 ქინძისთავზე

20 ები 5 ქინძისთავზე
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

Itty Bitty
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 კოდი არის „კონცეფციის მტკიცებულება“. ეს უხერხულად ოპტიმიზირებულია და ცუდად არის კომენტარი გაკეთებული, მაგრამ ეს ყველაფერი რაც აქამდე დავწერე.

გირჩევთ: