Sensor Ultrassônico com LED de 7 pontos
Publicado por victor (última atualização em 03/12/2018)
[ Hits: 3.669 ]
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
Substituindo o comando delay() por uma pausa real
Obtendo o valor máximo e mínimo de um array em Arduino
Calcula o raio de um objeto cilindrico
Nenhum comentário foi encontrado.
LazyDocker – Interface de Usuário em Tempo Real para o Docker
Instalando COSMIC no Linux Mint
Turbinando o Linux Mint: o poder das Nemo Actions
Inteligência Artificial no desenvolvimento de software: quando começar a usar?
[Resolvido] Algo deu errado ao abrir seu perfil
Usando o VNSTAT para medir o seu consumo de internet
Habilitando clipboard manager no ambiente COSMIC
Quando vocês pararam de testar distros? (14)
Problema com som no laptop (3)
Não estou conseguindo fazer funcionar meu Postfix na versão 2.4 no Deb... (2)









