Satura rādītājs:

Kā vadīt daudz gaismas diodes no dažām mikrokontrollera tapām: 6 soļi (ar attēliem)
Kā vadīt daudz gaismas diodes no dažām mikrokontrollera tapām: 6 soļi (ar attēliem)

Video: Kā vadīt daudz gaismas diodes no dažām mikrokontrollera tapām: 6 soļi (ar attēliem)

Video: Kā vadīt daudz gaismas diodes no dažām mikrokontrollera tapām: 6 soļi (ar attēliem)
Video: 40 отборных автотоваров с Aliexpress, которые упростят жизнь любому автовладельцу #1 2024, Novembris
Anonim
Kā vadīt daudz gaismas diodes no dažām mikrokontrolleru tapām
Kā vadīt daudz gaismas diodes no dažām mikrokontrolleru tapām

Izmantojot faktu, ka daudziem mikrokontrolleru tapām ir trīs stāvokļi (+V, GND vai "augsta pretestība"), jūs varat vadīt N*(N-1) gaismas diodes no N tapām. Tātad mazais 8 kontaktu mikrokontrolleris, piemēram, PIC12Fxxx vai ATtiny11, var vadīt 20 gaismas diodes ieslēdz piecas pieejamās izejas tapas, un joprojām ir palikusi viena tapa dažāda veida ievadīšanai. Skatiet arī

1. darbība: 20 gaismas diodes uz 5 tapām

20 gaismas diodes uz 5 tapām
20 gaismas diodes uz 5 tapām

Pašreizējā zemo tapu mikrokontrolleru raža (ieslēgta no 6 līdz 20 tapām)

visa pakete) ir pievilcīgas cenas un “gudras”, taču rodas jautājums par to, kā jūs varat vislabāk izmantot šīs tapas tādiem kopīgiem lietojumiem kā, piemēram, gaismas diodes. Tieša savienojuma pieeja gaismas diožu vadīšanai patērē vienu tapu katrai gaismas diodei. Tradicionālā multipleksēšanas shēma, kurā LED anodu rindas virza viens N tapu komplekts un katras rindas kopējo katodu virza cits M tapu komplekts, spēj iedegt N*M gaismas diodes ar N+M tapām. Tomēr procesorā, kuram ir tikai 5 vai mazāk izeju (kā tas ir lielākajā daļā 8 kontaktu mikrokontrolleru), tas gandrīz nesniedz vairāk izejas nekā tiešais disks.

2. solis: Čārlija

Čārlija
Čārlija

Pieņemot, ka izejas tapas faktiski ir trīsstāvu (aktīva augsta, aktīva zema un augsta pretestība (ieeja)), ir iespējams arī sadalīt rindu un kolonnu draiverus un kontrolēt N*(N-1) gaismas diodes tikai ar N tapām. Viena tapa ir savienota ar kopējiem gaismas diožu rindas katodiem un palēninātu, un atlikušās N-1 tapas ir savienotas ar anodiem un vai nu tiek virzītas augstu, lai apgaismotu šo kolonnu, vai arī atstāj kā ievadi, lai izslēgtu LED. Maksims šo tehniku sauc par "Čārlijapiksēšanu" un apraksta to (1); Microchip to piemin arī savā dokumentā (2) (un tiek ieviests arī uz PICKit 1 tāfeles.) (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 mikrokontrolleri" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf (3) Charlieplexing LED- The teorija An Instructable by rgbphil

3. darbība: nododiet to darbam

Liekot to darbam
Liekot to darbam
Liekot to darbam
Liekot to darbam

Tas no ATtiny11 vada 20 gaismas diodes. Šī paneļa iepriekšējā versija bija

faktiski izveidota un tiek parādīta kā galvenās lapas fotoattēls. Es baidos, ka shēmas attēls ir diezgan bezcerīgs; jums ir nepieciešams Ērglis, lai pateiktu, kuri signāli ir pievienoti kur.

4. darbība: mazāks un daudzpusīgāks…

Mazāks un daudzpusīgāks…
Mazāks un daudzpusīgāks…

Tā kā lielāko daļu dēļa aizņem LED masīvs, mēs varam atbrīvot vietu

vai nu Attiny mikroshēmai VAI mikroshēmas PIC12F mikroshēmai. Samaziniet gaismas diodes līdz 3 mm un dodieties uz divpusēju dēli, un mēs iegūstam kaut ko aptuveni 27x44 mm. Ak, šī tāfele vēl nav pārbaudīta …

5. solis: Itty Bitty

Diezgan Bitija
Diezgan Bitija

Mikroshēmai, protams, ir 6 kontaktu PIC10F mikroshēmas, kas spēj vadīt

tikai 6 gaismas diodes no 3 izejas tapām. Tas ir apmēram 16 mm diametrā. Pārejot uz 603 gaismas diodēm, jūs varat kļūt nedaudz mazāks, bet es neesmu pārliecināts, kāda jēga.

6. darbība: programmatūra

Programmatūra kļūst nedaudz netīra vairāku iemeslu dēļ:

1) parādītajām PCB gaismas diodes ir izkārtotas tā, lai būtu ērti PCB izkārtojumam, nevis "pareizā" bitu secībā. SJO, tas ir veids, kā rīkoties, taču tas nozīmē, ka 1. rinda obligāti nenozīmē 1. bitu vai 3. krāsa nenozīmē 3. bitu. Tam nepieciešams kartēšanas līmenis starp parasto rindu/kolonnu adresēšanu un biti, kuriem nepieciešama iestatīšana. 2) Tā kā anodiem un katodiem tiek izmantoti vieni un tie paši biti, dažu bitu kopējais (rindu) savienojums var būt piedziņas (kolonnu) bitu vidū. Tas nozīmē, ka jums ir jāpārvieto kolonnu biti apkārt atkarībā no tā, vai tie ir pirms vai pēc šīs kolonnu kopas rindas bita. 3) Jums ir jāiegūst izvades vārdi gan ioport, gan ostas virziena reģistram. Pievienotais ASM kods ATtiny11 ir "koncepcijas pierādījums". Tas ir mulsinoši neoptimizēts un slikti komentēts, taču tas ir viss, ko līdz šim esmu uzrakstījis.

Ieteicams: