Índice:

LED programável: 6 etapas (com imagens)
LED programável: 6 etapas (com imagens)

Vídeo: LED programável: 6 etapas (com imagens)

Vídeo: LED programável: 6 etapas (com imagens)
Vídeo: Acidente de trabalho em máquina 2024, Julho
Anonim
LED programável
LED programável

Inspirado por vários LEDs Throwies, LEDs piscantes e instructables semelhantes, eu queria fazer minha versão de um LED controlado por um microcontrolador. A ideia é tornar a sequência piscando do LED reprogramável. Esta reprogramação pode ser feita com luz e sombra, por ex. você poderia usar sua lanterna. Este é meu primeiro instrutível, quaisquer comentários ou correções são bem-vindos. Atualização 2008-12-08: Já existe um kit disponível na Tinker Store. Aqui está um vídeo de reprogramação. Desculpe pela qualidade.

Etapa 1: como funciona

Um LED é usado como saída. Como entrada, usei um LDR, um resistor dependente de luz. Este LDR muda seu resistor conforme recebe mais ou menos luz. O resistor é então usado como entrada analógica para os microprocessadores ADC (conversor analógico digital).

O controlador possui dois modos de operação, um para gravar uma sequência e outro para reproduzir a sequência gravada. Assim que o controlador perceber duas mudanças de brilho em meio segundo (escuro, claro, escuro ou o contrário), ele muda para o modo de gravação. No modo de recodificação, a entrada do LDR é medida várias vezes por segundo e armazenada no chip. Se a memória se esgotar, o controlador volta ao modo de reprodução e começa a reproduzir a sequência gravada. Como a memória deste minúsculo controlador é muito limitada, 64 bytes (sim, bytes!), O controlador é capaz de gravar 400 bits. Isso é espaço suficiente para 10 segundos com 40 amostras por segundo.

Etapa 2: Materiais e Ferramentas

Materiais e Ferramentas
Materiais e Ferramentas
Materiais e Ferramentas
Materiais e Ferramentas

Materiais- 2 x 1K resistor- 1 x LDR (Light Dependent Resistor), por ex. M9960- 1 x LED de baixa corrente, 1,7 V, 2ma- 1 x Atmel ATtiny13v, 1 KB de RAM flash, 64 bytes de RAM, 64 bytes de EEPROM, 0-4MHz@1,8-5,5V- 1 x CR2032, 3V, 220mAhTools- ferro de solda - fio de solda - placa de ensaio - programador AVR - fonte de alimentação 5V - multímetroSoftware - Eclipse - plug-in CDT - WinAVRCosts geral deve ser inferior a 5 $ sem as ferramentas. Usei o ATtiny13v porque esta versão desta família de controladores pode rodar a 1.8V. Isso torna possível operar o circuito com uma bateria muito pequena. Para que funcione por muito tempo, decidi usar um LED de baixa corrente que atinge o brilho total já em 2ma.

Etapa 3: esquemas

Esquemas
Esquemas

Alguns comentários sobre o esquema. A entrada de reset não está conectada. Esta não é a melhor prática. Melhor seria usar um resistor de 10K como pull up. Mas funciona bem para mim sem ele e salva um resistor. Para manter o circuito o mais simples possível, usei o oscilador interno. Isso significa que economizamos um cristal e dois pequenos capacitores. O oscilador interno permite que o controlador funcione a 1,2 MHz, que é uma velocidade mais do que suficiente para o nosso propósito. Se você decidir usar outra fonte de alimentação que 5 V ou usar outros LEDs, você deve calcular o resistor R1. A fórmula é: R = (fonte de alimentação V - LED V) / 0,002A = 1650 Ohm (fonte de alimentação = 5 V, LED V = 1,7 V). Usando dois LEDs de baixa corrente em vez de um, a fórmula se parece com esta: R = (fonte de alimentação V - 2 * LED V) / 0,002A = 800 Ohm. Observe que você deve ajustar o cálculo se escolher outro tipo de LED. O valor do resistor R2 depende do LDR usado. 1KOhm funciona para mim. Você pode usar um potenciômetro para encontrar o melhor valor. O cicuit deve ser capaz de detectar mudanças de luz na luz do dia normal. Para economizar energia, PB3 só é definido como alto, se uma medição for feita. Atualização: o esquema era enganoso. Abaixo está uma versão correta. Obrigado, dave_chatting.

Etapa 4: montar em uma placa de protótipo

Monte em uma placa de protótipo
Monte em uma placa de protótipo
Monte em uma placa de protótipo
Monte em uma placa de protótipo

Se você gosta de testar seu circuito, uma placa de ensaio é muito útil. Você pode montar todas as peças sem precisar soldar nada.

Etapa 5: programe o circuito

Programe o circuito
Programe o circuito
Programe o circuito
Programe o circuito

O controlador pode ser programado em diferentes idiomas. Os mais usados são Assembler, Basic e C. Usei C porque é o que melhor atende às minhas necessidades. Eu estava acostumado com C há dez anos e fui capaz de reviver parte do conhecimento (bem, apenas alguns …). Para escrever seu programa, recomendo o Eclipse com o plugin CDT. Obtenha o eclipse aqui https://www.eclipse.org/ e o plugin aqui https://www.eclipse.org/cdt/. Para compilar a linguagem C para microcontroladores AVR, você precisará de um compilador cruzado. Por mais que tenhamos sorte, existe um porto do famoso GCC. É chamado de WinAVR e pode ser encontrado aqui https://winavr.sourceforge.net/. Um tutorial muito bom sobre como programar controladores AVR com WinAVR está aqui https://www.mikrocontroller.net/articles/AVR-GCC- Tutorial. Desculpe, está em alemão, mas você pode encontrar milhares de páginas de tutoriais sobre esse tópico em seu idioma, se você pesquisar por elas. Depois de compilar sua fonte, você deve transferir o arquivo hexadecimal para o controlador. Isso pode ser feito conectando seu PC ao circuito usando o ISP (no programador do sistema) ou usando programadores dedicados. Usei um programador dedicado, pois torna o circuito um pouco mais fácil economizando alguns fios e um plugue. A desvantagem é que você precisa trocar o controlador entre o circuito e o programador toda vez que quiser atualizar seu software. Meu programador vem de https://www.myavr.de/ e usa USB para se conectar ao meu notebook. Existem muitos outros por aí e você pode até mesmo construí-lo. Para a transferência em si, usei um programa chamado avrdude que faz parte da distribuição WinAVR. Um exemplo de linha de comando pode ser assim:

avrdude -F -p t13 -c avr910 -P com4 -U flash: w: flickled.hex: iEm anexo, você pode obter o código-fonte e o arquivo hex compilado.

Etapa 6: Solda

De solda
De solda

Se o seu circuito funciona na placa de ensaio, você pode soldá-lo.

Isso pode ser feito em um PCB (placa de circuito impresso), em uma placa de protótipo ou mesmo sem uma placa. Decidi fazer isso sem, pois o circuito consiste apenas em alguns componentes. Se você não estiver familiarizado com soldagem, recomendo que pesquise um tutorial de soldagem primeiro. Minhas habilidades de soldagem estão um pouco enferrujadas, mas acho que você entendeu. Espero que tenha gostado. Alex

Recomendado: