Sensor Ultrassônico com LED de 7 pontos
Publicado por victor (última atualização em 03/12/2018)
[ Hits: 3.574 ]
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
Simulador de Escalonamento de Processos
Nenhum comentário foi encontrado.
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Atualizando o Fedora 42 para 43
Como saber se o seu e-mail já teve a senha vazada?
Como descobrir se a sua senha já foi vazada na internet?
Problemas com Driver NVIDIA (5)
Warcraft II Remastered no Linux? (8)
Instalação dualboot Windows 11 e Debian 13 (7)









