0% acharam este documento útil (0 voto)
6 visualizações

Arduino

FOLHA DE DADDOS

Enviado por

Luan diego
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
6 visualizações

Arduino

FOLHA DE DADDOS

Enviado por

Luan diego
Direitos autorais
© © All Rights Reserved
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 52

Arduino

Prof. Maurício Dias


Percepção e Ação
• Sistemas embarcados
• Atuação:
– Sensores: percebem o que acontece com o mundo
externo
– Atuadores: atuam no mundo externo
Arduino
• Hardware livre
• Software livre
• Diferentes modelos
• Simples e confiável
• Robusto o suficiente para a maioria das
atividades de robótica livre
Arduino + Software + Conexão
Vista de cima
Software de programação

Vista de baixo

Cabo USB
Arduino Uno
Microcontrolador ATmega328
Tensão de funcionamento 5V
Tensão de entrada (recomendado) 7-12V
Tensão de entrada (limites) 6-20V
Pinos de entra Digital (I O) 14 (dos quais 6 oferecem saída PWM)
Pinos de entrada analógica 6
Corrente DC por pinos (IO) 40 mA
Corrente DC para 3.3V Pin 50 mA
32 KB ( ATmega328 ), dos quais 0,5 KB
Memória Flash utilizados pelo carregador de
inicialização
RAM 2 KB ( ATmega328 )
EPROM 1 KB ( ATmega328 )
Velocidade do relógio 16 MHz
Microcon-
trolador
ATMEGA 328P
ground (terra) Portas Digitais

Portas Analógicas
ground (terra)
Botão Reset

Conexão
USB

Conexão
Energia Externa
ground (terra) Portas Digitais
Botão Reset

Conexão
USB

Microcon-
trolador
ATMEGA 328P
Conexão
Energia Externa

Portas Analógicas
ground (terra)
Controlador
Pinagem
O Arduino não funciona só!
Sinal Analógico
• O antigo formato analógico é composto por um sinal
contínuo, que varia em função do tempo. É possível
representá-lo com uma curva, que apresenta intervalos
com valores que variam entre 0 e 10. Uma das principais
características deste tipo de sinal é que ele passa por
todos os valores intermediários possíveis (0.01 , 0.566 ,
4.565 , 8.55…), o que resulta em uma faixa de frequência
bem maior e por isso não tão confiável e com qualidade
inferior, devido à oscilação.

• É muito comum representar este tipo de onda como uma


série de parábolas que se alternam sobre um centro.
Resumindo, ele é um sinal que é caracterizado pela
variação contínua de suas grandezas em um determinado
espaço de tempo.
Sinal Analógico
Sinal Digital
• O sinal digital tem valores discretos, com
números descontínuos no tempo e na
amplitude. Enquanto o formato analógico
apresenta variações infinitas entre cada um de
seus valores, o digital assumirá sempre os
valores discretos (0,1,2,3,4,5,6,7,8,9,10),
diminuindo a faixa de frequência entre eles e a
oscilação.
Sinal Digital
Protoboard
• Testes devem ser realizados numa placa de
prototipagem onde os componentes são
fixados sem a necessidade de solda.

Internamente, a placa tem comunicação


metálica conforme esquema acima.
Push-Button

Fonte:
http://blog.vidadesilicio.com.br/arduino/basico
/botoes/
Push-Button - Bounce
Eletrônica básica
Eletricidade é um fluxo (deslocamento) de elétrons por
um material bom condutor.
• Tensão ou voltagem (V) = a diferença de potencial
(ddp) entre dois pontos de um condutor. É medido
em V(volts).
• Corrente (i) = a quantidade de elétrons que passa
por segundo, num segmento do condutor. É medida
em A (amperes).
• Resistência (R) = a dificuldade oferecida pelo
material à passagem da corrente elétrica. É medida
em Ω (ohms).
LEDs
• O LED (Light Emitting Diode), por
ser um diodo e não uma lâmpada,
deixa passar a corrente num único
sentido.

