Sensor Ultrassônico com LED de 7 pontos
Publicado por victor (última atualização em 03/12/2018)
[ Hits: 3.721 ]
Homepage: kkk
Programa que, utilizando o sensor ultrassônico, percebe quando algum objeto está próximo em 3 diferentes distâncias, acende três específicos leds; e também, em 8 diferentes distâncias, escreve números referentes à distância no momento utilizando o led de 7 pontos.
#include<Ultrassonic.h>
Ultrassonic ultrassonic(8,9);
long microsec = 0
float distanciaCM = 0
void setup()
{
Serial.begin(9600);
//Definindo os pontos do led de 7 pntos
pinMode(0,OUTPUT);
pinMode(1,OUTPUT);
pinMode(2,OUTPUT);
pinMode(3,OUTPUT);
pinMode(4,OUTPUT);
pinMode(5,OUTPUT);
pinMode(6,OUTPUT);
pinMode(7,OUTPUT);
//Definindo os leds comuns
pinMode(13,OUTPUT);
pinMode(12,OUTPUT);
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
}
void loop()
{
microsec = ultrassonic.timing();
distanciaCM = ultrassonic.convert(microsec, Ultrassonic::CM);
ledDistancia();
Serial.print(distanciaCM);
seria.println("cm");
delay(1000);
}
void ledDistancia()
{
digitalWrite(13,LOW);
digitalWrite(12,LOW);
digitalWrite(11,LOW);
if(distanciaCM >= 40)
{
//Quando a distancia for maior que 40, acender led da porta 13
digitalWrite(13,HIGH);
}
if(distanciaCM < 40 and distanciaCM >=30)
{
//Quando a distancia estiver entre 40 e 30, acender o led da porta 12
digitalWrite(12,HIGH);
}
if(distanciaCM <30 and distanciaCM >=0)
{
//Quando a distancia estiver entre 30 e 0, acender o led da porta 11
digitalWrite(11,HIGH);
}
//Agora vamos para o led de 7 pntos
if(distanciaCM < 10)
{
//Quando a distancia for menor que 10, escrever 0
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,HIGH);
digitalWrite(g,LOW);
digitalWrite(h,LOW); //H é um ponto
}
if(distanciaCM > 10 and distanciaCM <= 20)
{
//Quando a distancia estiver entre 10 e 20, escrever 1
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(h,LOW);
}
if (distanciaCM > 20 and distanciaCM <=30)
{
//Quando a distancia estiver entre 20 e 30, escrever 2
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,LOW);
digitalWrite(d,HIGH);
digitalWrite(e,HIGH);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
digitalWrite(h,LOW);
}
if (distanciaCM > 30 and distanciaCM <= 40)
{
//Quando a distancia estiver entre 30 e 40, escrever 3
digitalWrite(a,HIGH);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,HIGH);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,HIGH);
digitalWrite(h,LOW);
}
if (distanciaCM > 40 and distanciaCM <= 50)
{
//Quando a distancia estiver entre 40 e 50, escrever 4
digitalWrite(a,LOW);
digitalWrite(b,HIGH);
digitalWrite(c,HIGH);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,HIGH);
digitalWrite(g,HIGH);
digitalWrite(h,LOW);
}
if (distanciaCM >= 50)
{
//Quando a distancia for maior que 50, acender o ponto h
digitalWrite(a,LOW);
digitalWrite(b,LOW);
digitalWrite(c,LOW);
digitalWrite(d,LOW);
digitalWrite(e,LOW);
digitalWrite(f,LOW);
digitalWrite(g,LOW);
digitalWrite(h,HIGH);
}
}
Substituindo o comando delay() por uma pausa real
Obtendo o valor máximo e mínimo de um array em Arduino
Substituindo o comando delay() por uma pausa real
Nenhum comentário foi encontrado.
O Editor de Texto Nano: Simplicidade no Terminal
SynapSeq - programa para estimular as ondas cerebrais
Por que seu __DIR__ falhou ou o "inferno" dos caminhos no PHP
Preparando-se para certificações da LPI através do LPI Lab
Migração de Arch Linux para repositórios CachyOS (Uso de Instruções v3 e v4)
Jogando "Magic" gratuitamente no Linux
Zoxide e fzf no bash para incrementar o uso do Terminal
As diferencas entre o clipboard comum e a selecao ativa
Arch Linux com repos do CachyOS para otimização ou usar Gentoo?
Eu aprendi o segredo das artes! hahaha (4)
A falsa sensação de que entende a tal da palavra! (0)
Como instalo o Clipper/Harbour no Linux Ubuntu (0)









