Haluan käyttää tavallista Arduino-korttia ledien ohjaamiseen - mikä on eniten valoja, joita voin hallita erikseen taululta?
Onko olemassa opetusohjelma sen kytkemiseksi?
Haluan käyttää tavallista Arduino-korttia ledien ohjaamiseen - mikä on eniten valoja, joita voin hallita erikseen taululta?
Onko olemassa opetusohjelma sen kytkemiseksi?
Uskon, että Charlie-plexing N -linjojen käyttäminen ohjaa N * (N-1) -LED-valoja. Wikipediassa on hyvä artikkeli.
Ystäväni Jimmie P.Rodgers sopi 126 LED-valoon. Arduino-kilpi. Hän käyttää charlie-plexiä ohjaamaan LED-valoja. Jotkut hänen taulullaan olevista tiedoista ovat osoitteessa - jimmieprodgers.com/2009/12/my-development-process/ (archive.org copy)
Viimeisessä Boston Arduino -käyttäjäkokouksessa Jimmie P. Rodgers piirsi aCharlie-plexing-kaavion matriisina, jossa oli merkittyjä verkkoja. Tässä mallissa piirretyt kaaviot näyttivät tekevän hyvää työtä konseptin välittämisessä. Luin pari vastaavaa kaaviota - Katso http://wiblocks.luciani.org/FAQ/faq-charlie-plex.html
Voit käyttää vaihtorekistereitä ( http://fi.wikipedia.org/wiki/Shift_register) saadaksesi yhtä monta lähtöä yhdestä sarjavirrasta kuin haluat.
Sinun on oltava huolissasi voimarajoitteistasi. En itse ole koskaan käyttänyt Arduinoa itse, mutta oletan, että sillä on nykyinen raja aivan kuten PIC: t. Myös vuoristorekistereillä on nykyinen raja-arvo. Jos törmäät tähän, sinun on tarkasteltava jotain sellaista kuin MOSFET, jotta voit hallita LED-valoja tarvitsematta vetää paljon virtaa suoraan mikro-ohjaimeltasi.
Kaikkien annettujen AVR-mikrokontrollerien nastojen sallitaan syöttää jopa 40 mA, ja sirun hankkimien tai upottamien virtalähteiden (ts. maanpinnan ja Vcc-nastojen) kokonaismäärän on oltava alle 200 mA.
Charlieplexing on loistava ratkaisu tilanteisiin, joissa tarvitset paljon LEDejä, mutta pääset toimeen vain yhdellä LEDillä palaa kerrallaan. Tavallinen Arduino-kortti (kuten Duemilanove) tarjoaa 17 "ilmaista" I / O-nastaa, lukuun ottamatta TX-, RX-, Reset- tai PIN-nastoja 13. Joten voit kytkeä 17 * 16 = 272 LEDiä. Tämä voi toimia hyvin, varsinkin jos pidät yhtä LEDiä palavana tai skannaa nopeasti vain muutaman välillä. Mutta jos yrität sytyttää koko matriisin kuviolla, huomaat, että kukin on päällä (hieman alle) 1/272 ajasta, joten jos taajuusmuuttajavirta oli kulloinkin 30 mA, kukin LED keskimääräinen virta olisi noin 0,1 mA - melko himmeä.
Jos et tarvitse niin monta LEDiä, mutta tarvitset sen sijaan enemmän kirkkautta, perinteinen multipleksointi voi olla parempi vaihtoehto. Tässä tapauksessa käytät joitain rivejäsi matriisin riveinä ja toisia sarakkeina. Jos käytät 10 mA: n LED-virtaa, voit määrittää 4 sarakkeen ja 13 rivin matriisin, jossa kaikki 4 LEDiä yhdessä rivissä voivat palaa kerrallaan, ja selaat rivejä. Tällöin kukin rivi on 1/13 kertaa 10 mA: n virralla, joten keskimääräinen LED-virta voi olla jopa 0,76 mA, mutta saat vain 4 * 13 = 104 LEDiä. (Ehdottomasti kirkkaampi lediä kohden kuin charlieplexing.)
Viimeisen esimerkin raja on 40 mA / nasta AVR: ssä - koska jokainen rivin ohjaintapin lähde on 4x10 = 40 mA. Jos sallit ulkoisten transistoreiden (jotka voivat olla halpoja ja pieniä) lisäämisen rivin lähtöihin, voit välttää kyseisen rajan ja mennä kirkkaammaksi. Voit esimerkiksi tehdä 8x9-taulukon, jossa on 8 riviä ja 9 saraketta, yhteensä 72 LEDiä. Yksi kahdeksasta rivistä on päällä kerrallaan, valittu transistorin kautta. Jopa kaikki tietyn rivin 9 LEDiä voivat palaa kerrallaan 20 mA: n virralla, joten transistorista tulee 180 mA, ja pysyt AVR: n nykyisten rajojen alapuolella. Keskimääräinen virta LEDiä kohti on nyt 20 mA / 8 = 2,5 mA - yleensä kohtuullisen kirkas.
Siellä on erittäin mukava, yksityiskohtainen opetusohjelma täällä, joka sisältää osan Arduinon käytöstä 8x8x8 LED-kuution suorittamiseen. (Älä missaa heidän luomaansa YouTube-elokuvaa)
Kun käytössä on 17 I / O-nastaa, seitsemäntoista NPN-transistoria (lähettimen seuraajia virran lisäämiseksi), ei pitäisi olla mitään erityistä ongelmaa, kun 272 LEDiä esitetään mielivaltaisina yhdistelminä 1/17 käyttöjaksolla, keskivirralla tai 0,7 mA: lla (200 mA / 272). , rajoittaa sirun kyky vetää alas 200mA kerrallaan. Diodin lisääminen 0,7 voltin pudotuksen saamiseksi antaa mahdollisuuden lisätä vielä 17 LEDiä (pienentäen käyttöjaksoa 1/18: een), vaikkakin kirkkaus ei täysin vastaa muita.
Vaikka Windell Oskay esittää hyvän väitteen siitä, että 104 LEDiä on enimmäismäärä lisäämättä lisää transistoreita, Tom Igoe on lähettänyt kuvia 128 LEDin matriisista, jota suoraan ohjaa yksi Arduino Mega - ei ylimääräistä transistorit, erilliset tai integroidut.
Onko Tom Igoe "huijaava" ylittämällä hetkeksi tietolomakkeessa mainitun "absoluuttisen enimmäisvirran neulaa kohti"?
Jos käytät digitaalisia LED-valoja, kuten WS2812 eli "Neopixels", tavallinen Arduino Uno voi hallita jopa 600 RGB-pikseliä ilman, että hänen tarvitsee mitenkään multipleksoida :)
Ainoa rajoitus tässä on kortin RAM-muisti.Lauta, jossa on enemmän RAM-muistia, kuten Arduino Mega, jossa on 8 kt RAM-muistia, voi hallita jopa 2400 pikseliä verrattuna Unoon, jossa on vain 2 kt RAM-muistia.
Löydät mukavan yleiskatsauksen täältä: https://www.eerkmans.nl/powering-lots-of-leds-from-arduino/
Ja lisätietoja Neopixelien käytöstä täältä: https://learn.adafruit.com/adafruit-neopixel-uberguide