Sisällysluettelo:
- Vaihe 1: Idean tutkiminen
- Vaihe 2: Laitteisto
- Vaihe 3: Kokoonpano
- Vaihe 4: Ohjaus?
- Vaihe 5: Helpota
- Vaihe 6: Ensimmäiset kokeet
- Vaihe 7: Reaaliaikainen ohjaus
- Vaihe 8: Johtopäätökset
Video: Interaktiivinen ympäristön valo: 8 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:04
Tämä on ensimmäinen ohjeeni! Ole kärsivällinen, kun kamppailen kirjoittaakseni asianmukaista englantia. Korjaa rohkeasti! Aloitin tämän projektin heti Let it glow -kilpailun alkaessa. Toivon, että olisin tehnyt paljon enemmän ja saanut päätökseen sen, mitä halusin tehdä. Mutta koulun ja työn välillä minulla ei ole ollut niin paljon aikaa kuin olisin halunnut. Jätän kuitenkin raportin kokeistani ohjeelliseksi, jotta kuka tahansa voi yrittää tehdä sen, mitä tein. Tämän ohjeen ei ole tarkoitus olla oppaana ja opettaa tekemään tämä laite. Se ei ole opas elektroniikan aloittelijoille. Se on enemmän kuin yhden ajatuksen ja tavoitteen jakaminen, jota haluan saavuttaa. Jos olet aloittelija/täysin tietämätön elektroniikasta ja haluat tehdä jotain tällaista, olen pahoillani! Mutta voimme yrittää aina auttaa sinua. Katso viimeinen vaihe. Olemme nähneet jo monia ympäröivän valon projekteja. Useimmat niistä käyttävät RGB -LED -valoja: - Valaisevat huoneen yhdellä värillä ja luovat tunnelman mukaisen tunnelman. - Valotehosteiden luominen television/näytön tai äänen väreistä. Instrukctables.comissa on jopa muutamia aiheeseen liittyviä. DIY Ambient Light Systems Light Light Ambient Lighting Omien ympäristön värivalopalkkien rakentaminen Tämän kilpailun tekosyynä aloitin projektin, joka on ollut mielessäni jo jonkin aikaa. Olen aina halunnut tehdä jotain samanlaista kuin nämä ympäristön valot ja täyttää huoneeni seinät RGB -LED -valoilla. Mutta kun otat askeleen pidemmälle, teet kaikki ja jokainen niistä hallittavissa. Tämän projektin tuloksena on toivottavasti avoimen lähdekoodin elektroniikkapaketti harrastajille ja elektroniikan harrastajille, mikä mahdollistaa laitteiston/ohjelmiston hakkeroinnin ja aistien integroinnin. Tässä pieni esikatselu tekemästäni:
Vaihe 1: Idean tutkiminen
Haluan pystyä täyttämään huoneeni seinät RGB -LED -valoilla, jotka säätelevät kunkin ledin väriä ja kirkkautta. Valitettavasti en voi ohjata satoja LED -valoja muutamilla mikrokontrollereissa olevilla nastoilla. Olisi jopa vaikeaa koodata niin monien LEDien ohjausta, joten päätin jakaa kaikki LEDit useisiin pienempiin palkeihin ja käyttää jokaista palkkia mikrokontrollerilla. Sitten käyttäisin mikro -ohjaimien viestintäominaisuuksia tietojen jakamiseen niiden välillä. Nämä tiedot voivat olla LEDien väri ja kirkkaus, kuviot/värisarjat ja aistitiedot. Jokaisessa palkissa päätin käyttää 16 RGB -LEDiä. Tämä johtaa ei liian suureen eikä pieneen palkkiin. Tällä tavalla käytän hyväksyttävää määrää resursseja jokaista lediä varten, mikä vähentää kunkin palkin kustannuksia. 16 RGB -LEDiä on kuitenkin 48 LEDiä (3*16 = 48), joita mikro -ohjain voi hallita. halvin mikrokontrolleri mitä voisin käyttää. Tämä tarkoittaa, että mikrokontrollerissa on vain 20 I/O -nastaa, jotka eivät riitä 48 LED -valolle. En halua käyttää charlieplexing -laitetta tai jonkinlaista ajanjakoa, koska projektin tavoitteena on valaista huone. vaihtoehto, jota voisin ajatella, on käyttää jonkinlaista lukittua siirtorekisteriä! Jatkuu:- Luo ja vuorovaikutteinen ympäristön valo- Luo vakiopalkki ohjattavia LED-valoja- Mahdollisuus yhdistää useita palkeja huoneen täyttämiseksi- Salli käyttäjän mukautus/kokoonpano ja aistien integrointi
Vaihe 2: Laitteisto
Kuten edellisessä vaiheessa sanottiin, haluan tehdä useita palkeja yhden huoneen valaisemiseksi. Tämä tuo mieleen kustannuskysymyksen. Yritän tehdä jokaisesta tangosta kustannustehokkaimman mahdollisen tavan. Käytetty mikro -ohjain oli AVR ATtiny2313. Nämä ovat melko halpoja ja minulla oli muutama makaamassa. ATtiny2313: ssa on myös yksi universaali sarjaliitäntä ja yksi USART -liitäntä, jotka tulevat hyväksi seuraavissa vaiheissa. Minulla oli myös kolme MCP23016 - I2C 16 -bittistä I/O -portin laajenninta, aivan oikein! Käytin jokaista portin laajenninta yhden LED -värin ohjaamiseen. LEDit … Valitettavasti olivat halvimmat mitä löysin. Ne ovat 48 punaista, vihreää ja sinistä ~ 10000mcd 5 mm ja 20 asteen kulmassa. Tällä ei pitäisi olla väliä, koska tämä on vain yksi prototyyppi. Tästä tosiasiasta huolimatta lopputulos on erittäin hyvä! Käytän mikrokontrolleria 8 MHz: llä. I2C -väylän kellotaajuus on 400 kHz. LED -kytkentätaajuus on noin 400 Hz. Tällä tavalla, jos pystyn ajamaan 48 LEDiä ilman, että painan sitä äärimmilleen, varaan lisää myöhemmin!
Vaihe 3: Kokoonpano
Piirin suunnittelun jälkeen rakensin sen useisiin leipälevyihin prototyyppitarkoituksiin. Useiden tuntien johtojen leikkaamisen ja piirin kokoamisen jälkeen sain seuraavan tuloksen: Yksi jättiläinen leipälauta, jossa on 48 LEDiä ja tonnia lankaa!
Vaihe 4: Ohjaus?
Tämä on hankkeen haastavin osa. Halusin tehdä yhden ohjausalgoritmin, joka on riittävän yleinen kuvioiden/sekvenssien käsittelyyn ja jokaisen LED -valon kirkkauden ja värin hallintaan. (1 tavu = 8 bittiä). Yksi tavu värin vastaavan IC -osoitteen osoitteella, 1 tavu komennolla "write" ja 2 tavua 16 bitin (LED) arvolla. IC on kytketty LEDiin "pesualtaana", eli yksi logiikka -arvo 0 nastassa sytyttää LED. Ja nyt haastava osa, kuinka tehdä PWM -ohjaus 48 LEDille? Tutkitaan PWM yhdelle LEDille! PWM selitti @ Wikipedia. Jos haluan, että LED -valon kirkkaus on 50%, PWM -arvo on 50%. Tämä tarkoittaa, että LED -valon pitäisi olla yhtä aikaa yhtä kauan kuin pois päältä. Otetaan 1 sekunnin jakso. PWM 50% tarkoittaa, että tässä 1 sekunnissa käynnistymisaika on 0,5 sekuntia ja sammutusaika 0,5 sekuntia. PWM 80%? 0,2 sekuntia pois päältä, 0,8 sekuntia päällä! Helppoa, eikö? Digitaalimaailmassa: Kymmenen kellosyklin aikana 50% tarkoittaa, että LED -valo palaa viiden jakson aikana ja vielä 5 jakson ajan. 20%? 2 sykliä päällä, 8 sykliä pois päältä. 45%? No, emme voi saada 45%… Koska jakso on jaksoissa ja meillä on vain 10 sykliä, voimme jakaa PWM: n vain 10%: n askelin. Tämä tarkoittaa, että tapin kehityksen pitäisi olla 50%: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Tai jopa 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; Ohjelmoinnissa voimme tehdä tämän matriisin kytkemisen päälle ja pois. Jokaiselle kierrokselle, jonka tuotamme nastalle, indeksin arvo oli sykli. Oliko minulla järkeä tähän mennessä? Jos haluamme tehdä LED0 50%ja LED1 20%, voimme lisätä molemmat taulukot.: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; LED1 -nastan ohjaamiseen: 2, 2, 0, 0, 0, 0, 0, 0, 0, 0; Tuloksena LED0 +LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; Jos annamme tämän numerosarjan portinlaajennukseen IC, saisimme LED0: n 50%: n kirkkauden ja LED1: n 20%: n !! Yksinkertainen 2 LEDille, eikö? Nyt meidän on tehtävä tämä 16 LEDille, jokaiselle värille! Jokaiselle näistä matriiseista meillä on yhdistelmä kirkkautta jokaiselle värille (16 LEDiä) Joka kerta, kun haluamme toisen väriyhdistelmän, meidän on muutettava tätä taulukkoa.
Vaihe 5: Helpota
Edellinen vaihe on liikaa työtä yksinkertaisen sekvenssin tekemiseksi … Joten päätin tehdä ohjelman, jossa kerromme kunkin LEDin värit sekvenssin yhdessä vaiheessa ja saamme vaiheen kolme matriisia. Tein tämän ohjelman LabView'ssa aikarajoitusten vuoksi.
Vaihe 6: Ensimmäiset kokeet
Ladataan useita vaiheita mikrokontrolleriin ja saamme jotain tällaista: Pahoittelut videoiden huonosta laadusta! Määritin jakson enimmäismäärän 8: een ja rajoitin PWM: n 20% hyppyihin. Tämä päätös perustuu käyttämääni ohjaukseen ja siihen, kuinka paljon EEPROM ATtiny2313: lla on. Näissä kokeissa yritin nähdä, millaisia vaikutuksia voisin tehdä.
Vaihe 7: Reaaliaikainen ohjaus
Kuten edellisissä vaiheissa mainittiin, haluan olla yhteydessä kaikkiin huoneessani olevia LED -valoja ohjaaviin mikro -ohjaimiin. Joten käytin käytettävissä olevaa USART -liitäntää ATtiny2313: ssa ja liitin sen tietokoneeseen. Tein myös LabView -ohjelman LED -palkin ohjaamiseksi, ja tässä ohjelmassa voin kertoa mikro -ohjaimelle, kuinka pitkä on sekvenssi, kunkin LEDin väri ja sekvenssin vaiheiden välinen aika. osoittaa, kuinka voin muuttaa LEDien väriä ja määrittää sekvenssejä.
Vaihe 8: Johtopäätökset
Luulen, että onnistuin projektin ensimmäisessä lähestymistavassa. Pystyn ohjaamaan 16 RGB -LEDiä pienillä resursseilla ja rajoituksilla. Jokaista LED -valoa voidaan ohjata erikseen ja luoda haluamasi järjestys.
Tuleva työ:
Jos saan positiivista palautetta ihmisiltä, voin kehittää tätä ajatusta edelleen ja tehdä täyden DIY Electronics Kit -sarjan, joka sisältää piirilevyt ja asennusohjeet.
Seuraavassa versiossa: ohjaa LED -valoja -Kehitä tiedonsiirtoa useiden mikro -ohjaimien välillä.
Onko sinulla ehdotusta tai kysymystä? Tai jätä kommentti!
Finalisti Let It Glow!
Suositeltava:
Ohjelmoitava ympäristön valo ulkoiselle näytölle: 4 vaihetta
Ohjelmoitava ympäristön valo ulkoiselle näytölle: Tämä projekti auttaa sinua asettamaan ympäristön valon ulkoiselle näytöllesi tai televisiollesi. Sen avulla voit hallita seuraavaa mistä tahansa laitteesta, jolla on verkkoselain ja joka on kytketty reitittimeesi. LED -väri Vilkutustaajuus, joka antaa DJ -tehosteen
Interaktiivinen kosketusvapaa valo: 7 vaihetta (kuvilla)
Interaktiivinen kosketusvapaa valo: Hei kaikille! Haluan jakaa tänne projektin, jonka parissa olen työskennellyt. Sain inspiraation kokeilla kapasitiivista kosketustunnistusta yliopistoni projektin kautta. Sain tietää tästä tekniikasta ohjeiden avulla ja käytin oppimiani asioita
Vanha TV -ympäristön LED -valo Kodilla: 7 vaihetta (kuvilla)
Vanha TV -ympäristön LED -valo Kodin kanssa: Se on opettavainen alhaisen budjetin ympäristön valosta. Käytän Banana pi Kodille, koska se on nopeampi, mutta voit yksinkertaisesti asentaa sen Raspberry pi: hen
Kuinka tehdä ympäristön valo tietokoneellesi: 6 vaihetta
Kuinka tehdä ympäristön valo tietokoneellesi: tämä on yksinkertainen ja helppo projekti, joka antaa tietokoneellesi ympäristön valaistuksen. Tämä tietysti edellyttää, että tietokoneesi kasvot on sekä irrotettava että tuuletettava, mikä mahdollistaa pääsyn ja keinon nähdä valo
Ympäristön valo lahjamerkki: 5 vaihetta
Ambient Light -lahjakortti: Joulun jälkeen olin tilanteessa, että veljenpoikani syntymäpäiväjuhla lähestyi. Kysyin häneltä, onko hänellä erityisluetteloa toivelistallaan, ja hän kertoi minulle, ettei hänellä ole toiveita tällä hetkellä. Hän ei ollut vieläkään pelannut kaikilla saamillaan leluilla