• O LED RGB emite,


numa mesma peça,
as cores vermelho,
verde e azul e tem o
formato à direita:
Lei de Ohm
O Arduino:
• trabalha com tensão entre 1,8V a 5,5 V;
• as intensidade de corrente máxima serão de
aproximadamente 50 mA para 3 V a 300 mA
para 5V;
• e para obtermos o valor da resistência R,
usamos a Lei de Ohm:
𝑉
𝑉=𝑖𝑅 ou 𝑅=
𝑖
Exemplo de aplicação da Lei de Ohm
• Para conectar um LED no Arduino, necessitamos associá-lo
a um resistor para que a tensão de trabalho (5V) do
Arduino produza a corrente mais aproximada possível
daquela suportada pelo LED para que este não queime.
• Cada LED tem uma resistência interna. A Assim, se usarmos um LED verde podemos
condição ideal de trabalho são para os calcular o valor do resistor que deve ser
seguintes valores aproximados de 𝑉
associado, através da Lei de Ohm (𝑅 = 𝑖 )
tensão e corrente (i): 𝑉𝐹𝑂𝑁𝑇𝐸 − 𝑉𝐿𝐸𝐷
Tensão Corrente 𝑅=
LED 𝑖
5𝑉 − 2,1𝑉
Vermelho e 1,8 V 15mA = 𝑅=
0,015A 0,02 𝐴
infravermelho 𝑅 = 145 Ω (145 𝑜ℎ𝑚𝑠)
Verde, amarelo 2,1 V 20 a 25 mA
e laranja NOTA: Os resistores são apresentados em
valores fixos. Então opta-se por aquele mais
Azul e branco 2,7 V a 15 a 30 mA
4,2 V próximo. Neste caso, usa-se um de 100 Ω.
Resistores
• Resistores limitam a passagem de
corrente elétrica, impedindo que
alguns componentes venham a ser
danificados por excesso de tensão
elétrica.

Resistor de carvão
(Resistor de valor fixo)

Potenciômetro
(Resistor variável)
Imagem extraída de http://www.eletronicadidatica.com.br/
Capacitores
Transistores
Sensor de Temperatura

Fonte:
http://blog.vidadesilicio.com.br/arduino/basico
/lm35-medindo-temperatura-com-arduino/
Sensor de Luz

Fonte:
http://blog.vidadesilicio.com.br/arduino/basico
/sensor-de-luz-ldr/
Motor CC

Fonte: https://www.citisystems.com.br/motor-
cc/
Servomotor

Fonte: http://www.arduinoecia.com.br/2013/06/controlando-
um-servo.html
Diagramas
Conceitos Básicos
Software de Programação
Tools - seleciona o tipo de
Arduino e a porta COM
Serial Monitor –
Verify – compila a monitor de dados
programação
Sketch – palco da
Upload – envia a
programação
programação para o
Arduino
Setup e Loop
Pinos

Fonte:
httphttp://blog.vidadesilicio.com.br/arduino/ba
sico/entradas-e-saidas-digitais-2/
Pinos

Fonte:
httphttp://blog.vidadesilicio.com.br/arduino/ba
sico/entradas-e-saidas-digitais-2/
Delay

Fonte:
httphttp://blog.vidadesilicio.com.br/arduino/ba
sico/entradas-e-saidas-digitais-2/
Medindo tempo de Execução

Fonte:
httphttp://blog.vidadesilicio.com.br/arduino/ba
sico/entradas-e-saidas-digitais-2/
Exemplos de Projetos
LED com efeito fader
const int LED = 10;
int brilho = 0;
• 1 LED int fader = 5;
• 1 Resistor 100 ohms boolean acende = true;
boolean apaga = false;
• Jumpers.
void setup() {
pinMode(LED, OUTPUT); }

