Arduino/ c++ impulsschaltung?
Hallo ich versuche einen Controller mit einem Arduino zu programmieren, das Problem ist das ich schalter habe und wenn diese geschaltet sind ein dauerhaft gedrücktes signal zum Computer geht und er schaltet z.b. in spielen die Funktion dauern an und aus solange der Schalter gedrückt ist.
hat jemand ein code Beispiel oder ein Befehl mit dem man aus einem gedrückten Schalter ein kurzes „an“ Signal bekommt?
2 Antworten
Vom Beitragsersteller als hilfreich ausgezeichnet
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
IT, programmieren, Informatik
Etwas wie:
void trigger(){
std::time_t current_trigger = std::chrono::system_clock::now();
if(last_trigger - current_trigger > some_value){
triggered = true;
//Do stuff
}
last_trigger = current_trigger;
}
Das sollte entprellen und dafür sorgen, dass nur eine Aktion ausgeführt wird, wenn nicht innerhalb der letzten "some_value" Sekunden bereits eine Operation ausgeführt oder eine Auswführung versucht wurde.
Von gutefrage auf Grund seines Wissens auf einem Fachgebiet ausgezeichneter Nutzer
Elektrik, Elektronik & Elektrotechnik
Dazu müsstest du vorher definieren, wie lange der Impuls sein soll.
#define INPUT //Hier der Eingang des uC
#define SIGNAL //Hier der Befehl vom uC
bool schalter = INPUT;
uint8_t impulse = 10;
void loop() {
if (schalter == TRUE) {
while (--impulse) {
SIGNAL = HIGH;
}
}else {
impulse = 10;
}
}
Danke für die Antwort, ich verstehe das Programm zwar nicht ganz aber er gibt mir ein paar Fehlermeldungen aus muss ich dafür noch etwas definieren oder hinzufügen?