Arduino Uno
3 respostas
Bom, para termos uma boa referência, fiz esse post que explica basicamente as funções de cada micro. Temos muitas informações para comparar sobre essas 2 placas, mas iremos separá-las aqui para entendermos melhor o que cada uma faz. Vamos começar pelo Uno.
Segue uma imagem que mostra bem quais as funcionalidades de cada pino (sendo até 3).
AVR: Não é uma função do pino, mas uma nomenclatura para a arquitetura usada no processador do Arduino. Assim não será importante para nós.
Em parênteses estará o número de conexões que permitem a função descrita ao lado:
DIGITAL(26): Esses são os pinos que podem ter seus valores de entrada lidos ou podem enviar valores para suas saídas, dependendo do uso selecionado. Sempre lembrando que os valores podem apenas ser HIGH (1) ou LOW (0).
ANALOG(6): Esses pinos podem funcionar como entradas analógicas, lendo valores de sensores ou potenciômetros que tenham um valor variável (de 3.3V até 0V, por exemplo).
POWER(7): Pinos de energia, que são:
- IOREF: pino usado na tensão máxima nos pinos digitais de referência de outros shields.
- AREF: pino usado na tensão máxima de referência para sinais analógicos
- RESET: pino que ao ser conectado no 3.3V, reinicia a placa.
- 3.3V: fornece 3.3V de alimentação.
- 5V: fornece 5V de alimentação (um diferencial em relação à kl25z).
- GND: terra.
- VIN: entrada alternativa para a alimentação da placa.
SERIAL(1): São os pinos do protocolo de comunicação UART. Sempre que o Arduino enviar (TX) ou receber (RX) qualquer sinal para o computador, esses pinos “sofrerão” interferência, por estarem ligados em paralelo, junto aos LED’s perto deles. Assim é aconselhável não usá-los quando tivermos que usar o Terminal (interface por onde o teclado e o monitor do PC se comunicam com o Arduino) no computador.
SPI(1): É um protocolo de comunicação que utilizando 4 pinos, é usado para enviar e receber dados. Podemos ver na imagem abaixo que o Arduino tem 2 headers macho de 6 pinos cada em sua placa. Eles utilizam o protocolo SPI para enviar código ao processador ou enviar para o conversor serial USB. Podemos tanto subir um código novo através desses headers como mudar o bootloader instalado no Arduino.
Bootloader é o programa que carrega o programa principal a ser rodado no dispositivo. Ele é o primeiro programa iniciado ao ligarmos o dispositivo, seja o computador ou o Arduino. Ao ligarmos o computador, a tela preta antes do Windows é o bootloader. No Arduino, é o bootloader que carrega o código feito pelo usuário para iniciá-lo.
Assim a comunicação SPI do ATmega328 é paralela nos pinos 11 a 13 como vistos na imagem, possibilitando a programação de outras placas direto pelos pinos 11 a 13. Já o conversor serial-USB só pode ser programado pelo SPI header mesmo.
I2C(2): É outro protocolo de comunicação que utiliza apenas 2 pinos, assim sua comunicação pode ser mais lenta, mas temos o benefício de apenas usar 2 pinos.
PWM(6): São pinos que permitem o envio do sinal PWM, que traduzindo significa pulso de largura modulável. Esses sinais servem para controlar motores à velocidades específicas ou fazer o efeito dimmer em luzes.
INTERRUPT(2): Pinos que podem ser usados como entradas, que ao terem seus valores alterados, geram uma interrupção no código.
PERIFÉRICOS: Além de tudo isso temos alguns LED’s laranjas na placa que são paralelos, como citado anteriormente, aos pinos 13, 2 e 1. Além disso, temos um LED verde que indica se a placa está ligada e um botão de RESET ao lado da conexão USB.
O Uno pode ser alimentado pela porta USB ou por uma fonte de tensão de 7 a 12V (o limite real é de 6 até 20V, mas podem ocorrer problemas com tensões fora da faixa anterior, como aquecimento ou tensão baixa nos pinos de alimentação) no conector jack de 2.1mm ou pelo pino VIN. No pino VIN não há reguladores de tensão, então caso a tensão aplicada nele seja maior que o máximo permitido (20V), sua placa queimará. Cada pino digital tem como saída no máximo 40mA, e cada pino de alimentação tem como saída no máximo 50mA. Caso você tenha interesse, aqui está um diagrama completo: