Für dieses Forum muß Javascript im Browser aktiviert werden!
Kommentar: Einfügen von HTML im Kommentar: Link einfügen: <a href="LINKURL" target="_blank">LINKTITEL</a> Bild einfügen: <img src="BILDURL"> Text formatieren: <b>fetter Text</b> <i>kursiver Text</i> <u>unterstrichener Text</u> Kombinationen sind auch möglich z.B.: <b><i>fetter & kursiver Text</i></b> C2 Quellcode formatieren: <code>Quellcode</code> ASM Quellcode formatieren: <asm>Quellcode</asm> (Innerhalb eines Quellcodeabschnitts ist kein html möglich.) Wichtig: Bitte mache Zeilenumbrüche, bevor Du am rechten Rand des Eingabefeldes ankommst ! > Hallo Alfred, > > ich denke nicht das dein Taster das Problem ist, sondern dein Programm. > Wenn Du den Taster in Echt drückst, wird ein Eingangssignal von sagen wir einfach mal > 0,5 sec erzeugt. Die 0,5 sec lassen wir einfach mal dahin gestellt. > > Da dein Programm in einer Schleife läuft, wird es wärend der 500 ms öfters an der Abfrage "ist Taster gedrückt" > vorbei kommen. Und bei jedem vorbei kommen wird bei Dir geschaltet, deshalb das "flattern des Ausgangs. > > Und deshalb musst Du hier ansetzen, nur wenn das Eingangssignal von 0 auf 1 wechselt, dann wird etwas > ausgeführt. Und nur dann. Von einer Verzögerung per sleep würde ich abraten, was willst Du denn da für > eine Zeit nehmen. Der eine drückt Taster 0,3 sec, der andere 1,2 sec. Da müsstet Du grundsätzlich eine > sehr hohe Zeit ansetzen, was aber das Programm ausbremst oder unkomfortabel macht. > > Rene > > > > Hallo Rainer und Hallo Rene, > > > > ich glaube wenn der Taster prellt wird der Merker alleine nichts bringen, weil dann auch der Merker > > mehr mals hin und her geschaltet, besser eine Verzögerung einbauen von 10-20ms. > > Oder an dem Taster einen 100nF Kondensator parallel schalten. > > Aber liegt es wirklich am prellen, über Bus??? > > Wie sieht denn das Programm aus. > > > > Gruß Alfred > > > > > > > Hallo Rainer, > > > > > > wenn ich deinen Post richtig verstehe, funktioniert schon alles, jedoch ist deine "Schaltung" > > > noch nicht "entprellt". > > > > > > Nimm Dir doch softwaremäßig einen Merker zur Hand, Zustand Merker 0 bei offenen > > > Taster und Zustand Merker 1 bei gedrückten Taster. > > > > > > Dein Relais wird jedoch nur "umgeschaltet" wenn sich der Zustand des Merkers von 0 auf 1 > > > wechselt. > > > Also ist Taster gedrückt und Merker = 0, dann schalte Relais und setze Merker auf 1. > > > Dann schaltet die ganze Sache nur einmal, weil Merker ist jetzt 1. > > > Ist Taster offen, dann Merker = 0. > > > Erst jetzt kann wieder der Taster gedrückt werden und wird ausgewertet. > > > > > > Ich hoffe ich habe die grundsätzliche Problematik richtig erklärt. > > > > > > Rene > > > > > > > > > > Hallo, ich habe eine Frage zur Programmierung, > > > > > > > > folgende Situation, der Eingang des MAX7311 erhält einen Schalterimpuls und > > > > soll ein Relais bei jedem drücken des Schalters aus oder einschalten wie bei > > > > einem Stromstoßschalter z.Bsb.im Treppenhaus.Der MAX7311 läuft über den > > > > I2C-Bus. Die Schaltausgabe soll relativ zügig sein < 2 s. Der Schaltimpuls > > > > soll jedesmal nur einmal erfolgen, nur dann wenn der Taster gedrückt wird. > > > > Auch wenn er länger gedrückt wird ! Bis jetzt schaltet das Relais ein paar > > > > mal hin und her. > > > > > > > > Hat jemand da Erfahrungen. > > > > > > > > Vielen Dank für kreative Antworten.