2. SUMÁRIO
• Introdução ao Arduino
• Projetos:
1. Olá Mundo
2. Leitura digital
3. Comunicação UART
4. Leitura analógica
5. Barra LED’s com LDR
6. PWM
7. Controle de motor CC
8. Controle de Servos
3. • Arduino é uma plataforma de
prototipagem eletrônica open-
source. (Hardware e software
livres)
• Possui um microcontrolador Atmel
programável.
• Linguagem de programação
Wiring. (baseado em C/C++)
• A placa pode funcionar junto ou
independente do computador.
Introdução ao Arduino
7. • Hardware e projetos de montagem disponíveis.
• O software é também aberto.
• Quem desejar, pode comprar os componentes e montar sua placa.
• Mas.....
• A marca arduino é
registrada
10. •O que é um microcontrolador?
•Chip;
•CPU de pequeno porte, capaz de executar um
conjunto de instruções – Microprocessador;
•Instruções simples e rápidas
•Possui memória(s);
•Possui e/ou pode comunicar com outros
periféricos
11.
12. •Exemplos de
microcontroladores
•Família 8051 (Intel ou
ATMEL)
•80C196KB (Intel)
•68Hc11 (Motorola /
Freescale)
•MSP430 (texas Instruments)
•ATmega328 (ATMEL)
•PIC16F628a (Microship)
Mas, onde está o arduino???
14. PRINCIPAIS COMANDOS DA LINGUAGEM ARDUINO
1.pinMode(pino, modo):
• Sempre dentro da função setup
• Estabelece a direção do fluxo de informações em um determinado
pino do Arduino.
2.digitalRead(pino):
• Lê o estado lógico de um pino do Arduino que foi configurado
previamente como entrada.
3. digitalWrite(pino, valor):
• Essa função envia para pino um nível lógico alto ou baixo,
conforme especificado valor.
4.analogRead(pino):
• Lê o valor de um dos 6 pinos analógicos do Arduino, e retorna um
inteiro entre 0 e 1023 que representa o nível da tensão analógica
entre 0 e 5 volts presentes no pino especificado.
15. 1.analogWrite(pino, valor):
• A função analogWrite gera uma onda quadrada onde
pode ser usada nos pinos PWM no Arduino (3,5,6,9,10 e
11).
2.delay(ms):
• Interrompe o programa que está sendo executado por um
período de tempo em milissegundos.
3.Serial.begin(taxa):
• Abre um canal entre o Arduino e um computador PC.
PRINCIPAIS COMANDOS DA LINGUAGEM ARDUINO
22. 2º PROJETO –
LEITURA DIGITAL
•Objetivo:
Acender
um led ao
prescionar
o botão
•Montagem:
23. 2º PROJETO – EXPLICAÇÃO DO HARDWARE
• Quando o botão é pressionado, o pino de entrada vai
para LOW. O resistor R1 limita a corrente do VCC que
passa pelo botão e vai pro GND.
• Quando o botão não é pressionado, o pino de entrada vai
para HIGH. O resistor R1 limita a tensão no pino de
entrada.
25. 2º PROJETO – DESAFIO
Faça a lógica de programação inversa.
Ao apertar o botão o led apague.
26. 3º PROJETO – COMUNICAÇÃO SERIAL UART
• Objetivo: ligar
e desligar um
LED conectado
as saída digital
d Arduino
através de
comandos
enviados pelo
computador.
• Montagem:
28. 3º PROJETO –
APLICAÇÃO
O protocolo UART tem como principal função fazer a conversão de
dados paralelos para serial ou vice-versa, e envia os dados para outro
dispositivo
33. 5º PROJETO– LDR E LEITURA ANALÓGICA
• Objetivo:
Fazer uma
leitura
analógica
de um
resistor que
varia com a
luz.
• Montagem :
34. 5º PROJETO – O que é um LDR?
Quando a luz atinge o material
fotocondutor, ele perde a sua
resistência, permitindo que mais
corrente flua entre os eletrodos.
39. PWM – Pulse width
modulation
PWM é a técnica de obtém
resultados analógicos através de
meios digitais. O controle digital é
usado criando uma onda quadrada,
um sinal oscilando entre “ligado”
ou “desligado”, “0” ou “1”. Por uma
porção de tempo o sinal permanece
“alto” enquanto pelo resto deste
tempo ele permanece “baixo”. A
duração desde “tempo” é chamada
modulação de pulso.
Se você aplicar um sinal através de
analogWrite() com valores entre 0
e 255, você obteria os valores da
tabela a seguir em seu ciclo de
trabalho.
42. 7º projeto – Controle de um motor cc
• Objetivo: Controlar a velocidade de um motor cc através do
potenciometro.
43. 7º projeto – controle de um motor cc
• Explicação do hardware:
• Alimentado com corrente contínua;
• Possui ímã e bobinas internamente;
• Velocidade é ajustada pela tensão de
alimentação (pode ser por PWM!);
• Sentido de giro é alterado pela
polaridade.
44. 7º projeto – controle de um motor cc
• Cada pino do Arduino pode fornecer, no
máximo, 40mA de corrente -> pode não
ser suficiente para acionar um motor!
• Solução: usar transistores.
45. 7º projeto – controle de um motor cc
• Um transistor pode ser entendido como
uma “válvula” eletrônica: é capaz de
acionar cargas de alta corrente a partir de
um sinal de controle de baixa corrente.
Quanto maior for a corrente no pino de
“base” (B), maior será a corrente entre os
pinos “coletor” (C) e “emissor” (E).
• Por exemplo, se a corrente na base variar
de 0 a 0,01 A, a corrente de coletor pode
variar de 0 a 1A!
48. 8º PROJETO – SERVOS
• Servomotores recebem um sinal de controle, verificam a
posição atual e atuam no sistema indo para a posição
desejada.
• O servo processa um pulso a cada 20 ms. O
comprimento do pulso determina a distância que o
motor gira.
52. DESAFIOS
• Controle o PWM de alguma carga (LED ou MOTOR CC)
através de um botão
• Mostre a velocidade do MOTOR CC através de 3 LED’s
• Controle mais de um SERVO com mais de um
POTENCIÔMETRO
• Controle várias cargas (LED’s e/ou servo e/ou motor)
usando UART