Sisällysluettelo:

Kuinka ohjata paljon LED -valoja muutamasta mikro -ohjaimen nastasta: 6 vaihetta (kuvilla)
Kuinka ohjata paljon LED -valoja muutamasta mikro -ohjaimen nastasta: 6 vaihetta (kuvilla)

Video: Kuinka ohjata paljon LED -valoja muutamasta mikro -ohjaimen nastasta: 6 vaihetta (kuvilla)

Video: Kuinka ohjata paljon LED -valoja muutamasta mikro -ohjaimen nastasta: 6 vaihetta (kuvilla)
Video: Hubble - 15 years of discovery 2024, Marraskuu
Anonim
Kuinka ajaa paljon LED -valoja muutamasta mikro -ohjaimen nastasta
Kuinka ajaa paljon LED -valoja muutamasta mikro -ohjaimen nastasta

Käyttämällä sitä tosiasiaa, että monilla mikro-ohjaimen nastoilla on kolme tilaa (+V, GND tai "korkea impedanssi"), voit ohjata N*(N-1) LEDiä N-nastasta. Joten pieni 8-nastainen mikro, kuten PIC12Fxxx tai ATtiny11, voi ajaa 20 LEDiä on viiden käytettävissä olevan ulostulonapin päällä, ja yksi nasta on vielä jäljellä jonkinlaista tuloa varten. Katso myös

Vaihe 1: 20 LEDiä 5 nastaa

20 LEDiä 5 nastaa
20 LEDiä 5 nastaa

Nykyinen sato pieniä pin-määräisiä mikro-ohjaimia (6-20 nastaa päällä

koko paketti) ovat houkuttelevan hinnoiteltuja ja "söpöjä", mutta herää kysymys, kuinka voit käyttää näitä tappeja parhaiten tavallisissa sovelluksissa, kuten LED -valojen ajamisessa. Suorakytkentäinen lähestymistapa LED-valojen käyttämiseen kuluttaa yhden nastan jokaista LEDiä kohti. Perinteinen multipleksointijärjestelmä, jossa LED -anodirivejä ohjaa yksi N -nastojen sarja ja jokaisen rivin yhteistä katodia ohjaa toinen M -nastasarja, onnistuu sytyttämään N*M -LEDit N+M -nastoilla. Kuitenkin prosessorissa, jossa on vain 5 tai vähemmän lähtöä (kuten useimpien 8-nastaisten mikro-ohjaimien tapauksessa), tämä tuskin saa sinulle enemmän lähtöä kuin suora asema.

Vaihe 2: Charlieplexing

Charlieplexing
Charlieplexing

Jos oletetaan, että ulostulonapit ovat todellisuudessa kolmivaiheisia (aktiivinen korkea, aktiivinen matala ja suuri impedanssi (sisääntulo)), on myös mahdollista jakaa rivi- ja sarakeohjaimet ja ohjata N*(N-1) LED-valoja, joissa on vain N nastaa. Yksi nasta on kytketty LED-rivin yleisiin katodeihin ja ajettu hitaasti, ja jäljellä olevat N-1-nastat on liitetty anodeihin ja joko ajettu korkealle sarakkeen valaisemiseksi tai jätetty tuloiksi LED-valon sammuttamiseksi. Maxim kutsuu tätä tekniikkaa "Charlieplexingiksi" ja kuvaa sitä kohdassa (1); Microchip mainitsee tämän myös asiakirjassaan (2) (ja toteutetaan myös PICKit 1 -taululla.) (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 Microcontrollers" https://ww1.microchip.com/downloads/en/DeviceDoc/40040b.pdf (3) Charlieplexing-LEDit- Teoria An Instructable by rgbphil

Vaihe 3: Laita se toimimaan

Käyttöönotto
Käyttöönotto
Käyttöönotto
Käyttöönotto

Tämä ajaa 20 LEDiä ATtiny11: stä. Tämän levyn aiempi versio oli

todella rakennettu ja näkyy pääsivun valokuvana. Pelkään, että kaavion kuva on melko toivoton; tarvitset Eaglen kertomaan, mitkä signaalit on kytketty minne.

Vaihe 4: Pienempi ja monipuolisempi…

Pienempi ja monipuolisempi…
Pienempi ja monipuolisempi…

Koska suurin osa levystä on LED -järjestelmän varassa, voimme tehdä tilaa

joko Attiny -sirulle TAI mikrosirulle PIC12F. Kutista LEDit 3 mm: iin ja siirry kaksipuoliselle levylle, ja saamme jotain noin 27 x 44 mm. Valitettavasti tätä levyä ei ole vielä testattu…

Vaihe 5: Itty Bitty

Ihana Bitty
Ihana Bitty

Mikrosirulla on tietysti 6 -nastaiset PIC10F -sirut, jotka pystyvät ajamaan

vain 6 LEDiä 3 ulostulonapista. Tämän halkaisija on noin 16 mm. 603 LED -valon avulla voit pienentyä hieman, mutta en ole varma, mitä järkeä on.

Vaihe 6: Ohjelmisto

Ohjelmisto muuttuu hieman sotkuiseksi useista syistä:

1) esitettyjen piirilevyjen LED -valot on asetettu piirilevyasettelulle sopivalla tavalla eikä "oikeassa" bittijärjestyksessä. IMO, tämä on tapa tehdä asioita, mutta se tarkoittaa, että rivi 1 ei välttämättä tarkoita bittiä 1 tai väri 3 ei tarkoita bittiä 3. Tämä edellyttää tasoitusta tavallisen rivin/sarakkeen osoitteen ja bitit, jotka tarvitsevat asetusta. 2) Koska samoja bittejä käytetään anodeissa ja katodeissa, joidenkin bittien yhteinen (rivi) yhteys voi olla ajettujen (sarake) bittien keskellä. Tämä tarkoittaa, että sinun on siirrettävä sarakebittejä sen mukaan, ovatko ne kyseisen sarakejoukon rivibitin edessä tai jälkeen. 3) Sinun on johdettava lähtösanat sekä ioportille että portin suuntarekisterille. Liitetty ASM -koodi ATtiny11: lle on "todiste konseptista". Se on kiusallisen optimoimatonta ja huonosti kommentoitua, mutta se on kaikki mitä olen tähän mennessä kirjoittanut.

Suositeltava: