Académique Documents
Professionnel Documents
Culture Documents
LED Blink
Este o exemplo mais simples que voc pode fazer com um Arduino para
visualizar uma sada fsica (LED do Pino D13).
Dificuldade:
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
A Montagem
O Sketch
pino
13(LED)
como
sada
}
void loop()
{
digitalWrite(LED, HIGH); //Liga
delay(1000); //Aguarda
digitalWrite(LED, LOW); //Apaga
delay(1000); //Aguarda
o
1
o
1
LED
segundo
LED
segundo
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 10k
LED
Alguns Jumpers
A Montagem
O Sketch
int led
=
9; //
pino
onde
o
LED
vai
estar
ligado
int brilho = 0; // varivel que armazena a quatidade de brilho do LED.
int fade = 5; // determina a variao entre cada degrad que o LED ser acesso
void setup()
//
configura
o
pinMode(led, OUTPUT);
}
{
pino
como
sada
digital
void loop()
{
// Envia um PWM proporcional ao valor do brilho para o LED ligado ao pino 9:
analogWrite(led,
brilho);
// Altera o brilho para no prximo loop alterar o brilho do LED
brilho = brilho + fade;
// Inverte a direo do Fade caso ultrapasse os limites da escala do
analogWrite()
if (brilho
==
0
||
brilho
==
255)
{
fade = -fade ;
}
// Espera 30 milisegundos para controlar e dar o efeito de fade
delay(30);
}
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 10k
LEDs
Alguns Jumpers
A Montagem
O Sketch
#define ledYellow 10
void setup()
//Inicializa
comunicao
Serial.begin(9600);
Serial
//Configura
os
pinos
pinMode(ledRed, OUTPUT);
pinMode(ledGreen, OUTPUT);
pinMode(ledYellow,OUTPUT);
dos
LEDs
9600
como
sada
{
dado
e
no
conector
0)
{
armazena na varivel
serial
leitura
//Se a varivel leitura for igual a 'r' ou 'R' Inverte o valor do LED vermelho
if (leitura == 'r' || leitura =='R'){// As duas || a operao booleana OU
digitalWrite(ledRed,!digitalRead(ledRed));
}
//Se ela for igual a 'g' ou 'G' Inverte o valor do LED Verde
else if (leitura
== 'g' ||
leitura
digitalWrite(ledGreen,!digitalRead(ledGreen));
}
//Se ela for igual a 'y' ou 'Y' Inverte o valor do LED Verde
else if (leitura
== 'y' ||
leitura
digitalWrite(ledYellow,!digitalRead(ledYellow));
}
=='G'){
=='Y'){
Serial.println(leitura);
}
}
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 10k
Chave Tctil
Alguns Jumpers
A Montagem
O Sketch
void setup()
{
pinMode(CHAVE, INPUT); //Configura o pino 2 como entrada
Serial.begin(9600); //Habilita a porta Serial com um Baud Rate de 9600
}
void loop()
{
if(digitalRead(CHAVE)) //Se o boto for pressionado
{
Serial.println("Botao Pressionado\n"); //Imprime no Serial Monitor "Boto
Pressionado"
}
else //Seno
{
Serial.println("Botao Despressionado\n"); // Imprime no Serial Monitor "Boto
Despressionado"
}
delay(250); //Delay de 250 milissegundos
}
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 10k
Chave Tctil
Alguns Jumpers
A Montagem
O Sketch
0;
0;
{
os
onde
pinos
, OUTPUT);
os
botes
dos
LED:
esto
conectados
//
L
o
valA = digitalRead(botaoA);
valB = digitalRead(botaoB);
estado
dos
Botes
//
digitalWrite(ledXOR,
valA
^
digitalWrite(ledOU
,
valA
|
digitalWrite(ledE
,
valA
&
valB); //
valB); //
valB); //
Operador
Operador
Operador
^
|
&
XOR
OU
E
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Potencimetro 10k
Chave Tctil
Alguns Jumpers
A Montagem
O Sketch
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 10k
LED
Alguns Jumpers
A Montagem
O Sketch
{
Configura
pino
do
LED
como
sada
}
void loop()
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 10k
Termistor NTC 10k
Alguns Jumpers
A Montagem
Biblioteca
Para instalar a biblioteca, abra o
Sketch -> Import Library -> Add Library.
Arduino
IDE
clique
na
aba
Para baixar o aquivo a ser importado para a biblioteca do Arduino: Clique Aqui!
O Sketch
#include <Thermistor.h>
Thermistor temp(0);
void setup()
Serial.begin(9600);
}
void loop()
{
int temperature
Serial.print("Temperatura
Serial.print(temperature);
delay(1000);
=
no
temp.getTemp();
Sensor
eh:
Serial.println("*C");
");
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 330
Resistor 10K
LDR
LED Vermelho
Alguns Jumpers
A Montagem
O Sketch
//=================
amostra = amostra/100; //Tira a mdia das amostras
Serial.print("Luminosidade = "); //Imprime na serial "Luminosidade = "
Serial.print(amostra, 0); //Imprime a amostra sem casas decimais
Serial.println("%"); //Imprime o smbolo de porcentagem
if(amostra < 30) //Se a luminosidade estiver abaixo de 30%
{
digitalWrite(led,HIGH); //Liga o LED
}
else //Seno
{
digitalWrite(led,LOW); //Desliga o LED
}
delay(250); //Delay de 250 milissegundos
}
Semforo
Com este exemplo, conseguir simular o funcionamento de um semforo,
utilizando LEDs e um boto para ativar o semforo de pedestre.
Dificuldade:
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 330
Resistor 10K
Chave Tctil
LED Vermelho
LED Amarelo
LED Verde
Alguns Jumpers
A Montagem
O Sketch
Bargraph de LDR
Com este exemplo voc aprender como criar um bargraph com LED e faz-lo
acender de maneira proporcional a intensidade da luminosidade em cima do LDR.
Dificuldade:
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 330
Resistor 10K
LDR
LED Vermelho
LED Amarelo
LED Verde
Alguns Jumpers
A Montagem
O Sketch
}
void loop()
{
amostra = 0; //Zera a varivel amostra
//Pega 1000 amostras
for(int i=0; i < 100 ; i++)
{
luminosidade = analogRead(LDR);//Armazena o valor lido pelo
LDRluminosidade = (luminosidade / 1024) * 100; //Transforma o valor lido em
porcentagem
amostra = amostra + luminosidade; //Armazena na varivel amostra
}
//=================
amostra = amostra/100; //Tira a mdia das amostras
delay(250); //Delay de 250 milissegundos
bargraph(); //Vai para a funo do Bargraph e depois volta
}
void bargraph()
{
if(amostra >= 10) digitalWrite(L_1, HIGH); //Aciona o L_1 se luminosidade for maior
ou igual que 10%
else digitalWrite(L_1, LOW); //Seno desliga o L_1
if(amostra >= 20) digitalWrite(L_2, HIGH); //Aciona o L_2 se luminosidade for maior
ou igual que 20%
else digitalWrite(L_2, LOW); //Seno desliga o L_2
if(amostra >= 30) digitalWrite(L_3, HIGH); //Aciona o L_3 se luminosidade for maior
ou igual que 30%
else digitalWrite(L_3, LOW); //Seno desliga o L_3
if(amostra >= 40) digitalWrite(L_4, HIGH); //Aciona o L_4 se luminosidade for maior
ou igual que 40%
else digitalWrite(L_4, LOW); //Seno desliga o L_4
if(amostra >= 50) digitalWrite(L_5, HIGH); //Aciona o L_5 se luminosidade for maior
ou igual que 50%
else digitalWrite(L_5, LOW); //Seno desliga o L_5
if(amostra >= 60) digitalWrite(L_6, HIGH); //Aciona o L_6 se luminosidade for maior
ou igual que 60%
else digitalWrite(L_6, LOW); //Seno desliga o L_6
if(amostra >= 70) digitalWrite(L_7, HIGH); //Aciona o L_7 se luminosidade for maior
ou igual que 70%
else digitalWrite(L_7, LOW); //Seno desliga o L_7
if(amostra >= 80) digitalWrite(L_8, HIGH); //Aciona o L_8 se luminosidade for maior
ou igual que 80%
else digitalWrite(L_8, LOW); //Seno desliga o L_8
if(amostra >= 85) digitalWrite(L_9, HIGH); //Aciona o L_9 se luminosidade for maior
ou igual que 85%
else digitalWrite(L_9, LOW); //Seno desliga o L_9
if(amostra >= 95) digitalWrite(L_10, HIGH); //Aciona o L_10 se luminosidade for
maior ou igual que 90%
else digitalWrite(L_10, LOW); //Seno desliga o L_10
}
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 330
Resistor 10k
Chave Tactil
LED Verde
Alguns Jumpers
A Montagem
O Sketch
comunicao
serial
pinMode(b1, INPUT); //
pinMode(b2, INPUT); //
pinMode(b3, INPUT); //
pinMode(b4, INPUT); //
pinMode(b5, INPUT); //
pinMode(ledSenhaOk, OUTPUT); //Led
digitalWrite(ledSenhaOk,LOW);
}
void loop()
{
que
Indica
Senha
correta
uma
varivel
para a
validao
do
dgitos
da senha
}
else if (digitalRead(b2)== HIGH){
senha[i] = '2';
//Serial.print("2");
i++;
while (digitalRead (b2)
{
}
==HIGH)
}
else if (digitalRead(b3)== HIGH){
senha[i] = '3';
//Serial.print("3");
i++;
while (digitalRead (b3)
{
}
==HIGH)
}
else if (digitalRead(b4)== HIGH){
senha[i] = '4';
//Serial.print(senha[i]);
i++;
while (digitalRead (b4)
{
}
==HIGH)
}
else if (digitalRead(b5)== HIGH){
senha[i] = '5';
//Serial.print("5");
i++;
while (digitalRead (b5)
{
}
==HIGH)
}
}
}
Contador binrio
Com este contador binrio, voc poder treinar os conceitos de eletrnica digital,
fazendo uma contagem binria com que mostrada nos LEDs conectados ao
Arduino.
Dificuldade:
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 330
LEDs
Alguns Jumpers
A Montagem
O Sketch
os
os
}
void loop()
{
contador++; //Incrementa
varivel
de
contagem
200
milissegundos
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 330
LDR
LED Vermelho
Potencimetro 10k
Alguns Jumpers
A Montagem
Software
O software pode ser baixado neste link
O Sketch
O Sketch est disponvel na prpria interface Arduino IDE: Files > Examples >
Firmata > StandardFirmata
Dado eletrnico
Com este exemplo voc criar um dado eletrnico, onde o mesmo fica sendo
embaralhado e ao ser pressionado o boto do circuito ele sorteia um nmero de 1
a 6 e demonstra nos LEDs qual o nmero que foi sorteado.
Dificuldade:
Montagem:
Programao:
Material Utilizado:
Arduino Uno
Cabo USB A para B
Protoboard 400
Resistor 330
Resistor 10K
Chave Tctil
LED Vermelho
LED Amarelo
LED Verde
Alguns Jumpers
A Montagem
O Sketch
{
dois(); //Vai para a funo que desenha o 2 no dado
}
else if(sorteio == 3) //Seno se o nmero sorteado for 3
{
tres(); //Vai para a funo que desenha o 3 no dado
}
else if(sorteio == 4) //Seno se o nmero sorteado for 4
{
quatro(); //Vai para a funo que desenha o 4 no dado
}
else if(sorteio == 5) //Seno se o nmero sorteado for 5
{
cinco(); //Vai para a funo que desenha o 5 no dado
}
else if(sorteio == 6) //Seno se o nmero sorteado for 6
{
seis(); //Vai para a funo que desenha o 6 no dado
}
}
}
void um() //Funo que desenha o 1 no no dado
{
apaga(); //Vai para a funo que limpa o dado
digitalWrite(B_2, HIGH); //Acende o LED do pino 6
delay(3000); //Aguarda 3 segundos
}
void dois() //Funo que desenha o 2 no no dado
{
apaga(); //Vai para a funo que limpa o dado
digitalWrite(A_1, HIGH); //Acende o LED do pino 2
digitalWrite(C_3, HIGH); //Acende o LED do pino 10
delay(3000); //Aguarda 3 segundos
}
void tres() //Funo que desenha o 3 no no dado
{
apaga(); //Vai para a funo que limpa o dado
digitalWrite(A_1, HIGH); //Acende o LED do pino 2
digitalWrite(B_2, HIGH); //Acende o LED do pino 6
digitalWrite(C_3, HIGH); //Acende o LED do pino 10
delay(3000); //Aguarda 3 segundos
}
void quatro() //Funo que desenha o 4 no no dado
{