Taula de continguts:

LED programable: 6 passos (amb imatges)
LED programable: 6 passos (amb imatges)

Vídeo: LED programable: 6 passos (amb imatges)

Vídeo: LED programable: 6 passos (amb imatges)
Vídeo: ЗАПРЕЩЁННЫЕ ТОВАРЫ с ALIEXPRESS 2023 ШТРАФ и ТЮРЬМА ЛЕГКО! 2024, De novembre
Anonim
LED programable
LED programable

Inspirat en diversos llançadors de LEDs, LEDs parpellejants i instruccions similars, volia fer la meva versió d’un LED controlat per un microcontrolador. La idea és fer que la seqüència de parpelleig de LED sigui reprogramable. Aquesta reprogramació es pot fer amb llum i ombra, per exemple. Podeu fer servir la llanterna. Aquesta és la meva primera instrucció, qualsevol comentari o correcció és benvinguda. Actualització del 2008-08-12: ara hi ha un kit disponible a la botiga Tinker. Disculpeu la qualitat.

Pas 1: Com funciona

S'utilitza un LED com a sortida. Com a entrada he utilitzat un LDR, una resistència dependent de la llum. Aquest LDR canvia la seva resistència ja que rep més o menys llum. La resistència s'utilitza llavors com a entrada analògica als microprocessadors ADC (convertidor digital analògic).

El controlador té dos modes de funcionament, un per enregistrar una seqüència i l’altre per reproduir la seqüència gravada. Una vegada que el controlador nota dos canvis de brillantor en la meitat d'un segon (fosc, brillant, fosc o al revés), canvia al mode d'enregistrament. En mode de recodificació, l'entrada del LDR es mesura diverses vegades per segon i s'emmagatzema al xip. Si s’esgota la memòria, el controlador torna al mode de reproducció i comença a reproduir la seqüència gravada. Com que la memòria d’aquest diminut controlador és molt limitada, 64 bytes (sí, bytes!), El controlador és capaç de gravar 400 bits. És suficient espai durant 10 segons amb 40 mostres per segon.

Pas 2: materials i eines

Materials i eines
Materials i eines
Materials i eines
Materials i eines

Materials- 2 x 1K resistència- 1 x LDR (Light Dependent Resistor), p. Ex. M9960- 1 x LED de baixa intensitat, 1,7 V, 2 ma- 1 x Atmel ATtiny13v, RAM flash de 1 KB, 64 bytes de RAM, 64 bytes EEPROM, 0-4 MHz@1,8-5,5 V- 1 x CR2032, 3 V, 220 mAh - Cable de soldadura- Taula de pa- Programador AVR- Font d'alimentació de 5 V- Multímetre Programari- Eclipsi- Complement CDT- El cost global de WinAVRC hauria de ser inferior a 5 $ sense les eines. He utilitzat l'ATtiny13v perquè aquesta versió d'aquesta família de controladors pot funcionar a 1,8 V. Això fa possible executar el circuit amb una bateria molt petita. Per fer-lo funcionar durant molt de temps, vaig decidir utilitzar un LED de baixa intensitat que arriba a la màxima brillantor a 2 ma.

Pas 3: Esquemes

Esquemes
Esquemes

