Heute ist ganz schön was gegangen! Der Bewegungsmelder wurde integriert – das schreibt sich leider leichter als es ist, denn es hat schon etwas gedauert bis die Hardware so eingestellt war dass alles gepasst hat. Für den Bewegungsmelder wurde auch gleich noch ein Gehäuse gedruckt, damit das Projekt gleich einen leicht professionellen Touch kriegt.
Wenn eine Bewegung erkannt wird, dann fängt das Piezo-Element an 5 Sekunden unerträglich zu piepsen. (5 Sekunden unerträgliches Gepiepse können lang sein!) Das ist insgesamt keine großartige deutsche Ingenieursleistung aber für einen fränkischen Powerpoint-Informatiker nicht schlecht. Der Code ist bestimmt um 8 bis 10 Zeilen angewachsen, das kann sich sehen lassen, bietet aber noch genug Raum für Verbesserungen:
int piezo=D5;
int bewegung=D7;
int bewegungsstatus=0;
int alarm_cnt=0;
void setup() {
pinMode(piezo, OUTPUT);
pinMode(bewegung, INPUT);
Serial.begin(9600);
Serial.println("Serieller Monitor gestartet");
}
void loop() {
bewegungsstatus=digitalRead(bewegung);
if (bewegungsstatus == HIGH){
alarm_cnt++;
Serial.println(String ("Bewegung ") + alarm_cnt);
tone(D5, 2000); //unerträglicher Ton: 2000, erträglich 1000
delay(5000);
noTone(D5);
}else{
Serial.println(".");
}
}
Was kann jetzt noch schief laufen? Klar, der Specht könnte zu klein sein um erkannt zu werden, das wäre blöd. Als nächstes muss das Gehäuse noch verbessert werden, da muss das Piezo-Element noch mit rein und das Verbindungskabel zum Board könnte auch eine leichte Optimierung vertragen. Wenn das dann alles passt kann alles unter dem Fensterbrett montiert werden. So der Plan.
Ist der Ton im Haus hörbar?
Für mich nicht. Für die mit den großen Ohren schon.