Como Funciona o Arduino, I/O
1 ARDUINO UNO.
O controlador ARDUINO é uma plataforma de desenvolvimento microcontrolada, de fonte aberta[1], utilizada e reconhecida mundialmente. Seu processador é o Atmega328, com velocidade de processamento de 16MHz, 32kB de memória flash, 2kB de memória RAM, conexão USB e uma porta de alimentação. Todos os dispositivos para controle das portas e processamento estão na placa, bastando conectar a um computador pela porta USB. Para motores de corrente contínua e cargas de maior consumo, placas específicas devem ser adicionadas. Seu esquema eletrônico está disponível na internet, de forma aberta[2]. O aspecto físico do controlador está representado nas figura 01, 02 e 03.
Figura 01 - Vista superior da placa do Arduino UNO
Fonte: http://arduino.cc/en/uploads/Main/ArduinoUno_R3_Front.jpg
Figura 02 - Vista superior da placa do Arduino UNO SMD.
Fonte: http://arduino.cc/en/uploads/Main/ArduinoUno_R3_Front_SMD.jpg
Fig. 03: Vista inferior da placa do Arduino UNO
Fonte: http://arduino.cc/en/uploads/Main/ArduinoUno_R3_Back.jpg
No Brasil, uma placa controladora pode ser adquirida por menos de R$100,00, e já se encontram anúncios a menos de R$50,00, e no exterior por pouco menos de US$15,00. A enorme vantagem do ARDUINO, com relação ao modelo NXT da LEGO®, está em sua maior flexibilidade, maior número de entradas e de saídas, e maior variedade de sistemas de acionamento e sensoriamento disponíveis no mercado.
O sistema ARDUINO, se utilizado com programação em linguagem C na sua versão UNO, aceita até seis entradas analógicas e possui 14 pinos configuráveis como entradas ou saídas digitais. Entre estes 14 pinos configuráveis, encontramos a possibilidade de configurar até seis saídas de controle por largura de pulso (PWM), e dois pinos configuráveis para comunicação rápida com outro dispositivo microprocessador. A corrente máxima disponibilizada nas portas é de 40mA, e a porta USB conta com proteção para excesso de consumo, limitada a 500 mA. Quando a corrente demandada exceder este valor, a alimentação deve ser feita pelo conector disponibilizado, sendo que a tensão deve estar entre os limites de 7 e 12 Volts. Outras plataformas ARDUINO estão disponíveis, por exemplo, a Mega 2560 pode entregar até 15 entradas analógicas e 54 pinos configuráveis, sendo que destas, 12 saídas tem possibilidade de controle PWM.
Os mais variados sistemas de interconexão estão disponíveis para aquisição, na internet. Por exemplo, sensores de pressão, temperatura, umidade, posição, cor, luminosidade, motores de corrente contínua acoplados a redutores, servo-motores, servo-motores de giro contínuo, motores de passo, acionamentos para motores, estão à distância de um click. Os programas drivers[3] para estes dispositivos de interfaceamento estão disponíveis de forma aberta.
Originalmente o controlador é programado em linguagem C, a opção dos utilizadores mais avançados. Com a popularização, outras opções foram desenvolvidas, e pode-se programar em Flash, em Visual Basic e outras linguagens de médio e baixo nível[4]. Linguagens de programação de alto nível, de aprendizado mais fácil, também estão disponíveis para o Arduino, contando com recursos variados, mas não padronizados. Cada programa usa alocação diferente de entradas e saídas. Os mais conhecidos são o Scratch, Visuino, Ardubloq e o Minibloq, todos são facilmente encontrados numa busca na internet.
2 ALIMENTAÇÃO DO ARDUINO
A alimentação de energia para o Arduino pode ser feita pelo cabo USB, porém esta porta tem uma limitação de possibilidade de fornecimento de corrente. O fornecimento de energia para o Arduino pode ser feito pelo conector disponível, ao lado do conector USB, com tensão mínima de 7 Volts e máxima recomendada de 12Volts. Tensões superiores podem ser fornecidas ao Arduino, porém podem provocar aquecimento excessivo. Nos testes iniciais, uma fonte chaveada de carregador de celular de 8Volts por 1,5 Ampére, foi utilizada.
Fig. 04: Diagrama da fonte de alimentação interna, da placa do Arduino UNO.
Fonte: Arduino Internals, Dale Wheat.
Fig. 05: Diagrama da fonte de alimentação interna, utilizada em algumas placas mais modernas do Arduino UNO.
Fonte: Arduino Internals, Dale Wheat.
Posteriormente, em uma caixa de descarte de baterias, uma bateria de notebook foi resgatada e desmontada. Internamente, estas baterias contam com 3, 6 ou 9 elementos do tipo 18650, e usualmente alguns elementos individuais ainda podem ser utilizados, quando pequenas cargas são conectadas a elas.
Fig. 06: Bateria de notebook, descartada.
Com um disco de corte e uma retífica Dremel, a bateria foi cortada.
Fig. 07: Corte da bateria.
Fig. 08: Desmonte da bateria.
Fig. 09 Bateria aberta.
Fig.10: Elementos da bateria, separados.
O desmonte da bateria é uma tarefa que apresenta riscos, e não é recomendada a neófitos. Um curto-circuito acidental pode provocar a explosão dos elementos, se estes contarem com carga suficiente.
Este tipo de elemento, conhecido como NiMH (níquel-metal-hidrido), apresenta tensão de aproximadamente 4 Volts por célula, e capacidade de fornecimento aproximada de 2 a 4 Ampères/hora, porém sua recarga deve ser controlada por um sistema automático. Nos packs utilizados nos computadores do tipo notebook, a placa interna garante o processo e a proteção dos elementos. A referência comercial destes elementos é 18650, e carregadores automáticos são facilmente encontráveis na internet. Muitas lanternas modernas tipo CreeLED, utilizam estes elementos de bateria, e seus carregadores podem ser utilizados.
Em meus Arduinos utilizo dois elementos 18650, conectados em série, e a bateria costuma durar vários dias. Um fusível colocado em série com as baterias é uma medida de segurança que deve ser observada.
3 COMO FUNCIONAM AS ENTRADAS E SAIDAS DO ARDUINO
- Entradas e saídas digitais assumem valores 0 ou 1 (desligada ou ligada).
- Se fornecermos 5 Volts para uma entrada, ela assume o valor 1, se fornecermos 0Volts, ela assume o valor 0.
- Ao ligarmos uma saída, ela fornece 5Volts. Desligando a saída, encontramos 0 Volts nela
- Entradas analógicas variam seu valor de 0 a 1024 (10bits). O valor da entrada é 0 quando 0Volts são fornecidos à entrada, e 1024 quando fornecemos 5Volts à entrada.
- As saídas analógicas (PWM) podem assumir valores de 0 a 255 (8bits). Assignado 0 à saída, teremos 0Volts, assignando 255, teremos 5Volts. Os valores intermediários são proporcionais.
- O sistema PWM não é um sistema de variação linear de tensão. A modulação por largura de pulso (PWM), em uma simplificação para a compreensão, pode ser definida como uma variação no tamanho de pacotes de energia fornecida.
- As entradas analógicas (A0 a A5) podem ser utilizadas como entradas digitais, referenciando-as como D14 a D19, respectivamente, quando programado em linguagem C.
4 CUIDADOS COM O ARDUINO
- Quando alimentar o Arduino pelos pinos +5V e GND, use uma fonte estabilizada/regulada de 5V.
- A alimentação pelo conector específico de 2,1mm/5,5mm deve ter tensão entre 7V e 12V. O ideal para a placa é o uso de 9V.
- A capacidade de fornecimento de corrente total de entradas e saídas do Arduino é limitada a 200mA.
- Cada porta de entrada e saída tem capacidade de fornecimento de corrente limitada a 40mA.
- Nunca conecte sinais RS232 diretamente a placa do Arduino. As tensões podem danificar a placa. Use um adaptador específico.
Continue Lendo
Como funciona o Arduino, suas entradas e saídas, cuidados ao trabalhar com Arduino.
Controlando motores de Corrente Contínua.
Construindo o Arduino para o Scratch e sua caixa.
Construindo sensores, para o Arduino e Scratch, sobre peças LEGO.
[1] Opensource
[2] Disponível em <http://arduino.cc/en/uploads/Main/Arduino_Uno_Rev3-schematic.pdf>
[3] Pequeno programa necessário para a conexão de determinados sensores e atuadores, ao Arduino.
[4] Linguagens de programação são divididas em níveis. As de baixo nível conversam com o controlador em sua linguagem, são poderosas e complexas. As de alto nível são mais fáceis de usar, requerendo menor conhecimento específico, porém necessitam de compilação (uma espécie de tradução de linguagens), que e impõem diminuição de desempenho e possibilidades.
- Robótica na Educação
- Utilização de LEGO, Arduino e Scratch na educação
- Como Funciona o Arduino, I/O
- Controlando Motores de Corrente Contínua
- Minibloq e arudino
- Scratch para Arduino S4A
- Construindo o Arduino para o Scratch e sua caixa.
- A caixa de comando
- Construindo sensores e atuadores para Lego e Ardui
- LEGO
- Arduino
- Scratch
- Robos feitos com sucata
- Coisas doidas
- Outros sistemas de montagem
- Literatura relacionada
- Tutoriais
- Glossário
- Programas
- Trabalhando com imagens
- Área Reservada
- Contactos