OK, dann mal Butter bei die Fische.
Der ARDUINO basiert üblicherweise auf einem ATMEL AVR Controller.
Bei diesen lassen sich die Ports als Eingänge nutzen und Pull Up's Softwaremässig aktivieren.
Der Schalter sollte also gegen Masse schalten.
Wenn die Leitung zum Schalter doch etwas länger ist ( >1..2m ) würde ich die Pullups als echte Widerstände an den Prozessorpin bauen, da die internen Pullups doch relativ hochohmig sind und deshalb auch bei Einstreuungen 50Hz ?! versehentlich der Port aktiviert werden könnte. ( Bei offenem Schalter ).
Der Rest ist eine Zeitschleife die man entweder über delay Befehle oder mit einem der internen Timer lösen kann.
Wobei ich persönlich die Timer Variante bevorzugen würde, auch wenn man dazu mit Interrupts arbeiten muß.
Ist die Türe offen wird eine Variable im Timer Interrupt hochgezählt.
Ist die Türe zu wird die Variable auf 0 gesetzt.
Wurde bei offener Tür ein Schwellwert der 30sek entspricht von der Variable überschritten wird der Alarm ausgegeben.
Was dann mal bei ausgelöstem Alarm passieren soll, kannst Du selber entscheiden.
a. Alarm bleibt an bis Türe wieder geschlossen wird.
b. Alarm wird 30 sek ausgegeben und dann abgeschaltet, obwohl die Türe noch offen ist.
c. Alarm lässt sich nicht wieder löschen, ausser durch betätigen einer extra Lösch Taste.
d....
e..... usw.
Diese Varianten hast Du bei einer NE555 Lösung ohne zusätzliche Hardware nicht!
Lesezeichen