Sensor Ultrassônico com LED de 7 pontos
Publicado por victor (última atualização em 03/12/2018)
[ Hits: 3.202 ]
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
Script para escrever uma palavra em ASCI
Configurações gerais de rede em Debian Server
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 e usando o Dconf Editor, o "regedit" para Linux
Como instalar o navegador TOR no seu Linux
Instalando Zoom Client no Ubuntu 24.04 LTS
Encriptografa... as particoes com LUKS, o que poderia dar errado? (0)
Qual a relevancia dos valores de bogomips com os Mhz e Ghz[DUVIDA] (2)