Arduino
Arduino
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.
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.
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;
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
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/