Prezados, sou iniciante.
O codigo abaixo, funciona, mas gostaria de incrementar nele, apenas umas linhas, onde:
CASO A DISTANCIA FOR MENOR QUE 10 CM, ACENDERIA UM LED, LAMPADA E ETC..
Alguem pode fazer isso aí pra eu.
Desde ja, agradeço
#include <Ultrasonic.h>
#define echoPin 13 //Pino 13 recebe o pulso do echo
#define trigPin 12 //Pino 12 envia o pulso para gerar o echo
//iniciando a função e passando os pinos
Ultrasonic ultrasonic(12,13);
void setup()
{
Serial.begin(9600); //inicia a porta serial
pinMode(echoPin, INPUT); // define o pino 13 como entrada (recebe)
pinMode(trigPin, OUTPUT); // define o pino 12 como saida (envia)
}
void loop()
{
//seta o pino 12 com um pulso baixo "LOW" ou desligado ou ainda 0
digitalWrite(trigPin, LOW);
// delay de 2 microssegundos
delayMicroseconds(2);
//seta o pino 12 com pulso alto "HIGH" ou ligado ou ainda 1
digitalWrite(trigPin, HIGH);
//delay de 10 microssegundos
delayMicroseconds(10);
//seta o pino 12 com pulso baixo novamente
digitalWrite(trigPin, LOW)
// função Ranging, faz a conversão do tempo de
//resposta do echo em centimetros, e armazena
//na variavel distancia
int distancia = (ultrasonic.Ranging(CM));
Serial.print("Distancia em CM: ");
Serial.println(distancia);
delay(1000); //espera 1 segundo para fazer a leitura novamente
}
FIM
Tags:
ve se esse funciona..
Ola Diego, não consegui baixar o anexo.
Deu acesso negado.
Muito obrigado Diego.
Vou testa agora.
Abraços
Olá amigos, não tive sucesso com esse codigo, entretanto encontrei um que funcionou( achei bem simples ), mas preciso de uma modificaçãozinha.
O codigo abaixo toca uma sirene da policia....
Na realidade preciso que ao invés de tocar a sirene da policia ele simplesmente ascenda um LED( sem tocar a sirene )
Desde já agradeço
Segue o código:
// ALARME COM ARDUINO E SENSOR ULTRASSONICO
#define trigPin 12 // Declara constante trigPin
#define echoPin 13 // Declara constante como echoPin
#define tempo 10 // Declara constante de tempo
int frequencia = 0; // Inicializa variável de frequência em 0
int Buzzer = 10; // Inicializa buzzer no pino 10
int duration, distance; // Inicializa variável de distância e tempo
void setup() {
Serial.begin (9600);
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
pinMode(Buzzer, OUTPUT);
}
void loop() {
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
distance = (duration / 2) / 29.1; // Define base do cálculo de conversão
if (distance >= 40 || distance <= 0) { // Define as distâncias bases de verificação
Serial.println("Cesta protegida");
digitalWrite(Buzzer, LOW);
}
else {
Serial.println("Pessoa Detectada");
Serial.print("Distância= ");
Serial.print(distance); // Imprime o valor da distância no Monitor Serial
for (frequencia = 150; frequencia < 1800; frequencia += 1) { // Tone que produz sirene de polícia
tone(Buzzer, frequencia, tempo);
delay(3);
}
for (frequencia = 1800; frequencia > 150; frequencia -= 1) { // Tone que produz sirene de polícia
tone(Buzzer, frequencia, tempo);
delay(3);
}
}
}:
Bom dia Sr. M,
Recomendações:
1. Remova seu sketch da área de texto do tópico;
2. Leia http://labdegaragem.com/forum/topics/sugest-o-de-como-postar
3. Comente as linhas do seu sketch. Fica mais fácil entender o que vc quer fazer com cada linha
e facilita a ajuda.
4. Clique em : " Deseja carregar arquivos? " e depois em " Escolher arquivo" e anexe o arquivo
com o seu sketch.
RV
Bem-vindo a
Laboratorio de Garagem (arduino, eletrônica, robotica, hacking)
© 2024 Criado por Marcelo Rodrigues. Ativado por