Apresentando o X-Duino
Na aula deste curso sobre o hardware Arduino, pudemos aprender como é composto o hardware de uma placa arduino oficial. A partir de agora, vamos analizar o circuito da nossa versão de Arduino, o X-Duino. Tenha em conta a imagem acima e abaixo bem como a legenda. Legenda:- Fonte de Alimentação Principal
- Fonte de Alimentação Secundária (opcional)
- Hardware USB
- Filtro para tensão de referência
- Conectores de sinais com pinos de alimentação
- Proto area integrada
Fonte de Alimentação.
Hardware USB
A grande dificuldade de construir uma placa arduino "oficial" é o chip FTDI232, usado para a conversão USB-Serial usado para realizar a programação e depuração. Esse chip é caro e dificílimo de soldar, então não queria usá-lo na nossa versão de placa. Porém não é possível ligar uma Arduino direto em um PC, seja via porta RS232 ou USB porque o chip usado (atMega) tem apenas porta serial TTL. A placa Severino adotou uma elegante solução para esse caso, usando transistores baratos para converter a porta serial TTL para uma porta RS232. Uma pequena obra de arte podemos dizer. Eventualmente essa solução necessita um cabo conversor USB-SERIAL para funcionar em notebooks e pcs mais novos. Depois de quebrar a cabeça a respeito do que fazer para programar a placa, encontrei uma solução praticamente pronta. Uma implementação do protocolo de comunicação USB direto no firmware do Arduino. Outra obra de arte e o criador é a Objective Development. A biblioteca que eles criaram pode ser usada para comunicação entre o software do Arduino para gravação do programa. Baixei os fontes do bootloader para arduino aqui: USBaspLoader Depois ajustei ele só um pouquinho e compilei um novo bootloader para o X-Duino usando eclipse+winAVR. Usando apenas 3 resistores, dois diodos e software, o X-Duino usa comunicação USB baseada em software, ou seja, ao invés de usar um chip especial ou um cabo conversor USB para efetuar a gravação do programa, usamos uma solução codificada no próprio bootloader. No final da alua tem os links para baixar os fontes do X-Duino e os arquivos .hex compilados para o atMEGA8, 168 e 328pFiltro para tensão de referência
O micro-controlador que usamos no arduino tem uma eletrônica interna dedicada a realizar medições externas de tensão. Isso é util quando usamos sensores e desejamos "ler" valores dele. Esta eletrônica chama-se Conversor Analógico/Digital e o X-Duino tem seis pinos que podem realizar leitura de tensão entre 0 e 5 Volts, nos entregando no programa uma variável que vale 0 para zero volts e 1024 quando a leitura chegou nos 5 Volts. Veremos isso adiante com mais detalhes na Aula 6 - Exemplos Para que a leitura seja a mais precisa possível, o micro-controlador precisa de uma tensão de referência para comparar com o sinal a ser medido. Essa tensão de referência deve ser o mais estável possível, portanto além de uma fonte de alimentação estável incluimos um filtro adicional do tipo LC (uma bobina e um capacitor), que implementamos entre a fonte de alimentação e o pino de referência do chip. Na imagem nota-se uma peça verde, é um jumper usado para conectar o 5V da alimentação na entrada do filtro, ou usar outra tensão na entrada do filtro. A necessidade de usar outra tensão de referência é quando por exemplo desejamos ler sensores alimentados pela fonte de 3,3 V e temos que usar essa tensão como referência, e não os 5V. Então removemos o jumper e conectamos a tensão no pino que fica do lado de dentro da placa, esse pino é a entrada do filtro.Conectores de sinais com pinos de alimentação
Uma placa arduino possui os terminais de sinais em duas fileiras de conectores "fêmea", para que seja possível encaixar fios e realizar as conexões externas. Nossa versão de placa, pode ser montada com conectores fêmeas ou macho, chamados barra-pino, mas adicionalmente à fileira de sinais, colocamos duas fileiras adicionais, disponibilizando em uma os 5 Volts da alimentação e em outra, o terra ou negativo da alimentação (zero Volts) Passa a ser muito prático conectar as coisas na X-Duino, porque para cada pino de sinal dispomos dos pinos de alimentação, não sendo necessário emendas externas. No caso de uma arduino, ao conectar mais eletrônica externa é necessário dividir os pinos gnd (terra) e 5 V, que são apenas dois furos na placa.Proto-board Integrada
Para terminar a lista de alterações, incluimos um conjunto de "ilhas" ou "pads" alinhados em uma distância padrão, permitindo que eletrônica adicional seja incluída na placa e conectada ao resto do circuito através de fiosConfigurando a X-DUINO na IDE Arduino 1.0
Para que a placa X-Duino possa ser listada como uma placa válida na IDE, um arquivo precisa ser alterado. Esse arquivo é o arquivo boards.txt, que armazena informações de configurações que a IDE utiliza para lidar com cada modelo de placa Arduino. Abra o arquivo boards.txt. Ele fica localizado: no GNU/Linux /usr/share/arduino/hardware/arduino/boards.txt, no windows ele fica na subpasta C:\Arquivos de Programas\Arduino 1.0\hardware\arduino\boards.txtCaminho do arquivo boards.txt no Ubuntu
Caminho do arquivo boards.txt no Windows
Adicione ao seu arquivo boards.txt o conteúdo do arquivo boards.txt fornecido na última página da aula, e salve o arquivo. Se alguma tela do arduino estiver aberta, feche todas e abra a IDE novamente.
Considerações adicionais
Para realizar a gravação da nossa placa, conecte um cabo USB no conector da placa (dica: esse cabo existe na sucata de mouse). Pressione o botão reset para avisar o bootloader que um programa será enviado para a placa. Neste momento o PC identifica a X-DUINO como dispositivo USB. Abaixo duas formas de verificar se o X-Duino conseguiu conectar. No caso de PCs rodando windows, um driver deverá ser instalado na primeira vez que a placa for conectada. Disponibilizamos um pacote na última página da aula. Abra então o gerenciador de dispositivos e veja a placa instalada:No GNU/Linux e no MAC OSX nenhum driver é necessário. Depois de pressionar o botão de reset, execute o comando lsusb no shell.
Após pesquisar sobre o uso do circuito USB da X-DUINO para realizar a comunicação serial para depuração, ainda não consegui fazer funcionar. Portanto, para realizar a depuração ou comunicação através da porta serial TTL, um conversor adicional deverá ser utilizado. Na próxima página confira os links para baixar o material para construir sua X-DUINO! Veja abaixo um exemplo da nossa placa em ação!