Habe vor kurzem das Arduino Mega "Set" bekommen und versuche gerade mit dem Arduino Mega und einem kleinem Sound Sensor Modul einen "Klatsch Schalter" zu bauen.
Was das Programmieren angeht bin ich eine 0 ^^
Ich würde gerne mit dem Ersten Klatschen eine Led einschalten und mit dem 2ten klatschen wieder ausschalten
Das sketch von mir ist von Youtube und funktioniert soweit aber eben nur um die LED für 10 sek einzuschalten...
Ich dachte da an die INT COUNT funktion aber ich kenn mich da echt nicht so gut aus ... bin gerade am "Lernen"
const int ledpin=A3; // ledpin and soundpin are not changed throughout the process
const int soundpin=A2;
const int threshold=200; // sets threshold value for sound sensor
void setup() {
Serial.begin(9600);
pinMode(ledpin,OUTPUT);
pinMode(soundpin,INPUT);
}
void loop() {
int soundsens=analogRead(soundpin); // reads analog data from sound sensor
if (soundsens>=threshold) {
digitalWrite(ledpin,HIGH); //turns led on
delay(10000);
}
else{
digitalWrite(ledpin,LOW);
}
}
Du brauchst keine Zählfunktion, sondern eine Statusvariable, die beim ersten Klatschen gesetzt wird,, beim zweiten Klatschen geprüft und gelöscht wird.
Dein Sketch ist falsch eingebunden.
Setze den bitte in Code-Tags, dann können alle den richtig lesen.
Dann gewöhne Dir unbedingt an, Deine Programme durch einheitliche Klammersetzung und Einrückungen so zu gestalten, dass die Struktur des Codes schon zu sehen ist, bevor man den Text lesen kann. Das entlastet beim Lesen und ist bei der Fehlersuche Gold wert!
Gruß
Gregor
PS: Mein nächstes Weekender-Getexte wird wohl genau davon handeln. Das ist bei vielen Leuten, die hier aufschlagen, ein echtes Problem.
Was macht denn Dein Code gerade?
Er prüft, ob am Analog-In ein Signal > 'threshold' gemessen wird.
Dann wird der Ausgang EIN geschaltet, stur 10 Sekunden gewartet und dann der Ausgang wieder AUS geschaltet.
Du willst, daß bei JEDEM Klatschen (also Analog-On > 'threshold') das Signal 'umgedreht' wird.
Dafür musst Du wissen, ob die LED gerade an oder aus ist.
Wenn AN -> AUS machen (und umgekehrt) - weiter merkst Du Dir, wie die LED JETZT geschaltet wurde.
Dann solltest Du noch die Dauer des Klatschen warten, damit dieses Klatschen jetzt nicht doppelt/mehrfach erkannt wird.
Wie lange dauert ein Klatschen?
Laut Der Schnellste Klatscher der Welt!!!!, YouTube, könnte Das schon recht kurz rein - kA, vll. eine 20ms Pause?
(Fand dort nicht, wie oft Der Typ da wirklich in der Sekunde klatscht)