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

Exibições: 6920

Responder esta

Respostas a este tópico

ve se esse funciona..

Anexos

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

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço