quinta-feira, março 22, 2012

Arduino na Protoboard

Do ponto de vista de hardware, a plataforma Arduino é bastante enxuta. Se tirarmos os circuitos de alimentação e interface USB e os conectores para shields, o que sobra é apenas um ATmega328 e alguns poucos componentes discretos.

Usando o adaptador USBTTL que vimos no post anterior, fica muito fácil montar em uma protoboard um Arduino totalmente funcional.


Como todo bom "open hardware", o esquema do Arduino está disponível para quem quiser, duplicar, hackear ou simplesmente conhecer. Eu parti do esquema do Diavolino, por ter características semelhantes ao que pretendia montar. O esquema da minha montagem é o seguinte:


O destaque neste circuito é o capacitor ligando o sinal DTR do adaptador USB ao pino de Reset do ATmega, isto implemente a capacidade de auto-reset (reiniciação do Arduino quando é feita uma conexão serial).

A lista de componentes é:
  • Uma protoboard
  • Um adaptador serial USB TTL, com suporte ao sinal DTR
  • Um ATmega328, com o bootloader do Arduino gravado
  • Um cristal de 16MHz
  • Dois capacitores de 22pF
  • Um capacitor de 100nF
  • Um resistor de 10K
  • Um resistor de 1K
  • Um LED
O vídeo abaixo mostra a montagem e o teste através da carga de um programa via USB.

6 comentários:

Caio Cesar disse...

Podemos colocar mais atmegas, para aumentar as portas de e/s e controlalos em serie, tudo junto?
Eu quero fazer um cubo de 8x8x8, qualquer coisa me envia uma email. caio.boguinha@hotmail.com

Daniel Quadros disse...

Você poderia interligar vários atmegas, mas me parece exagero. Existem formas mais simples (e baratas) de expandir as portas, como usar os CIs 74HC595 ou PCF8574. Eu falei um pouco sobre este assunto em
http://dqsoft.blogspot.com.br/2009/07/controlando-muitos-leds.html.

Tem um projeto bacana para começar com cubo de LEDs em
http://eletreco.blogspot.com.br/2011/12/led-cube-4x4x4-bicolor.html
Eu pretendo montar um "em breve".

Unknown disse...

Daniel, é possível gravar a partir do eclipse com esse circuito?

Daniel Quadros disse...

Eu não tenho experiência em usar o Eclipse com o Arduino, mas este circuito (com o conversor serial externo) se comporta exatamente como um Arduino.

J.VICTOR disse...

Estou tentanto Utilizar esse circuito de exemplo com um Conversor Usb Serial Ft232rl Ttl 5v 3v3, so que toda vez quem tento compilar da esse error "avrdude: stk500_getsync(): not in sync: resp=0x00" poderia me ajudar?

Daniel Quadros disse...

Existem muitos motivos possíveis para o erro "not in sync". Alguns deles: sinais Rx/Tx trocados, bootloader ou fuses gravado incorretamente, o conversor não ressetar o ATmega.