- O documento apresenta 8 projetos básicos utilizando a plataforma Arduino, incluindo fazer um LED piscar, ler entradas digitais e analógicas, comunicação serial, controle de intensidade de LED por PWM, controle de motor CC e servo motores.
SUMÁRIO
• Introdução aoArduino
• 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
• Hardware eprojetos de montagem disponíveis.
• O software é também aberto.
• Quem desejar, pode comprar os componentes e montar sua placa.
• Mas.....
• A marca arduino é
registrada
•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
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???
PRINCIPAIS COMANDOS DALINGUAGEM 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):
• Afunçã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
2º PROJETO –
LEITURADIGITAL
•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.
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:
3º PROJETO –
APLICAÇÃO
Oprotocolo 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
5º PROJETO– LDRE 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.
PWM – Pulsewidth
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.
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!
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.
DESAFIOS
• Controle oPWM 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