Taula de continguts:

Llum ambiental interactiva: 8 passos
Llum ambiental interactiva: 8 passos

Vídeo: Llum ambiental interactiva: 8 passos

Vídeo: Llum ambiental interactiva: 8 passos
Vídeo: INFOGRÁFICO - O que é e como fazer 2024, Desembre
Anonim
Llum ambiental interactiva
Llum ambiental interactiva
Llum ambiental interactiva
Llum ambiental interactiva
Llum ambiental interactiva
Llum ambiental interactiva

Aquest és el meu primer instructable! Si us plau, tingueu en compte mentre lluito per escriure un anglès adequat. No dubteu a corregir-me! Vaig començar aquest projecte just després de començar el concurs "Let it glow". M’agradaria haver fet molt més i haver acabat el que volia fer. Però, entre l’escola i la feina, no m’ha quedat tant de temps com desitjava. Tot i això, deixo aquí un informe dels meus experiments com a instructiu, perquè tothom pugui provar de fer el que vaig fer. Aquesta instrucció no pretén servir com a guia i ensenyar a fer aquest artifici. No és una guia per a principiants en electrònica. És més com compartir una idea i un objectiu que vull perseguir. Si sou un principiant / complet ignorant de l’electrònica i voleu fer alguna cosa així, ho sento. Però sempre podem intentar ajudar-lo. Vegeu l’últim pas. Ja hem vist molts projectes de llum ambiental. La majoria d'ells utilitzen LED RGB: - Per il·luminar una habitació amb un sol color, configurant un ambient que coincideixi amb el vostre estat d'ànim - Per crear efectes de llum a partir del color del televisor / monitor o de l'àudio. Fins i tot n’hi ha uns quants a instructables.com Relacionats: Sistemes de llum ambiental de bricolatge Il·luminació ambiental de la barra de llum Construir les vostres pròpies barres d’il·luminació de color ambient Utilitzant aquesta competència com a excusa, vaig començar un projecte que feia temps que pensava. Sempre he volgut fer alguna cosa semblant a aquestes llums ambientals i omplir les parets de la meva habitació amb LED RGB. Però, fent un pas més enllà, fent que tots i cadascun d’ells siguin controlables. Amb esperança, aquest projecte tindrà com a resultat un kit electrònic de codi obert per a aficionats i informàtics electrònics, que permetrà la pirateria de maquinari / programari i la integració sensorial. Aquí teniu una petita vista prèvia del que vaig fer:

Pas 1: explorar la idea

Vull poder omplir les parets de la meva habitació amb LED RGB, controlant el color i la brillantor de cada led. Vaig a utilitzar un microcontrolador per facilitar-ne l’ús i la flexibilitat. Malauradament, no puc controlar centenars de LEDs amb els pocs pins disponibles als microcontroladors. Fins i tot seria difícil codificar el control de tants LEDs. Així que vaig decidir dividir tots els LEDs en diverses barres més petites i per a cada barra podia utilitzar un microcontrolador. Després, faria servir les capacitats de comunicació dels microcontroladors per compartir informació entre ells. Aquesta informació podria ser el color i la brillantor dels LED, els patrons / seqüències de colors i la informació sensorial. Per a cada barra vaig decidir utilitzar 16 LED RGB. Això es tradueix en un bar ni massa gran ni petit. D’aquesta manera, faig servir un nombre acceptable de recursos per a cada led, reduint els costos de cada barra. No obstant això, 16 LED RGB són 48 LED (3 * 16 = 48) que el microcontrolador pot controlar. Tenint en compte els costos, vaig decidir utilitzar el microcontrolador més barat que podria utilitzar. Això vol dir que el microcontrolador només tindrà fins a 20 pins d'E / S, no suficient per a 48 LEDs. No vull utilitzar cap tipus de disc dur, ja que l'objectiu del projecte és il·luminar una habitació. alternativa que se m’acut que fa servir algun tipus de registre de tornes bloquejat Reprendre: - Fer llum ambiental interactiva - Fer una barra estàndard de LED controlables - Possibilitat de connectar diverses barres per omplir una sala - Permetre l’adaptació / configuració de l’usuari i la integració sensorial

Pas 2: maquinari

Maquinari
Maquinari
Maquinari
Maquinari

Com es va dir al pas anterior, vull fer diverses barres per il·luminar una habitació. Això recorda el problema dels costos. Intentaré que cada barra sigui la forma més rendible possible. El microcontrolador que he utilitzat era un AVR ATtiny2313. Aquests són bastant barats i en tenia uns quants estirats. ATtiny2313 també té una interfície sèrie universal i una interfície USART que es faran útils en els passos següents. També tenia tres expansors de ports d'E / S I2C de 16 bits MCP23016, el nombre correcte. He utilitzat cada expansor de ports per controlar un color dels 16 LED. Els LED … Malauradament, van ser els més econòmics que vaig poder trobar. Són 48 vermells, verds i blaus ~ 10000mcd 5mm amb un angle de 20 graus. Això no hauria d’importar per ara, ja que aquest és només un prototip. Malgrat aquest fet, el resultat és força maco! Estic executant el microcontrolador a 8 MHz. El bus I2C té un rellotge de 400 kHz. La freqüència de commutació del LED és d’uns 400 Hz. D’aquesta manera, si sóc capaç de conduir 48 LED sense arribar al límit, en faré més per més endavant.

Pas 3: Muntatge

muntatge
muntatge
muntatge
muntatge
muntatge
muntatge
muntatge
muntatge

