Não há nenhum segredo na montagem, que foi feita em uma protoboard:
Da esquerda para a direita e de cima para baixo temos:
- o conector "espeto" para programação.
- o microcontrolador ATtiny2313.
- o resistor no pino de reset.
- o resistor que limita a corrente no LED.
- o LED.
- o botão de contato momentâneo.
- a bateria de 3V (montada em um suporte).
Led1.hex: Led1.obj
avr-objcopy -R .eeprom -O ihex Led1.obj Led1.hex
Led1.obj: Led1.c
avr-gcc -g -Os -Wall -mcall-prologues -mmcu=attiny2313 \
-Wl,-Map,Led1.map -o Led1.obj Led1.c
avr-objcopy -R .eeprom -O ihex Led1.obj Led1.hex
Led1.obj: Led1.c
avr-gcc -g -Os -Wall -mcall-prologues -mmcu=attiny2313 \
-Wl,-Map,Led1.map -o Led1.obj Led1.c
Para gravar no microcontrolador o arquivo HEX (obtido no passo acima) é preciso conectar um programador. O conector na minha montagem segue a pinagem padrão de 6 pinos dos programadores AVR, porém é uma barra simples de pino (ao invés de dupla) para poder ser espetado na protoboard.
Um cuidado importante é que o ATtiny precisa estar com os fuses padrão de fábrica (ou pelo menos valores que utilizem clock interno). Se o ATtiny estiver configurado para clock externo, é preciso fornecer este clock (por exemplo montando um cristal e dois capacitores nos pinos correspondentes). Os valores de fábrica para os fuses são 0xDF (high) e 0x68 (low).
Eu utilizei o meu programador USBtinyISP, mas poderia ser qualquer um dos programadores que nos já vimos. Durante a programação a bateria de 3V deve estar desconectada do circuito. O comando para programação é:
avrdude -p attiny2313 -c usbtiny -u -U flash:w:Led1.hex
O vídeo abaixo mostra o circuito em funcionamento.
Nenhum comentário:
Postar um comentário