Tuli eräänä päivänä mieleen, mitäs jos pistäisi tuohon ikeasta hommattuun, 5x5 lokeroiseen hyllykköön ledinauhalla toimivat taustavalot, joita voisi erikseen säädellä…
No ei muuta kuin 10m rgb lednauhaa tilaukseen ebaysta. Tilasin nauhaa, jossa on 3 rgb lediä 10cm matkalla, eli reilun 30cm levyiseen lokeroon tulisi 9 lediä. Ebaystä tuli tilattua ja halvalla saikin, ei ollut montaa dollaria kuljetuksen kanssa.
[size=150]
Ohjausperiaate ja piirilevy[/size]
Kun nauhat oli tilattu, alkoi ohjauksen suunnittelu. Törmäsin TLC5940 (SPI) piiriin ja totesin että se on sopiva:
http://www.partco.biz/verkkokauppa/product_info.php?products_id=14904
Se tarjoaa 16 pwm lähtöä vakio virralla ja koska yhdessä hyllyn kerroksessa on 5 lokeroa ja lokerossa 3 eri väriä, ohjaa yksi piiri aina yhtä kerrosta (15 eri väri lähtöä) ja piirejä tuli siis yhteensä 5.
Yritin ensin ohjata ledejä suoraan tuolla piirillä, mutta koska ledinauhat vaativat 12V syöttöjännitteen, tuli tehonkulutus TLC5940 piireissä vastaan (poltin pari piiriä tämän tajutakseni). Tästä syystä päädyin tekemään niin, että tlc piiri ohjaa darlington transistoreja ja ne taas vievät ledinauhoilta tulevat päät maahan. Mutta koska transistorit vaativat 5V ohjaukseen, piti laittaa vielä ylösveto vastukset piirien väliin. Tämä taas aiheuttaa sen, että ledinauhat palavat heti täydellä teholla jos tlc piirin lähdöt ovat nollissa. Ajattelin että ohjaan mikrokontrollerilla tuota ylösvetovastuksien 5V jännitettä (eräänlainen enable), mutta tlc piiri ei pitänyt siitä (taas paloi pari piiriä ). Lopulta päädyin siihen tulokseen, että antaa palaa (siis ledien ) heti käynnistyksen yhteydessä. Jos siis kiinnotut tästä piiristä ja haluat tehdä samanlaisen, niin tee se muutos, että ohjaat ledeille menevää 12v jännitettä jollakin, jolloin voit sallia ledien palamisen erikseen.
Tein aluksi kytkentälevyille ohjauspiirit, jotka päivitin transistori paketeilla. Jossakin vaiheessa huomasin että arduinon 5V käyttöjännite lähtö ei riitä koko hommalle, ja oli muitakin ongelmia signaalien kulkemisen kanssa ja päädyin tekemään piirilevyt joissa on oma 5V regulaattori jokaiselle kerrokselle. Tällöin piiriin tarvitsee tuoda vain signaalit ja maa, ja ledien käyttöjännite 12V. Olin tässä vaiheessa jo tehnyt ledinauhojen asennukset ja johdotukset ja en todellakaan halunnut tinata uusia johtoja (100 kpl johdon pätkiä) joten päädyin tekemään samalla tavalla yhden kerroksen erikseen omalle piirille. Tällöin piirilevyä voi käyttää myös muissa projekteissa joissa halutaan käyttää pwm lähtöjä.
Ledihylly projekti.zip (80.3 KB)
Piirilevyt valmistin itse työpaikalla ruuvipenkistä löytyvien piirilevyjen valotus ohjeen avulla: http://www.ruuvipenkki.fi/2010/08/11/piirilevyn-syovytysopas
Kerrokset yhdistin lettakaapelilla, 2 johtoa / signaali. Yhteensä tarvittiin 7 liitintä signaalien välitykseen, käytin itse 20 napaista kaapelia (10 liitosta). 2 liitosta jäi varalle ja yhdessä on arduinon 5V kytketty varalle. Arduinolta tulee data ensimmäiseen tlc piiriin Sin liittimeen ja sen Sout piiri kytketään seuraavan tlc piirin sin liittimeen jne… kellotukset ja muut signaalit ovat rinnakkain ja menevät suoraan lattakaapelista toiseen (kts piirikaavio).
Testivaiheessa oli paljon ongelmia siinä, että viimeinen piiri sai virheellisiä tietoja. Jos käytin neljää piiriä, 4. piiri sekoili ja kun käytin kaikkia viittä, 5. piiri sekoili. Yritin skoopillakin hakea vikoja mutta en löytänyt mitään. Lopulta päädyin tekemään ns päätyvastukset. Kytkin viimeisen piirin perään vielä yhden piirin, jossa kaikki signaalit vedetään 680ohm vastuksella maihin. Tämä auttoi ja nyt värit ovat sitä mitä haluan. Ilmeisesti jotakin heijastuksia tulee tuossa 2m pitkässä väylässä… jos jollakin on parempia selityksiä, kertokaa ihmeessä.
Käytän siis arduinoa ohjaamaan koko hyllykköä, ja tein arduino unon kehitysalustaan oman shieldin, johon kytkin lattakaapelin. Tällöin voin irroittaa arduino kehitysalustan jos haluan käyttää sitä johonkin muuhun projektiin. Lopulta lisäsin shieldiin vielä xbee shieldin jolloin pystyn langattomasti lähettämään sarjaliikenteen välityksellä värejä arduinolle.
[size=150]
Led nauhojen asennus[/size]
Kun sain ledinauhat postista, syy halpaan hintaan löytyi nopeasti. Nauhassa oli useita huonosti asentuneita ledejä ja jouduin vaihtamaan jälkeenpäin pätkiä kun huomasin että jotkin ledit hajosivat käytön aikana. Mutta onneksi se 10m riitti (hylly tarvitsee 7,5m eli 2,5m jäi varalle). Nauha on tarkoitettu pätkittäväksi 10cm välein eli 3:n ledin välein. Väleissä on aina liuskat johon voi tinata uudet liitokset tai ketjutukset. Katkoi siis nauhat 30cm pätkiin ja liimasin hyllyyn.
Asensin hyllyyn 10x10mm johdin kourua, jotta sain johdot menemään nätisti piilossa hyllyn takana. Jokaiseen kerrokseen tuli siis 4 johtoa: 12V, pun-, sin- ja vihr-ohjaus. 25 lokeroa -> 100kpl johtimia-> yli 100m johdinta… hieman hommaa siis.
Lopuksi teippasin vielä jokaisen lokeron takaseinään valkoista paperia, jolloin valo ei heijastu niin pahasti hyllyn takana olevasta seinästä vääriin lokeroihin. Hyllyä ei siis voi laittaa aivan seinään kiinni, koska kouru on välissä.
[size=150]
Käyttö[/size]
Tein muutamia “animaatioita”, mutta lopulta päädyin tekemään C#:lla pienen ohjelman, jolla voin lähettää tietokoneella xbeen avulla arduinolle värit, jotka jäävät palamaan ja tallentuvat myös eepromille. Näin voin asettaa jokaiselle lokerolle oman taustavalon.
Kirjasto arduinolle piirin käyttöä varten löytyy täältä: http://code.google.com/p/tlc5940arduino/
Nyt kun kesä tulee ja hylly on aina ilta-auringon valossa, ei nauhojen värit paljoa näy. Mutta kun huone on pimeä, on valojen kanssa leikkiminen hauskaa. Se onko tässä kuitenkaan mitään järkeä, on jokaisen itse päättettävä. :ugeek:
Laitan video linkkejä tänne perään sitä mukaan kun saan aikaisesksi…
http://youtu.be/H8xXCAdSAzQ Testailua… alin kerros ei toimi kun piiri paloi
piirilevy.pdf (17.8 KB)