Sensor Ultrassônico com LED de 7 pontos
Publicado por victor (última atualização em 03/12/2018)
[ Hits: 3.595 ]
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.
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Ativando e usando "zoom" no ambiente Cinnamon
Vídeo Nostálgico de Instalação do Conectiva Linux 9
Como realizar um ataque de força bruta para desobrir senhas?
existe algum hub de jogos online similiar ou igual dos browser (6)
Como botar o efeito de deslocar janelas (win + setas - windows) no lin... (0)
Thinkpads são bons mesmo ?! (3)
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (2)









