Sensor Ultrassônico com LED de 7 pontos
Publicado por victor (última atualização em 03/12/2018)
[ Hits: 3.479 ]
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.
Customizar a Instalação do Linux Debian com Preseed
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Sem espaço na partição home (7)
Aprendendo mais sobre Linux com livro (6)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (6)