Alguns comentaris sobre l’esquema: l’entrada de restabliment no està connectada. Aquesta no és la millor pràctica. Millor seria utilitzar una resistència de 10K com a pull up. Però em funciona bé i estalvio una resistència. Per mantenir el circuit el més senzill possible, he utilitzat l’oscil·lador intern. Això significa que estalviem un cristall i dos condensadors petits. L’oscil·lador intern permet que el controlador funcioni a 1,2 MHz, la qual cosa supera la velocitat suficient per al nostre propòsit. Si decidiu utilitzar una altra font d’alimentació diferent a 5V o utilitzar altres LEDs, haureu de calcular la resistència R1. La fórmula és: R = (Alimentació V - LED V) / 0,002A = 1650 Ohm (Alimentació = 5V, LED V = 1,7V). Utilitzant dos LED de baixa intensitat en lloc d’un, la fórmula té aquest aspecte: R = (font d’alimentació V - 2 * LED V) / 0,002A = 800 Ohm. Tingueu en compte que heu d’ajustar el càlcul si trieu un altre tipus de LED. El valor de la resistència R2 depèn del LDR utilitzat. 1KOhm funciona per a mi. És possible que vulgueu utilitzar un potenciòmetre per trobar el millor valor. El cicuit hauria de ser capaç de detectar els canvis de llum a la llum del dia normal. Per estalviar energia, PB3 només es defineix a alt si es fa una mesura. Actualització: l'esquema era enganyós. A continuació es mostra una versió correcta. Gràcies, dave_chatting.

Pas 4: Muntatge en un tauler de prototipus

Muntatge en un tauler de prototipus
Muntatge en un tauler de prototipus
Muntatge en un tauler de prototipus
Muntatge en un tauler de prototipus

Si us agrada provar el vostre circuit, és útil una taula de proves. Podeu muntar totes les peces sense haver de soldar res.

Pas 5: programa el circuit

Programa el circuit
Programa el circuit
Programa el circuit
Programa el circuit

El controlador es pot programar en diferents idiomes. Els més utilitzats són Assembler, Basic i C. He utilitzat C perquè s’adapta millor a les meves necessitats. Estava acostumat a C fa deu anys i vaig poder reviure part del coneixement (bé, només alguns …). Per escriure el vostre programa, recomano Eclipse amb el connector CDT. Obteniu eclipsi aquí https://www.eclipse.org/ i el connector aquí https://www.eclipse.org/cdt/. Per compilar el llenguatge C als microcontroladors AVR necessitareu un compilador creuat. Per sort que hi ha, existeix un port del famós GCC. Es diu WinAVR i es pot trobar aquí https://winavr.sourceforge.net/. Un molt bon tutorial sobre com programar controladors AVR amb WinAVR és aquí https://www.mikrocontroller.net/articles/AVR-GCC- Tutorial. Ho sentim, està en alemany, però és possible que trobeu milers de pàgines d'aprenentatge sobre aquest tema en el vostre idioma, si les cerqueu. Després d'haver compilat la font, haureu de transferir el fitxer hexadecimal al controlador. Això es pot fer connectant el vostre PC al circuit mitjançant ISP (al programador del sistema) o mitjançant programadors dedicats. He utilitzat un programador dedicat perquè fa que el circuit sigui lleugerament més senzill en estalviar alguns cables i un endoll. L’inconvenient és que haureu d’intercanviar el controlador entre el circuit i el programador cada vegada que vulgueu actualitzar el vostre programari. El meu programador prové de https://www.myavr.de/ i fa servir USB per connectar-se a la meva llibreta. N’hi ha molts altres i fins i tot el podeu crear vosaltres mateixos. Per a la transferència, he utilitzat un programa anomenat avrdude que forma part de la distribució WinAVR. Un exemple de línia d'ordres pot ser així:

avrdude -F -p t13 -c avr910 -P com4 -U flash: w: flickled.hex: iAdjunt podeu obtenir la font i el fitxer hexadecimal compilat.

Pas 6: soldar

Soldadura
Soldadura

Si el vostre circuit funciona a la taula, podeu soldar-lo.

Això es pot fer en un PCB (tauler de cicuit imprès), en un tauler prototip o fins i tot sense cap tauler. Vaig decidir fer-ho sense que el circuit només constés d’uns components. Si no esteu familiaritzat amb la soldadura, us recomanem que cerqueu primer un tutorial de soldadura. Les meves habilitats de soldar estan una mica oxidades, però crec que en tens la idea. Espero que us hagi agradat. Àlex

Recomanat: