Esta apresentação inicia um estudo com a plataforma Arduino. Visa despertar o interesse pela tecnologia e fomentar os primeiros passos para quem se interesse pelo assunto.
2. O que é um microcontrolador?
Trata-se de um circuito integrado de baixo
custo que contém memória, unidade de
processamento e circuitos de entradas/saídas
num mesmo circuito integrado.
A diferença para um circuito integrado comum
esta no fato de que o microcontrolador pode
ser programado via software podendo executar
diferentes tarefas baseadas no programa
inserido em sua memória. Tem o intuito de
tornar o produto onde está conectado mais
inteligente funcionando como uma espécie de
computador de baixo custo.
3. Entradas
Utilizam-se transdutores que transformam
algum parâmetro do ambiente em sinais
elétricos que, por conseguinte são enviados
ao
bloco
de
processamento
do
microcontrolador.
Exemplos: interruptor de pressão,
microfone, resistor dependente de luz
(LDR), potenciômetro, termistor.
4. Saídas
Utilizam-se transdutores que transformam
sinal elétrico em algum parâmetro para
ambiente.
Exemplos: motor, autofalante, diodo
emissor de luz (LED), display LCD.
6. Arduino
é uma plataforma formada por
uma placa que fornece as conexões
necessárias para o funcionamento de um
microcontrolador, i.e., chip programável. Com
hardware open-source esta plataforma vem
ganhando muitos adeptos nos últimos anos,
onde é possível desenvolver aplicações em
diversas áreas.
O Arduino pode ser usado no processamento
de sinal de qualquer sistema que necessite de
uma determina saída, dado um sinal de entrada
específico.
Outras informações http://www.arduino.cc/
7. Iniciando
Adquirir a plataforma Arduino. Sugere-se
para iniciantes o modelo Arduino UNO REV
3 (aprox.: R$75,00)
Download do software gratuito
http://arduino.cc/en/Main/Software
Testar a placa.
NOTA: pode ser necessária a
instalação/atualização do driver de
comunicação da placa com o computador.
Detalhes em
http://arduino.cc/en/Guide/HomePage
8. Arduino UNO
É uma placa microcontrolada baseada no
ATmega328, datasheet em
http://www.atmel.com/Images/doc8161.pdf
Tensão de operação: 5V
Entradas/Saídas digitais: 14
Entradas analógicas: 6
Corrente máxima por pino: 40mA
Memória flash: 32 kb
SRAM: 2 kb
EEPROM: 1kb
Velocidade de clock: 16 Mhz
11. Estrutura
Existem duas principais,
Setup(): é chamada apenas uma vez
quando o programa é inicializado. É
utilizado para inicializar variáveis, estados
dos pinos, declarar bibliotecas, etc.
loop(): ciclo infinito onde o código é
executado.
12. Variáveis
São declaradas de forma semelhante à linguagem C/C++;
Ex.: int ledPin = 13;
Constantes
INPUT/OUTPUT
São utilizados para definir se determinado pino será uma
entrada ou saída.
HIGH/LOW
Quando um pino é definido como saída, o comando HIGH
injeta 5V e o comando LOW 0V.
São utilizados, por exemplo, para ligar/desligar um LED.
13. Funções
pinMode(pin, I/O): configura um pino
específico como entrada ou saída;
digitalWrite(pin, HIGH/LOW): liga/desliga
determinado pino;
digitalRead(pin): faz a leitura do estado do
pino do parâmetro e retorna HIGH ou
LOW;
delay(ms): pausa o programa pelo tempo
especificado
no
parâmetro
(em
milissegundos).
14. Demais sintaxes, funções e estruturas são
muito semelhantes à linguagem C/C++ e
são detalhadas em
http://arduino.cc/en/Reference/HomePage
15. Controlando um LED
Utilizando as informações anteriores, já é
possível controlar um LED. A placa
ARDUINO UNO possui um LED
conectado ao pino 13, desta forma o
seguinte programa pisca o LED a cada um
segundo.
18. Exercício
Como primeiro projeto, você é desafiado a
projetar hardware e software de um
semáforo.
O sinal verde deve ficar ligado por 5 s;
O sinal amarelo por 1 s;
O sinal vermelho por 4 s;