Sensor Ultrassônico com LED de 7 pontos
Publicado por victor (última atualização em 03/12/2018)
[ Hits: 3.633 ]
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
Calsse eveFile: manipulação de arquivos
Nenhum comentário foi encontrado.
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Como quebrar senha usando john the ripper
[Resolvido] VirtualBox can't enable the AMD-V extension
Como verificar a saúde dos discos no Linux
Como instalar , particionar, formatar e montar um HD adicional no Linux?
Podem me chamar de 1mbecil :) (25)
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (1)
Não consigo instalar distro antiga no virtualbox nem direto no hd (18)









