-
Thread
Sleep Mode Probleme -Atmega169P
ein PCINT und passt der momentane Zustand nicht mit dem gespeicherten i, kann nur einer der beiden Taster gedrückt worden sein.
gesetzt, wenn ein Impuls gekommen ist */ #define FLAG_IMPULS 2 /** * Nach Entprellroutine - Taster1 (Weiter) gedrueckt */ #define FLAG_S1_PRESSED 3 /** * Nach Entprellroutine - Taster2 (Bestaetigung) gedrueckt */ #define FLAG_S2_PRESSED 7 [/c] PS: Die Entprellroutine habe ich
-
Thread
Durchfluss/Drehzahlüberwachung
schon öfters gesagt, externe Interrupts sind nur dann nützlich, wenn man sie benötigt. Einen Taster damit abzufragen ist quatsch, kein Mensch ist in der Lage einen Taster innerhalb weniger µs zu drücken. Also Interrupts sind nur für wirklich schnelle Sachen da. Alle langsamen Abfragen macht man
einem Timerinterrupt, z.B. alle 100µs abfragen. Für die Tastenabfrage sind 100µ zu kurz zum Entprellen, d.h. Du nimmst dann im Timerinterrupt ein Byte zum Teilen auf 10ms zum Entprellen. Somit kannst Du soviel Sensoren oder Tasten anschließen,wie Du Pins hast und brauchst für alles zusammen nur
-
Thread
ARM LPC2138 Eingang lesen IO0PIN
Hallo zusammmen, ich versuche gerade per Software meine Taster zu entprellen. Dazu wollte ich per EINT3 einen Interrupt auslösen, eine gewisse Zeit warten, und wieder nachschauen, ob der Taster immer noch gedrückt ist. [c] __irq void isr_button_int3(void) {
schön, beantwortet aber leider nicht meine Frage. Mir geht es ja auch eigentlich nicht um das Entprellen. Primär möchte ich unabhängig vom Interrupt3 nachschauen, ob an P0.9 noch ein HighLevel liegt.
-
Thread
Timerverwendung in Programmen
eine Art Zeitbasis um verschiedene Dinge Zeitgesteuert ablaufen zu lassen. Das wären z.B. das Entprellen der Taster, das anwerfen und abfragen des ADCs in bestimmten Zeitabständen, irgendwas blinken lassen, etc. Lasse ich dazu einfach einen 16Bit Timer hochlaufen und nutze den CompareMatch oder
Ok, danke soweit. Aber ich hatte hier z.B. ein Programm zum Entprellen der Taster gesehen (Debounce - Bulletproof), da wurde ein Timer so verwendet das man einen "Takt" von 10ms erhält... Wie mache ich es ohne Timer? Im GCC Tutorial wird es über die delay.h gemacht
-
Thread
Projekt Dosiersystem (Beginner)
Projekt stemmen, befassen sich aber zu wenig mit den Grundlagen wie z.B. Bitoperationen, Logik, Tasten entprellen. Als Programmiersprache kann ich auch "Luna" empfehlen:http://avr.myluna.de/doku.php Gerade für mich als Gelegenheitsprogrammierer ist es doch hilfreich auf fertige Funktionen zugreifen
paar wenige Prozessorzyklen >= 1400 ist. Die Tastenabfrage solltest du auskommentieren solange kein Taster angeschlossen ist. Und wenn doch, musst du dich mit Tastenentprellung befassen. Mein Tipp: erstmal ohne Sensor und Relais auf dem Steckbrett mit Tasten und LEDs umgehen lernen. Zum Thema Entprellen
-
Thread
mit Tastern auswählen (ATMEGA8)
Vielleicht noch das Problem der prellenden Tasten? Und "goto" ist ganz böse...
High aufbaue, es kommt nix raus. Vielleicht ist das Problem ja das goto. oder ein prellender Taster. Muss man sehen wie ich ihn entprellen kann.
-
Thread
einfacher Code für einen Zähler
Hi, 1) du musst die Tasten entprellen, sonst erkennt der µC mehr als eine Betätigung pro Druck. Suche hier im Forum und in der Codesammlung danach. Das Thema wurde schon recht erschöpfend behandelt. 2) informiere dich über
Hi... Dein Taster prellt... ...nicht die Zeche, sondern ehe er sich entscheidet, ob er an oder aus sein soll, hat er schon etliche male hin-und hergeschaltet... Du wirst also um eine Entprellen der Tasten nicht herum
-
Thread
Nullstellenunterdrückung bei 7 Segment
'Entprellen If T_min_stellen = 0 Then 'Ist der Taster immer noch betätigt Incr Zl_minute 'wird Minute um eins erhöht Zl_sekunde
betätigt und ist es eine pos. Flanke Waitms 150 'Entprellen If T_t_stellen = 0 Then 'Ist der Taster immer noch betätigt Incr Zl_tag 'wird Minute um eins erhöht End
-
Thread
[C] Programmablauf funktioniert nicht richtig - Fehlerhafter Ablauf?
1 und den Timer-CompB für den Servo 2. Was ich jetzt noch nicht implementiert habe, ist das Entprellen der Taster und auch das Speichern der Servoendlagenwerte im EEPROM. Daher arbeite ich mit festen Werten für die Servoendlage. Zum testen sollte dies reichen. Ich weis, das es nicht der Weisheit
maximal 8 Servos mit einem einzigen Timer ansteuern kann. Alles was du noch einbauen musst sind deine Taster. Da du sowieso für jede Endlage eine eigene Taste benutzt, brauchst du nichts entprellen und du brauchst auch keine Interrupts um die Tasten abzufragen. Alles was du tun musst, ist bei gedrückter Taste
-
Thread
Statusvariable als struct?
Weg mit "union" werd ich mal probieren. Eigentlich wollte ich nur folgendes programmieren: 12 Taster an 2 AVR Ports sollten abgefragt und entprellt werden. (Variante ähnlich wie sie Peter Danegger hier schon vorgeschlagen hat. Vier gültige Werte sind nötig, um eine Taste wirklich als "gedrückt" zu
erklären, was ich eigentlich vor hatte: Es gibt doch diese Stromstossrelais. Man drückt auf einen Taster und das Licht geht an. Man drückt nochmal auf den Taster, plopp das Licht ist aus. Oder man drückt auf den anderen Knopf im Flur - Das Licht würde auch an und aus gehen. So ein Relais kostet 12-25
-
Thread
DIP Taster anschließen/schalten
Zeit das myavrBoard. Progrmmiertechnisch habe ich keine Probleme, brauche aber momentan ein zwei Taster mehr. DEshalb habe ich mir Print bzw solche DIP Taster besorgt. Momentan weiß ich aber nicht wie ich die anschließen soll, also ich weiß nicht wohin mit dem Strom, nur +,nur - oder beides.Nur wo anschließen
mechanischen Stabilität übrigens noch einen anderen Grund. Bisweilen will man ganz viele solche Taster an einen Mikrocontroller anschließen; genau das ist z. B. bei Deiner PC-Tastatur der Fall, wo es ca. 120 Taster sind. Da man bei dieser Menge aber schlecht von jedem Taster eine eigene Leitung zu
-
Thread
Taster als Schalter mit Relais
eigentlich vor einem simplen Problem, dass ich aber leider nicht zum lösen bringe. :-( Ich habe einen Taster mit dem ich eine LED Ein- und Ausschalten möchte. Der Taster sollte aber wie ein Schalter funktionieren. (Selbsthaltefunktion) Die Selbsthaltung an sich ist kein Problem aber das ich die Schaltung
Ach, natürlich musst du je nach Taster ganz kräftig entprellen. http://www.mikrocontroller.net/articles/Entprellung
-
Thread
[Bascom] Variabele in EEPROM
ok, Overlay lese ich mir morgen durch die taster sind nach 5V geschaltet und haben pull down Widerstände und einen kondensator parallel zum entprellen Mit freundlichen Grüßen Alex B.
Hi, gut, aber nimm den Kondensator weg oder schalte einen Widerstand in Reihe zum Taster. Bei jedem Tastendruck schliesst Du den C kurz, das kann der Taster nicht lange ab. Entprellen kann man auch in Software und mit diesem ersten Gehversuch (Waitms 500) ist das mehr als ausreichend
-
Thread
probleme mit stoppuhr programm
XOR R16,R17 ; 0 zu 1, 1 zu 0, Ergebnis in R16 LDS Taster ; Da Eing. auf 0 gezogen, ist in Taster eine 1, wenn betätigt. POP R17 ; R17 zuerst vom Stack POP R16 ; Register haben wieder
.include "LCD-Routine.asm" ; LCD-Routinen werden hier eingef�gt .include "entprellen.asm" ; Taster-Entprellen einf�gen [/c] fast die ersten Zeilen meines Codes ... Grüße
-
Thread
taster kurzzeitig Abschalten
Das Stichwörter nach denen du suchen solltest sind: "Tasten Entprellen" mfg Patrick
Nein die Taster sind entprellt. Ich arbeite mit Bascom und verwende den befehl debounce. Nei ich bekomme tatsächlich ab und zu mehrere Signale. Als lichtschranken verwende ich eine CNY70, der eigentlich recht gut
-
Thread
Debouncing 8 Keys und rotary encoder von P. Dannegger.
OC1A DDR #define IN1A PA0 #define IN1B PA1 // ####################### DEFINE Tastatur-Entprellen ######################################## // 2 Tasten ----- PD6, PD7 kurz / lang gedrückt LED an PORTCx wird ein- und ausgeschaltet #define KEY_PIN PIND #define KEY7 7 #define
= (diff & 2) - 1; // bit 1 = direction (+/-) } } // ############################## TASTEN ENTPRELLEN #################################### u8 get_key_press( u8 key_mask ) { cli(); key_mask &= key_press; key_press ^= key_mask;
-
Thread
Schrittmotor Problem
42MM-SCHRITTMOTOR-18-1A-027-NM) per uC ansteuern. Habe jetzt mal beim Testaufbau auf einem Steckbrett Taster für Schritt und Drehrichtung verwendet. Die Ansteuerung erfolgt per L297/L298. Aufgebaut wurde die Schaltung wie im Datenblatt bzw. bei RN-Wissen. Angeschlossen ist das Ganze an einem Labornetzteil
Schonmal Danke. PS: Besteht vlt auch die Möglichkeit (oder könnte es für Probleme sorgen), wenn die Taster prellen? Hab keine Pull-Down Widerstände dran, sorgt das für ein undefiniertes Signal am L297? Mfg Tom
-
Thread
PCF8593 über I2C Bus steuern
nichts mit Port ansprechen. Deine Tastenabfragen machen absolut null sinn. Du scheinst einen Taster am Port P3_2 zu haben? (Ich kennen keinen AVR und somit wird hier geraten, da du keine Kommentare dazugeschrieben hast). Diesen fragst du unentprellt in einer Endlosschleife ab und arbeitest sowohl
Uhr (Einschalten, Konfigurieren) // muss man nur einmal machen! while(1) { if(P3_2==1) // Taster gedrückt { auslesen der Uhr ausgeben der Werte warten von 100ms // entprellen while (P3_2 == 1); // warten bis Taster losgelassen wird warten von 100ms // entprellen
-
Thread
Piezo mit unterschiedlichen Tönen
drüber schauen sagen dass sich deine Bedinungen gegenseitig ausschließen [c] if((debounce(PIND,TASTER_2))&&(taster_was_pressed(TASTER_2))) ... else if(((debounce(PIND,TASTER_1))&&(taster_was_pressed(TASTER_1)))&&((debounce(PIND,TASTER_2))&&(taster_was_pressed(TASTER_2)))) [/c] das Abfragen von
einfachen Dauerleuchten von LED's (projekt1) bis über blinken lassen, dann noch mit delay, dann warens Taster, dann noch mit entprellen..usw..vorhin habe ich mithilfe von nen CTC- Timer2 interrupt eine Wunderschöne unterschiedliche Frequenz bekommen... Mit Taster und Lautsprecher hackts aber etwas... Mit
-
Thread
Keramikscheibenkondensatoren Ausfallrate?
zu den Tastern parallel geschaltet sind, sporadisch die Steuerspannung +5V auf Masse kurzschließen (low active) und damit einen Tastendruck simulieren. Die Scheibenkondensatoren haben ein Eigenleben entwickelt
Mondo H. S. schrieb im Beitrag #3740943: > Hier ein Bild der lustigen Entpreller Bei mir haben Tasten noch nie einen Kondensator gesehen. Die paar Entprellzeilen im Programm verschleißen nie und das bischen mehr CPU-Last ist lächerlich. Wenn Du die Sourcen hast und SW
-
Thread
Programm anhalten über Taster
[c]int main(void) { ... while(1) { if(ein == 0) while(!(*pPORTFIO & TASTER)); // warten auf Start taste = 1; ein = 1; if(!(*pPORTFIO & TASTER) & taste == 1) taste = 0; // eingeschaltet if((*pPORTFIO & TASTER
nicht.... Da ich von C nich viel Ahnung habe, hier mal eine Flankenauswertung in Assembler ( ohne entprellen) [avrasm] In R16, Port(n) COM R16 ; Bits drehen bei Verschaltung Taster nach GND ANDI R 16, 0b00001111 ; Maske für Bit 0-3 STS New_In, R16 ; neue Bits ablegen
-
Thread
Tasten, Strommessung an ADW
Tastensystem, was über Spannungsteilerregel funktioniert. (Leider wusste ich nicht wie ich die entprelle:() Mein Ziel ist es durch ein Interrupt der ADWandler anzuschmeissen, so dass ich ad 50 ms in einem Zeitabstand von 100ms die Tasten abfragen kann, und nach einer Sekunde strommesse, und in einem
Code für die Tasten
-
Thread
Tastenabfrage bei Menüführung - Ideenblockade
) PS: funktioniert auch mit verteilten Eingängen (Pegel in eine Variable kopieren und diese entprellen).
Das Loslassen der Taste wird übrigens auf die gleiche Weise ebenfalls entprellt.
-
Thread
Problem mit einem Code (Atinny2313)
registriert wird. Jedoch hat der Attiny2313 nur 2 externe Interrupt Pins(INT0, INT1) aber ich müsste 3 Taster anschließen. Dafür würde ja eine tasten Matrix in frage kommen, mit der ich theoretisch 4 Taster benutzen könnte...oder?!? Aber wie stelle ich das am besten an? <- sry aber mein Kopf ist vorhin kaputt
LED_PORT = i; } } }[/c] Jedoch habe ich das selbe Problem wie bei diesem Entpreller: usr schrieb im Beitrag #2520963: > guckst du hier : Beitrag "Re: Universelle Tastenabfrage" :) Die LEDs leuchten einfach durchgehend -.- Ich habe die Taster auf PB0, PB1 und PB2. Eine
-
Thread
RE: Schalter zu Taster
reinschauen, ehe man drauflos programmiert. AFAIK gibt es auch eine Portierung meiner 4-fach, 8-Tasten Entprellroutine nach Bascom. Der große Vorteil, sie kommt völlig ohne Delays aus. Peter
angucken, weil er weiß, daß es den Debounce Befehl gibt. Ich dachte, debounce ist nur für das entprellen zuständig ?!
-
Thread
Entprellung Ansatz so OK?
Hallo, es gibt von Jack Ganssle einen netten Artikel über Tastenprellen und -entprellen. Er hat einen Haufen gängiger Taster analysiert und zeigt das Prellverhalten - das einen manchmal sehr überrascht. Im folgenden gibt es einige Anregungen zum Entprellen in Software. Hier der Link
einen Tastendruck wartest und dann eine Aktion auslöst, sondern wenn du umgekehrt den Zustand der Tasten in regelmässigen Abständen (z.B. per Timer-Interrupt alle 50 Millisekunden oder in der Hauptschleife) einliest und je nach Zustand eine Aktion auslöst. Vorteil: 1. Der Taster muss nicht entprellt
-
Thread
Einstellbarer Frequenzgenerator für 0.12 Hz - 8 MHz mit Atmega 8 und Bascom
da einstellen, dass sowas nicht kommt? - Egal, wurde kurzerhand umbenannt. Weiter ging's mit den Tastern auf Int(). Mein Board(Microe Easyavr5) hat da die wildesten Sachen gemacht. Da war richtig Action auf'm Display... - hatte mir das Steckbrett dazugestellt und versucht zu entprellen, 2xC gegen plus
Sind ja nur wenige Namen reserviert... > Egal, wurde kurzerhand umbenannt. Weiter ging's mit den Tastern auf > Int(). Mein Board(Microe Easyavr5) hat da die wildesten Sachen gemacht. > Da war richtig Action auf'm Display... - hatte mir das Steckbrett > dazugestellt und versucht zu entprellen, 2xC
-
Thread
Aktionen auf Button-Druck auslösen
Zuerst würde ich die Buttons entprellen. Z.B. so : signal button1_z1 : std_logic; signal button1_z2 : std_logic; signal button1_z3 : std_logic; signal button1_out : std_logic; .. if clk'event and clk = '1' then button1
State-Machine steuern lassen. Damit hat man dann auch die möglichkeit auf eine gedrückt-gehaltene taste zu reagieren (auto-repeat). allerdings sollte man das entprellen der taste mit nur ca. 100Hz machen. Es macht kein sinn eine Taste mit 50MHz oder mehr zu entprellen. Gruß Rene
-
Thread
1 Taster um Relais zu schalten
Ein T-FlipFlop kann das, aber du musst deinen Taster noch entprellen, entweder mit 2 NANDS oder per RC-Glied.
Den Taster möchte ich nur zum testen verwenden, später soll die Schaltung von einen funksignal angesteuert werden. Also geht das mit dem Taster mit Mittelstellung schonmal nicht.
-
Thread
Taster an uC mit Doppelbelegung
Den Taster muß man eh entprellen (Interrupt ist dafür eigentlich zu schade). Wenn man also den Zustand des Tasters sowieso regelmässig abfregt, kann man auch feststellen, ob er länger als eine bestimmte Zeit
erstmal für die konstruktiven Vorschläge. Ich hänge an den uC eine Folientastatur mit ca. 15 Tasten an und habe vor, das ganze eigentlich über Interrupt zu steuern. Das Gerät wird ganz einfach: Taste X drücken, Befehl über RX/TX versenden. Eine Taste soll dabei eine Doppelfunktion beinhalten:
-
Thread
Entprellzeit
hallo ich muss digitaltasten entprellen. meine entprellzeit liegt momentan bei 100ms. das erscheint mir aber noch zu kurz. man kann zwar einmal tasten, aber wenn man zu langsam ist, prellt die taste noch. wie hoch sind die normalen
zwar sinnvoll, aber für meine schaltung (noch) unnötig. vielleicht muss ich ja mal schneller die tasten abfragen. mal sehen. danke für die info.
-
Thread
Fragen zur Taster Entprellung von PeDa
Oszi hab ich noch keins, ist aber unterwegs aus China (DSO138). Naja, zum Taster entprellen muss das ja nicht 100% stimmen. Die Taster prellen ja auch nicht jedes Mal exakt gleich.
, nicht wegen der Taster, die funktionieren auch mit 8, 15, 20ms, aber alle 10ms einen Counter hochzählen ist ne schöe Zeitbasis. Ich habe z.B. Aufgaben verteilt, alle 330ms LCD aktualisieren, egal wann ich ins Schattenram
-
Thread
Schaltung zur Programmierung einer LED mti Tastendruck
Der 100 nF entlädt sich nicht über den 100 Ohm Widerstand wenn der Taster geschlossen ist, sondern wird geladen?
Wenn die Taste nicht meterweit von MC entfernt ist, kann man die beiden Rs und den C weglassen. Den internen Pullup enablen reicht. Entprellen und Flanke erkennen geht einfacher in SW.
-
Thread
Spielzeugmotor rechts links Lauf über Taster (Schaltung)
Hallo, ich möchte einen 3V Motor über 3 Tasten ansteuern. Die Belegung soll wie folgt sein: 1. Taster vorwärts 2. Taster Rückwärts 3. Taster Stopp Ich hatte an eine H-Brücke gedacht, die läuft aber nur solange der Taster gedrückt ist.
wenig mit R und C entprellen.
-
Thread
Auswertung Reed Kontakt
#Pullup-Widerstand Lass aber durch den Kontakt ~1mA fließen, das hält ihn sauber. (Normale Taster >2mA. Wenn kein Dabla zur Verfügung steht!)
Interrupt-Routinen hin und her gesprungen wird). Wenn sie die selbe Prio. haben nicht. Zum entprellen, sollten aber Beide für 1-2ms gesperrt bleiben (länger prellen Reed-Kontakte norm. nicht).
-
Thread
Problem mit Tastereinlesung
Hallo Forumgemeinde!! Ich habe ein Problem mit dem einlesen eines Tasters. Der Taster wird im Int0 abgearbeitet. interrupt [EXT_INT0] void ext_int0_isr(void) { delay_ms(30); // zum entprellen if((PIND.5 == 0)&&(modus_hoch == 0)) { modus_hoch = 1; PORTC.3
dass es schon richtig ist wie es programmiert wurde, ich muss nur etwas umdenken!! Wenn ich den Taster ja los lasse dann wird ja wieder ein neuer Interrupt ausgelöst. Und dann ist ja PIND.5 = 1! Also wieder aus!!! Ich dachte es wäre etwas leichter einen Taster zu entprellen. Ich weiß,es gibt hier zig
-
Thread
Probleme bei Initialisierung und while Schleife
-wert) < 20) //Wertevergleich der eingelesenen Werte { if (wert1 > 0x07) //Entprelle Taste andrücken { _delay_us(100); } if((wert1 >=0x07) && (wert1 <0x12)) //Wertevergleich Taste 1 { value = 1; if (wert1 <=0x07) //Entprelle Taste loslassen { _delay_ms(100); } } if((wert1 >=0x12) && (wert1 <0x1C)) //Wertevergleich Taste 2 { ... [/C] Schreib doch deine Grenzwert-Zahlen
-
Thread
ATTINY85 per pwm MOSFET/LED ansteuern
mir auffiel, was man aber entweder mit Software oder mit Hardware lösen kann: Du hast einen Taster verbaut aber dieser hat keinerlei Maßnahmen bzgl. Prellen, weder in Hardware noch in Software. Eine einfache Hardware-Lösung, die einfachste Lösung, ist es, parallel zum Taster einen Kondensator zu verbauen, z.B. einen 100nf. Alternativ kannst du den Taster auch in Software entprellen (heute üblich soweit ich das beurteilen kann). Wie das geht kannst du hier anschauen (Beispiel für Arduino-Umgebung): https://www.youtube.com/watch?v=E6mAWhm8J-0
-
Thread
AVR mit mehr als 26 I/O Ports
Ist auch immer die Frage, was willst Du an die 30 I/O's dranhängen... Tasten kann man Multiplexen (z.B. 12 Tasten 7 Leitungen, 16 Tasten 8 Leitungen), gleiches könnte für eine LED-Matrix als Ausgabe gelten... Vielleicht kämst Du dann sogar mit einem 28Pin aus... Manos
Hmm, aber wenn ich nun z.B. mehr als 2 Tasten in einer Spalte drücke, dann krieg ich ja einen kurzen, wenn ich net mit Dioden abriegle. Aber wenn ich nun 2 Tasten in einer Spalte gleichzeitig drücke und in einer der Zeile mit gedrückter Taste