Sisukord:

Kuidas juhtida palju LED -sid mõnest mikrokontrolleri nööpnõelast: 6 sammu (koos piltidega)
Kuidas juhtida palju LED -sid mõnest mikrokontrolleri nööpnõelast: 6 sammu (koos piltidega)

Video: Kuidas juhtida palju LED -sid mõnest mikrokontrolleri nööpnõelast: 6 sammu (koos piltidega)

Video: Kuidas juhtida palju LED -sid mõnest mikrokontrolleri nööpnõelast: 6 sammu (koos piltidega)
Video: Мощная ультразвуковая ванна своими руками. DIY ultrasonic bath. 2024, November
Anonim
Kuidas juhtida paljudest mikrokontrolleri tihvtidest palju LED -e
Kuidas juhtida paljudest mikrokontrolleri tihvtidest palju LED -e

Kasutades tõsiasja, et paljudel mikrokontrollerite tihvtidel on kolm olekut (+V, GND või "kõrge takistus"), saate N-tihvtidelt juhtida N*(N-1) LED-e. Nii saab väike 8-kontaktiline mikrokontroller nagu PIC12Fxxx või ATtiny11 sõita 20 valgusdioodil on viis saadaolevat väljundnõela ja üks sisend on veel sisestatud. Vt ka

Samm: 20 valgusdioodi 5 kontakti peal

20 LED -i 5 tihvti peal
20 LED -i 5 tihvti peal

Praegune madala pin-arvuga mikrokontrollerite saak (6 kuni 20 tihvti sisse

kogu pakett) on atraktiivse hinnaga ja "armsad", kuid tekib küsimus, kuidas saaksite neid kontakte parimal viisil kasutada tavaliste rakenduste jaoks, näiteks LED -ide juhtimiseks. Otseühendusega lähenemine LED-ide juhtimisele kulutab iga LED-i jaoks ühe tihvti. Traditsiooniline multipleksimisskeem, kus LED -anoodide ridu juhib üks N -tihvtide komplekt ja iga rea ühist katoodi juhib teine M -tihvtide komplekt, suudab N+M -nööpnõeltega N*M LED -id süüdata. Kuid ainult 5 või vähem väljundiga protsessoril (nagu enamiku 8-kontaktiliste mikrokontrollerite puhul) saab see vaevalt rohkem väljundeid kui otseajam.

2. samm: Charlieplexing

Charlieplexing
Charlieplexing

Eeldades, et väljundpoldid on tegelikult kolme olekuga võimelised (aktiivne kõrge, aktiivne madal ja kõrge takistus (sisend)), on võimalik ka rea- ja veerudraivereid jagada ning N*(N-1) LED-e juhtida ainult N-tihvtidega. Üks tihvt on ühendatud valgusdioodide rea ja katkestatud voolu tavaliste katoodidega ning järelejäänud N-1 tihvtid on ühendatud anoodidega ja kas juhitakse selle veeru valgustamiseks kõrgele või jäetakse LED-i väljalülitamiseks sisenditena. Maxim nimetab seda tehnikat "Charlieplexingiks" ja kirjeldab seda punktis (1); Microchip mainib seda ka oma dokumendis (2) (ja rakendub ka PICKit 1 tahvlil.) (1) "Charlieplexing-Reduced Pin-Count LED Display Multiplexing" https://www.maxim-ic.com/appnotes. cfm/appnote_number/1880 (2) "Tips 'n Tricks 8-pin FLASH PIC mikrokontrollerid" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf(3) Charlieplexing LED- The Theory An Instructable by rgbphil

3. samm: selle tööle panemine

Selle tööle panemine
Selle tööle panemine
Selle tööle panemine
Selle tööle panemine

See juhib ATtiny11 -lt 20 LED -i. Selle plaadi varasem versioon oli

tegelikult ehitatud ja kuvatakse avalehe fotona. Kardan, et skeemi pilt on üsna lootusetu; peate Eagle'i ütlema, millised signaalid kuhu on ühendatud.

Samm: väiksemad ja mitmekülgsemad…

Väiksem ja mitmekülgsem…
Väiksem ja mitmekülgsem…

Kuna suurema osa plaadist võtab enda alla LED -massiiv, saame ruumi teha

kas Attiny kiibi VÕI mikrokiibi PIC12F kiibi jaoks. Kahandage LED -id 3 mm -ni ja minge kahepoolsele tahvlile ning saame midagi umbes 27x44 mm. Kahjuks pole seda plaati veel testitud …

Samm 5: Itty Bitty

Ilus Bitty
Ilus Bitty

Mikrokiibil on muidugi oma 6 -kontaktilised PIC10F kiibid, mis on võimelised a

ainult 6 LED -i kolmest väljundpoldist. Selle läbimõõt on umbes 16 mm. Kui minna 603 LED -i juurde, saate natuke väiksemaks saada, kuid ma pole kindel, mis mõte sellel on.

6. samm: tarkvara

Tarkvara läheb mitmel põhjusel segaseks:

1) näidatud trükkplaatide puhul on valgusdioodid paigutatud trükkplaatide paigutusele sobival viisil, mitte "õiges" bitijärjestuses. IMO, see on viis, kuidas asju teha, kuid see tähendab, et rida 1 ei tähenda tingimata bitti 1 või värvikombinatsioon 3 ei tähenda bitti 3. See nõuab tavalise rea/veeru aadressi ja bitid, mis vajavad seadistamist. 2) Kuna anoodide ja katoodide puhul kasutatakse samu bitte, võib mõne biti ühine (rida) ühendus olla ajamitest (veerust) koosnevate bittide keskel. See tähendab, et peate veeru bitte ümber nihutama, olenevalt sellest, kas need on selle veergude rea rea ees või järel. 3) Peate tuletama väljundsõnad nii ioporti kui ka pordi suuna registri jaoks. Lisatud ASM -kood ATtiny11 jaoks on "kontseptsiooni tõend". See on piinlikult optimeerimata ja halvasti kommenteeritud, kuid see on kõik, mis mul siiani kirjutatud on.

Soovitan: