Soundsensor
guten nachmittag allerseits. ich habe hier eine schaltung wo verschiedene aufgaben darstellt mit einfachen sensoren. die erste zwei aufgaben funktionieren auch ganz gut, die 1. aufgabe währe ein distanzmesser und und die zweite ein lichtsesnsor ein lcd-display erklärt dir die aufgaben die du machen musst. jetzt wollte ich aber noch eine dritte aufgabe hinten dran hängen bei der man klatschen muss.
habe die schaltung für das klatschen mit einem soundsensor aus dem internet. https://drive.google.com/file/d/0b27c2bryuv06wetuci1pnk9omlu/view
einzeln hab ich dass auch getestet und es funktioniert auch jetzt wollte ich eben ,mit dem alten programm zusammen fügen (2 aufgaben).
aber der soundsensor spinnt irgendwie rum und macht nicht dass er soll hier meine lange schaltung:
vielen dank für die hilfe
challenger
habe die schaltung für das klatschen mit einem soundsensor aus dem internet. https://drive.google.com/file/d/0b27c2bryuv06wetuci1pnk9omlu/view
einzeln hab ich dass auch getestet und es funktioniert auch jetzt wollte ich eben ,mit dem alten programm zusammen fügen (2 aufgaben).
aber der soundsensor spinnt irgendwie rum und macht nicht dass er soll hier meine lange schaltung:
code: [select]
#include <liquidcrystal.h>
#include "sr04.h"0.
#define trig_pin 3
#define echo_pin 2
int buttonpin = 6;
int led3 = 13;
int clap = 0;
long detection_range_start = 0;
long detection_range = 0;
boolean status_lights = false;
sr04 sr04 = sr04(echo_pin, trig_pin);
long a;
int led1 = 4;
int led2 = 5;
int wert = 0;
liquidcrystal lcd(7, 8, 9, 10, 11, 12);
void setup() {
lcd.begin(16, 2);
serial.begin(9600);
pinmode(led1, output);
pinmode(led2, output);
pinmode(buttonpin, input);
pinmode(led3, output);
}
void loop() {
lcd.setcursor(3, 0);
lcd.print("geocaching");
lcd.setcursor(3, 1);
lcd.print ("wilkommen!");
delay(2500);
lcd.clear();
lcd.setcursor(3, 0);
lcd.print("1. aufgabe");
delay(2500);
lcd.clear();
lcd.setcursor(2, 0);
lcd.print ("hebe die box");
lcd.setcursor(4, 1);
lcd.print ("um 10cm!");
delay(2500);
lcd.clear();
= sr04.distance(); //ab hier beginnt der ultraschall-distanzmesser zu messen.
serial.print(a);
serial.println("cm");
if (a >= 10 && <= 12) { //wenn die entfernung eines gegenstandes zwischen 10cm und 12cm liegt schlatet die erste led an.
digitalwrite(led1, high);
lcd.setcursor(3, 0);
lcd.print("sehr gut ;d");
delay(2500);
lcd.clear();
lcd.setcursor(3, 0);
lcd.print("2. aufgabe");
delay(2500);
lcd.clear();
lcd.setcursor(3, 0);
lcd.print ("verdunkle");
lcd.setcursor(3, 1);
lcd.print ("das loch!");
}
while (digitalread(led1) == high) { //da die erste aufgabe fertig ist fängt die zweite an, eine photozelle misst den widerstand .
wert = analogread(a0);
serial.println(wert);
delay(15);
if (wert < 300) { //ist der wert unter 300 die photozelle wird verdunkelt schaltet die zweite led an.
digitalwrite(led2, high);
delay(100);
lcd.clear();
lcd.setcursor(5, 0);
lcd.print("bravo!");
delay(2500);
lcd.clear();
lcd.setcursor(3, 0);
lcd.print("3. aufgabe");
delay(2500);
lcd.clear();
lcd.setcursor(4, 0);
lcd.print ("klatsch");
lcd.setcursor(4, 1);
lcd.print ("klatsch!");
}
}
while (digitalread(led2) == high) {
int status_sensor = digitalread(buttonpin); //mit zwei mal klatschen sollte die 3. led angehen
if (status_sensor == 0)
{
if (clap == 0)
{
detection_range_start = detection_range = millis();
clap++;
}
else if (clap > 0 && millis() - detection_range >= 50)
{
detection_range = millis();
clap++;
}
}
if (millis() - detection_range_start >= 400)
{
if (clap == 2)
{
if (!status_lights)
{
status_lights = true;
digitalwrite(led3, high);
}
}
clap = 0;
}
}
}
vielen dank für die hilfe
challenger
ist die zeile wirklich gewollt?code: [select]
detection_range_start = detection_range = millis();
Arduino Forum > International > Deutsch (Moderator: uwefed) > Soundsensor
arduino
Comments
Post a Comment