void loop() {
analogWrite(LED,brilho);
if (acende == true) {
if (brilho < 255) {
brilho = brilho + fader;
} else {
acende = false;
apaga = true;
}
}
if (apaga == true) {
if (brilho > 0) {
brilho = brilho - fader;
} else {
acende = true;
apaga = false;
}
}
delay (30);
}
Controle de um LED RGB
const int ledAzul = 8;
const int ledVerde = 9;
1 LED RGB
const int ledVermelho = 10;
3 resistores 330 ohm
Jumpers. void setup() {
pinMode(ledAzul,OUTPUT);
pinMode(ledVerde,OUTPUT);
pinMode(ledVermelho,OUTPUT);
}
void loop() {
digitalWrite(ledAzul,HIGH);
delay(500);
digitalWrite(ledAzul,LOW);
digitalWrite(ledVerde,HIGH);
delay(500);
digitalWrite(ledVerde,LOW);
digitalWrite(ledVermelho,HIGH);
delay(500);
digitalWrite(ledVermelho,LOW);
}
const int sensorPin = A0;
const int ledPin = 13;
int sensorValue = 0;
int sensorMin = 1023;
int sensorMax = 0;

Controle de um LED void setup() {


pinMode(13, OUTPUT);

com Sensor de Luz (LDR) digitalWrite(13, HIGH);


Serial.begin(9600);

while (millis() < 5000) {


sensorValue = analogRead(sensorPin);
1 LED if (sensorValor > sensorMax) {
sensorMax = sensorValue;
1 resistor 100 ohms }
1 resistor 1k ohms if (sensorValue < sensorMin) {
sensorMin = sensorValue;
1 LDR }
Jumpers. }
digitalWrite(13, LOW);
}

void loop() {
sensorValue = analogRead(sensorPin);
sensorValue = map(sensorValue, sensorMin,
sensorMax, 0, 255);
sensorValue = constrain(sensorValue, 0, 255);
analogWrite(ledPin, sensorValue);
{
int sensorValue = analogRead(A0);
Serial.println(sensorValue);
delay(1);}
}
Movimentando um motor de Corrente
Contínua com TIP
int MotorPin = 9;
1 Motor DC 5v.
1 Transistor TIP 122 ou TIP 120
void setup()
1 Resistor 2.2k ohms
{
1 Diodo IN4004 ou IN4007
pinMode(MotorPin, OUTPUT);
Jumpers.
}

void loop()
{
digitalWrite(MotorPin, HIGH);
delay(1000);
digitalWrite(MotorPin, LOW);
delay(1000);
}
Controle do Motor CC com Potenciômetro

int const potenciometro = 1;


int const transTIP120 = 10;
int valPotenciometro = 0;

void setup() {
pinMode(transTIP120, OUTPUT);
}
void loop() {
valPotenciometro = analogRead(potenciometro) / 4;
analogWrite(transTIP120, valPotenciometro);

}
Ponte H
Ponte H
Ponte H
Ponte H
Ponte H
Controle do Motor CC
Ponte H – L293D
#define chaveMudaSentRot 2
#define motorCCEnt1 3
#define motorCCEnt2 4
#define controleL293D 9
#define controleVelocPot 0
int potVelPotencia = 0;

void setup() {
pinMode(chaveMudaSentRot,INPUT);
pinMode(motorCCEnt1,OUTPUT);
pinMode(motorCCEnt2,OUTPUT);
pinMode(controleL293D,OUTPUT);
}
void loop() {
potVelPotencia = analogRead(controleVelocPot) / 4;

analogWrite(controleL293D,potVelPotencia);

if (digitalRead(chaveMudaSentRot) == HIGH) {
digitalWrite(motorCCEnt1,LOW);
digitalWrite(motorCCEnt2,HIGH);
} else {
digitalWrite(motorCCEnt1,HIGH);
digitalWrite(motorCCEnt2,LOW);
}
}
Controle do Servomotor
Ver Links
• http://blog.vidadesilicio.com.br/apostila-
arduino-basico/
• https://www.arduino.cc/en/Main/Software
• https://www.youtube.com/watch?v=TphX2gH
BeCA
• http://fritzing.org/home/

Você também pode gostar