Sensor Ultrassônico com LED de 7 pontos
Publicado por victor (última atualização em 03/12/2018)
[ Hits: 3.201 ]
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.
Atualizar o macOS no Mac - Opencore Legacy Patcher
Crie alias para as tarefas que possuam longas linhas de comando - bash e zsh
Criando um gateway de internet com o Debian
Configuração básica do Conky para mostrar informações sobre a sua máquina no Desktop
Aprenda a criar músicas com Inteligência Artificial usando Suno AI
Instalando Zoom Client no Ubuntu 24.04 LTS
Instalando Zoom Client no Fedora 40
Instalando Navegador Firefox no Debian 12
Bloqueando propagandas no Youtube e outros sites com o uBlocker Origin
Sistema da Coréia do Norte - Red Star OS (59)
Comando interno CD não funciona (16)
Dificuldade em ler binário (12)
Em que pasta/arquivo ficam as configurações das janelas em derivados d... (2)