Després de dissenyar el circuit, el vaig construir en diverses taules de suport, amb finalitats de prototipatge. Després de diverses hores tallant cables i muntant el circuit, he obtingut aquest resultat: una taula de pa gegant amb 48 LEDs i tones de filferro.

Pas 4: controlar?

Control?
Control?

Aquesta és la part més difícil del projecte. Volia fer un algorisme de control prou genèric per manejar patrons / seqüències i controlar també la brillantor i el color de cada LED. Per controlar els LED he d’enviar al MCP23016 un fotograma de 4 bytes. (1 byte = 8 bits). Un byte amb l'adreça del corresponsal IC al color, 1 byte amb l'ordre "write" i 2 bytes amb el valor dels 16 bits (LED). El CI està connectat als LED com a "pica", és a dir, un valor lògic 0 al pin il·luminarà el LED. I ara la part més difícil, com fer el control PWM per a 48 LED? Estudiem el PWM per a un LED. PWM va explicar @ Wikipedia. Si vull que la brillantor del LED sigui del 50%, el meu valor PWM és del 50%. Això significa que el LED, en un període de temps, hauria d’estar en la mateixa quantitat que apagat. Prenem un període d'1 segon. Un PWM del 50% significa que en aquest 1 segon, el temps d’activació és de 0,5 segons i el temps d’aturada és de 0,5 segons. PWM del 80%? 0,2 segons de descompte, 0,8 segons d’activació. Fàcil, oi? Al món digital: amb un període de 10 cicles de rellotge, el 50% significa que el LED està encès durant 5 cicles i que el LED està apagat durant 5 cicles més. 20%? 2 cicles activats, 8 cicles apagats. 45%? Bé, realment no podem obtenir un 45% … Com que el període és en cicles i només tenim 10 cicles, només podem dividir el PWM en un 10%. Això significa que l’evolució del pin ha de ser del 50%: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; O fins i tot 1, 0, 1, 0, 1, 0, 1, 0, 1, 0; a la programació podem fer que aquesta seqüència d’encendre i apagar sigui una matriu. Per a cada cicle, sortim al pin el valor de l’índex en què es trobava el cicle. Tenia sentit fins ara? Si volem fer LED0 al 50% i LED1 al 20%, podem afegir les dues matrius.: 1, 1, 1, 1, 1, 0, 0, 0, 0, 0; Per conduir el pin LED1: 2, 2, 0, 0, 0, 0, 0, 0, 0, 0; Resultat en LED0 + LED0: 3, 3, 1, 1, 1, 0, 0, 0, 0, 0; Sortint aquesta seqüència de nombres a l'IC d'expansió de ports, obtindríem el LED0 amb un 50% de brillantor i el LED1 amb un 20%! Senzill per a 2 LED, oi? Ara hem de fer això per a 16 LEDs per a cada color. Per a cadascuna d’aquestes matrius, tenim una combinació de brillantor per a cada color (16 LED). Cada vegada que volem una altra combinació de colors, hem de canviar aquesta matriu.

Pas 5: fer-ho fàcil

Fent-ho fàcil!
Fent-ho fàcil!
Fent-ho fàcil!
Fent-ho fàcil!

El pas anterior és massa feina per fer una seqüència simple … Així que vaig decidir fer un programa, on expliquem els colors de cada LED en un pas de la seqüència i obtenim les tres matrius del pas. He creat aquest programa a LabView a causa de restriccions de temps.

Pas 6: primers experiments

Primers experiments
Primers experiments

Carregant diversos passos al microcontrolador i obtenim alguna cosa així: Disculpeu la mala qualitat dels vídeos. He definit el nombre màxim de passos d’una seqüència a 8 i he limitat el PWM al 20% de salts. Aquesta decisió es basa en el tipus de control que estic fent servir i en la quantitat d'EEPROM que té l'ATtiny2313. En aquests experiments he intentat veure quin tipus d'efectes podria fer. He de dir que estic satisfet amb el resultat.

Pas 7: control en temps real

Control en temps real
Control en temps real
Control en temps real
Control en temps real
Control en temps real
Control en temps real

Com es va esmentar en passos anteriors, vull comunicar-me amb tots els microcontroladors que controlen els LED de la meva habitació. Així que vaig utilitzar la interfície USART disponible a ATtiny2313 i la vaig connectar al meu ordinador. També he creat un programa a LabView per controlar la barra LED. En aquest programa puc dir al microcontrolador quant de temps dura la seqüència, el color de cada LED i el temps entre passos d’una seqüència. demostrar com puc canviar el color dels LED i definir seqüències.

Pas 8: Conclusions

Conclusions
Conclusions
Conclusions
Conclusions
Conclusions
Conclusions
Conclusions
Conclusions

Crec que vaig tenir èxit en aquest primer enfocament del meu projecte. Puc controlar 16 LED RGB amb pocs recursos i limitacions. És possible controlar cada LED per separat, creant qualsevol seqüència desitjada.

Treballs futurs:

Si rebo comentaris positius de la gent, puc desenvolupar aquesta idea i fer un kit electrònic complet de bricolatge, amb plaques de circuits impresos i instruccions de muntatge.

Per a la meva pròxima versió, faré el següent: -Canviaré el microcontrolador per un amb ADC -Canviaré el MCP23016 per algun altre tipus de sortida en paral·lel que pugui enfonsar més corrent dels LED -Feu programari de codi obert per comunicar-vos amb el microcontrolador i controlar els LED -Desenvolupar la comunicació entre diversos microcontroladors.

Tens algun suggeriment o pregunta? O deixa un comentari!

Finalista del programa Let It Glow!

Recomanat: