Curso de Arduino – Aula 2 – Arquitetura do Hardware de uma placa

Saídas Digitais

Certamente o recurso mais usado por quem programa para arduino. Com uma saída digital podemo fazer com que um pino "solte" 0 volts ou 5 volts. É algo muito simples e o verdadeiro poder do Arduino é revelado quando através de um programa (software) conseguimos controlar um hardware. Com um pino programado como saída digital, podemos acender um led, ligar um relé, acionar um motor, enfim, o que é possível fazer com saídas digitais é limitado apenas pela imaginação. Então, podemos programar o arduino para no máximo 20 saídas digitais, porém 20 saídas podem ser multiplexadas no tempo, o que significa que podemos usar um ou mais pinos para controlar um bloco de pinos. Veja o exemplo abaixo: Acendemos 64 leds usando apenas 20 saídas digitais. Assista que eu explico a "manha" depois: Cada linha é composta de 16 leds. O anodo (positivo) de cada led é ligado a um pino do arduino. Normalmente um led tem o catodo (negativo) ligado no terra (gnd, 0V, negativo) porém se fizesse isso poderiamos controlar apenas os 16 leds individualmente. A "manha" é que não ligamos o catodo de cada led no negativo e sim juntamos todos os cátodos de um nível e ligamos ao negativo através de um transistor, uma chave eletrônica em resumo. Daí usamos um pino para controlar 4 transistores de forma controlamos cada um dos 4 níveis. Fazendo isso, obtemos os efeitos demonstrados no cubo led. Eu sei, esse cubo de led é muito legal, portanto vou incluir esse projeto na lista de exemplos no final do curso.

Pinos com funções especiais

Existem pinos do Arduino que possuem características especiais, que podem ser usadas efetuando as configurações adequadas através do programa. São elas:
  • PWM - Tratado como saída analógica, na verdade é uma saída digital que gera um sinal alternado (0 e 1) onde o tempo que o pino fica em nível 1 (ligado) é controlado. É usado para controlar velocidade de motores, ou gerar tensões com valores controlador pelo programa.
  • Porta Serial USART - Podemos usar um pino para transmitir e um pino para receber dados no formato serial assíncrono (USART). Podemos conectar um módulo de transmissão de dados via bluetooth por exemplo e nos comunicarmos com o Arduino remotamente.
  • Comparador analógico - Podemos usar dois pinos para comparar duas tensões externas, sem precisar fazer um programa que leia essas tensões e as compare. Essa é uma forma muito rápida de comparar tensões e é feita pelo hardware sem envolver programação.
  • Interrupção Externa - Podemos programar um pino para avisar o software sobre alguma mudança em seu estado. Podemos ligar um botão a esse pino, por exemplo, e cada vez que alguem pressiona esse botão o programa rodando dentro da placa é desviado para um bloco que você escolheu. Usado para detectar eventos externos à placa.
  • Porta SPI - É um padrão de comunicação serial Síncrono, bem mais rápido que a USART. É nessa porta que conectamos cartões de memória (SD) e muitas outras coisas
Observe que as funções especiais acima dependem de qual chip micro controlador está na sua placa Arduino. Abaixo uma relação de funções e pinos do Arduino UNO, ou qualquer outro que usa o chip ATMega8, ATMega168 ou ATMega328p
  • PWM - pinos 3, 5, 6, 9, 10 e 11 (o chip ATMega8 só possui PWM nos pinos 9 10 e 11)
  • Porta Serial - Pinos 0 (rx recebe dados) e pino 1 (tx envia dados).
  • Comparador analógico - pinos 6 e 7.
  • Interrupção Externa - pinos 2 e 3
  • Porta SPI - Pinos 10 (SS), 11 (MOSI), 12 (MISO) e 13 (SCK)
Arduino Duemilanove com o chip ATMega168. Note os pinos de PWM e RX/TX identificados na placa.

Arduino Duemilanove com o chip ATMega168. Note os pinos de PWM e RX/TX identificados na placa.