-
Thread
3-Stelliger Code mit AVR (AT90S4433)
in Orddnung, ich habe Probleme das richtige Programm zu schreiben !!! Es ist zwar möglich einen Taster zu belegen der einen Ausgang schaltet, es ist mir allerdings nicht möglich das nach Drücken von 3 bestimmten Tastern ein Ausgang geschaltet wird !! Es wäre auch egal wenn man die 3 Taster gleichzeitig
Wenn mehrere Tasten gleichzeitig gedrückt werden dürfen, um das Schloß auszulösen (wie oben erwähnt), dann ist das Problem mit einem "3Zeiler" erschlagen. - Tasten einlesen - entprellen nicht nötig... - Maskieren
-
Thread
Probleme mit Tastern & LEDs...
inkrementieren, so daß im Endeffekt immer eine LED mehr auf meinem STK500 angeht. Drücke ich einmal auf den Taster soll also die erste LED brennen, drücke ich nocheinmal auf den Taster, dann soll die erste + zweite LED brennen etc. Aber komischerweise gehen auf einen Tastendruck sofort alle LEDs an. Hätte
die Taste >50ms nochmal ab, meistens wird dazu der Timer benutzt. Zu guter letzt dein Suchbegriff lautet entprellen. Mfg Dirk
-
Thread
Source RolladenSteuerung in C
gemacht worden sein oder? (Wollte nur das Rad nicht erneut erfinden/programmieren) Ablauf: Taste entprellen (per Software), danach sofort das Relais in die richtige richtung laufen lassen. Wird der Taster nur xx ms gedrückt, dann wird bis an die Endposition gelaufen (fixer wert) Wird der Taster
Tasten von Port zu lesen, kann man auch kompliziertere Tastenschaltungen verwenden (z.B. Pins gleichzeitig für Tasten und Anzeige benutzen, oder Matrix von Tasten befragen), dafür braucht man nur eine Funktion
-
Thread
6 Taster und nur 2 Interrupt Pins
-Gast schrieb im Beitrag #3342817: > Hallo, > > ich habe 6 Taster anzusteuern, aber da der Atmega8 ja nur zwei Pins für > externe Interrupt Signale hat geht das nicht. Brauchst du auch nicht. Externe Interrupts durch Taster macht man nur dann, wenn die Taster
zB den pinkompatiblen Atmega88, dann hättest Du Pin-Change-Interrupts. Denke aber daran, das Taster prellen. Entweder musst Du das entprellen in Software machen oder in Hardware (RC-Filter oder 1*Um mit RS-FF). Wenn Du es in Software machst, hast Du von den Pin-Change Interrupts nicht viel. fchk
-
Thread
Schalten mit AT90S8535
!= PINB) { PORTD = PINB; ib = PINB;} } damit du auch noch was hast darfst du jetzt die tasten entprellen. viel spass :)
Hier habe ich mal meine Vorstellung aufgeschrieben, wie das gehen soll : PORT A PORT C Taster 0 LED 0 . . . . Taster 7 LED 7 PORTB PORT D Taster 0 LED 0 . . . . Taster 7 LED 7 Es gibt 2 Blocks mit 8 Tastern und 2 Blocks mit 8 LEDs Wenn ich einen Taster an PortA
-
Thread
PWM Fehler im code aber wo?
Mh was muss ich auskommentieren das die PWM ohne Tasten funktionieren sollte. ?!
eine LED dimmen per Tastedruck. Dann würde ich erstmal die Aufgaben voneinander trennen. Entprellen einer Taste, Kurzdruck, Langdruck, Repeatfunktion würde ich so machen: http://www.mikrocontroller.net/topic/48465#new Der Rest (PWM ändern) ist dann nur noch ein Klacks. Dabei würde ich
-
Thread
Einstiegsprojekt: Taschenrechner bauen
Ich hätte ja auch eine Taste für die 0 mit eingeplant...
erstmal ne LED zum blinken, dann das selbe mit Tasterabfrage. Anschließend kannst du dich mit dem Entprellen der Taster beschäftigen und dann die Ansteuerung des LCD-Displays programmieren. Erst wenn du all dieses bereits programmiert hast, würde ich mich an die Programmierung eines größeren Projektes,
-
Thread
Arduino mit 2 Taster & 1 LED
Hallo, habe begonnen mit einem Arduino, 2 Taster mit je einem 1kOhm Pullup die interne LED anzusteuern. Leider funktioniert nur der eine Taster ordentlich. Der 2. Taster schaltet die LED an aber lässt sie erst nach 2-3sek. wieder aus gehen. Ich habe
entsprechend: PORTB &= ~(1<<PB5); // PORTB gleich PORTB und (nicht PB5) später willst du irgendwann die Taster entprellen, das wird ein Problem wenn du auf einmal viele Tastendrücke im Prgramm erkennst wenn du in echt nur einmal drückst, hier wäre das aber etwas zu weit gegriffen.
-
Thread
Taster funktioniert nicht bei hohen Taktfrequenzen
Triggerung auf externe 16 MHz funktioniert dies nicht mehr. Die LEDs blinken einfach weiter ohne vom Taster beeindruckt zu sein. Kann es sein, dass das Interrupt für den Taster zu schnell ist und der Taster irgendwelche Oszillationen verursacht, die dann ein erneutes Interrupt auslösen, so dass das Programm
ausgedrückt, aber ich denke du meinst das richtige: Taster prellen Und um das Prellen wegzubekommen, muss man sie entprellen http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 Und nein: Taster-Auswertung und Interrups
-
Thread
Tastendrücke einlesen
| 0x01); break; default: i = 0; } // P2_9 ... LED output // P2_10 ... Taster input -> bei /Key angeschlossen -> wenn ich den Taster wieder auslasse dann wird die LED erst eingeschalten. [/CODE]
Taster müssen entprellt werden.
-
Thread
Eingabetaster mit zwei unterschiedlichen Funktionen (PIC)
sich der Taster geänder hat und setzt fallweise das passende Bit. Entprellt ist das dann auch gleich, wenn der Taster nicht länger als 10ms prellt. Funktionen, die Benutzereingaben verarbeiten, bekommen einen Pointer
~~~|+++++|###########| Dann habe ich eine Funktion, die zählt einen Zähler hoch, so lange der Taster gedrückt ist. Wird der Taster los gelassen, wird geschaut, wie lang der Taster gedrückt war: - Zähler < TKURZ ist, dann wird die Funktion kurzer_druck() aufgerufen - Zähler > TKURZ ist, dann wird
-
Thread
Hilfe bei Baustein Identifikation
Software fragst Du beim Einschalten den Taster 1 ab. Ist dieser gedrueckt bist Du im Einricht-Modus. Mit Taste 2 (+) und Taste 3 (-) (positive Flanke - natuerlich entprellt!) kannst Du den Wert fuer DAC1 veraendern. (Langsam, die Controller sind
- Tasten entprellen -> Peter Danneger - EEPROM schreiben/lesen Datenblatt des PIC (fuer AVR im GCC Tutorial) - Software SPI zig mal im Forum MfG, Balze
-
Thread
Schalt-, Tast Funktion mit ATMega8 (ASM)
delay ; Taste gedrückt loop313: sbis PINB,0 rjmp loop313 rcall delay ; Taste losgelassen cbi PORTD,1 rjmp loop31
Dein Konzept gefällt mir nicht. Du hast keine [[Entprellung]] der Tasten und Du vertrödelst Rechenzeit in Warteschleifen. Dieser Programmierstil führt in eine Sackgasse. Um Tasten sauber einzulesen und zu entprellen, nutzt man einen Timer-Interrupt und ruft die Entprellroutine
-
Thread
unerwünschter Interrupt bei Timeraktivierung
Falk: Die Tastersache (nebensächlich): da sind 2 Taster: "Zeit rauf/runter" und "Start/Stop". Die Taster sind entprellt. Sie bestimmen aber wann die uUr (Timer im Sekundentakt) startet und damit auch wann ich den Timer lösche und starte oder eben stoppe
Genau. Der Interrupt (timer) ist NICHT zum entprellen der Tasten da. Der Timer ist für den sekundentakt der Uhr zuständig. Un das Problem ist, dass bei der ersten Timeraktivierung (irgendwann nach dem Strom angelegt und der Start-Taster gedrück wurde
-
Thread
Berührungssensor als Ein-Tasten-Schalter
Hallo, ich versuche gerade eine analoge Schaltung zum Ein- und Ausschalten einer LED aufzubauen. Es soll über einen Schalter realisiert sein, der als Berührungsschalter realisiert ist. Ein Berührungsschalter ist sehr leicht zu realisieren, dazu gibt es im Netz viele Schaltungen. Jedoch lassen diese die LED nur so lange aufleuchten, solange man die "Drähte" berührt. Ich bekomme es einfach nicht, eine An-Aus-Schaltung zu realisieren: 1. Berührung: LED an 2. Berührung: LED aus. Ich denke so in Richtung Schmitt-Trigger oder Flip-Flop. Aber ich bin auf noch keine Lösung gestoßen bzw. habe eine
-
Thread
144 analoge Eingänge am Arduino
> 16 Zeilen nacheinander abgefragt und mit Spalte low und Zeile low weiss > man welche der 256 Tasten gedrückt wurde, das natürlich entprellt OK, hier kann ich noch folgen. Kann ich "Wechsler entprellen mit Kondensator" (aus o.g. url-Beschreibung) 1x pro Zeile und 1x Spalte anwenden? Oder es der
Für 144 Tasten gingen auch 4 Stück HT16K33. Jeder fragt 39 Tasten ab und steuert bei Bedarf auch noch 128 Leds an. Nicht ganz preiswert, aber I2C.
-
Thread
Schalten mit logischen Pegeln (AVR ATmega8515)
so anschaue und auch den Artikel zu [[Entprellung]] fällt mir auf, dass dort der logische Pegel "Taster nicht gedrückt" eines Eingangs immer "high" ist. Wenn man den Taster drückt wird dieser Eingang dann auf "low" gezogen. Was ja von der Logik her verdrehte Pegel bedeutet. Taster gedrückt = 0 Taster
in etwa so aussehen: o +5V | R | _ | | +---o o----o (INPUT des µC) Zum Entprellen würde ich dann dem Taster einen Tiefpass nachschalten. Also in etwa so o +5V | _ | | +---o o--R--+---o (INPUT µC) | = | --- Den
-
Thread
Probleme mit EMV
COdesammlung: http://www.mikrocontroller.net/forum/codesammlung?filter=Taste+entprellen
Warum man das nicht so macht, hast du doch eben gemerkt... Taster fragt man regelmäßig alle 1 oder 10 Millisekunden ab, wird der dabei als gedrückt erkannt, so wird eine Varaible erhöht. Ist der Taster nicht gedrückt, so wird die Variable genullt. Wenn die Varaible
-
Thread
Simulation - Prellen/Entpellen von Tastern
Taster + Widerstand + Speicheroszi damit kannste das Prellen gut sichtbar machen
Vielleicht mit nem Zähler? Bei Taste Up -> Down läuft er mit einer bestimmten Taktfrequenz (z. B. T = 5 µs) los: 0, 1, 2, ..., 1000. Bei Taste Down -> Up wird er umgekehrt auf 1000 gesetzt und zählt auf 0 runter. Regeln: (1) Begrenzung
-
Thread
AVR Assembler Interrupt verlassen
Ja, das macht man nicht so. Eine Taste auf einen Interrupt ist auch verschwendung. Wie Commtel schon sagte, die Taste(n) mit einem Timer abfragen und entprellen und im main auf eine Verzweigung
Ursprungsort zurückkehren will? Der ISR brauchst Du das nicht sagen. In der ISR wertest Du lediglich die Taste aus, die gedrückt wurde. Im Hauptprogramm (Endlosschleife) wird in Abhängigkeit von der Tastennummer dann das dazugehörige Unterprogramm angesprungen.
-
Thread
Widerstand von 24Vauf 0-10V berechnen / Richtiger Widerstandtyp
du 8V man Analogeingang. Bedenke aber, dass wenn du mehrere mögliche Widerstände über Schalter/Taster an einen Eingang hängst, sich durch Mehrfachbetätigung auch beliebige Kombinationen ergeben können... Schon durch dein Innenwiderstand von 10kOhm limitiert sich die mögliche Belastung der 24V auf
sonder eben das: >Bedenke aber, dass wenn du mehrere mögliche Widerstände über >Schalter/Taster an einen Eingang hängst, bräuchte man also 1V 2V und 4V damit könnte man alle 3 Taster erkennen.. (entprellen müsste man wohl noch..) >zumal mir nur 2-3 Eingänge fehlen! in deinem Fall
-
Thread
Flip-Flop bistabil - Erklärung gesucht
habe ich aber keinen Platz diesen Schalter im Autoradio einzubauen und kann dort maximal einen Mini-Taster unterbringen. Mit diesem Taster und einen Flip-Flop Relais könnte ich das Problem umgehen. So habe ich das vorerst mit einem alten Relais für den Fernlichtschalter lösen können. Den Taster einmal betätigen
alter Neuling schrieb im Beitrag #6577644: > Noch eine Frage zum anschließen des Bauteil und dem Taster. Ich klemme + > und - an das Bauteil und zusätzlich parallel zum - den Taster Taster zwischen T und G. > der nur > kurzfristig beim betätigen ein Signal weiterleitet. Spielt die Dauer des
-
Thread
AtMega168 friert ein
Hab folgendes gemessen: An PIN PD2 liegt bei jeder Taste die ich drücke kleiner als 1V Spannung an. Wenn ich aber Taste "*" Drücke wird V5,08 angezeigt. Ist das Normal`? Kann das, dass Problem sein?
]]! Der spukt maximal Vcc aus. Und wenn er das tut, dann ist KEINE Taste gedrückt. MFG Falk
-
Thread
Arduino serielles Lesen - brauche Hilfe
Serial.print(inIstwert[i]); Serial.print(", "); } Serial.println(""); tasterState = LOW; } } void ereignisTaster() { // Taster Entprellung - es kann nur 1 mal in der Sekunde der Interrupt ausgeführt werden if((millis() - alteZeit) > entprellZeit) { // innerhalb der entprellZeit nichts machen tasterState = HIGH; alteZeit = millis(); // letzte Schaltzeit merken } }[/c] Nun habe ich aber das Problem, dass wenn ich den Istwert am Anzeigegerät ändere
-
Thread
UP/Down Zähler Schaltung mit Hilfe von Mikrocontroller
dann an so Kleinigkeiten wie Abblockkondensatoren, einer vernuenfigen Stromversorgung und dem Entprellen von Tastern klaeglich scheitert. Und lustige Begriffe wie "Zentraleinheit" aus dem letzten Jahrtausend. Da ist jede Hilfe voellig wirkungslos.
Also die Idee mit PCF8574 finde ich nicht schlecht. Der Einwand über die Anzahl von Tasten finde ich vernünftig, aber ganz ohne Taste möchte ich es nicht.
-
Thread
Eingabepuffer - 8 Taster
Ich muss 8 Taster zwischenpuffern. Leider hat der AVR keine bitadressierbaren Register. Mir fallen zwei verschiedene Lösungsansätze ein: Ich nehme einen Register, in welchem jedes Bit einen Taster repräsentiert
vor dem Puffern die Taste erstmal entprellen und Flanke erkennen. Vielleicht auch noch Repeatfunktion oder kurz/lang Erkennung. Alles kein Problem: http://www.mikrocontroller.net/topic/48465#new Peter
-
Thread
Taster 1 5x drücken LED1 an, Taster 2 löscht LED 1 wieder
festzustellen musst du in einer Schleife warten, bis der Pin von 1 auf 0 geht (du drückst den taster nieder) dann weiter warten bis der Pin wieder von 0 auf 1 geht (du lässt den Taster wieder los) Beide Aktionen verlaufen aus Sicht des µC in extremer Zeitlupe. So wie es für dich eine halbe Ewigkeit
Startwert 1 ... [/avrasm] Doch das Problem war nicht behoben, ich nehm mal an...es liegt an dieser "Taster-Entprell-Geschichte". Okay, also die Initialisierung lass ich dann mal im Code. Frage: Wann muss der Stack eigentlich initialisiert werden? So wie ich das verstanden hab....*immer*. Seh ich das
-
Thread
Toggle Schalter NE555
u.U. ständig hin- und hertoggelt (o. zumindest in eine bevorzugten Zustand wechselt), wenn Du den Taster zu lange drückst. Also eher nicht so toll.
#5969968: > und bei einer weiteren Betätigung wieder ausschalten Die Schaltung blinkt, wenn man den Taster lange gedrückt hält.
-
Thread
Vor EMV - Bitte um Hilfestellung und Tips
schützt: http://www.ruggedcircuits.com/10-ways-to-destroy-an-arduino/ Wurde schon erwähnt die Taster zu entprellen?
www.ruggedcircuits.com/10-ways-to-destroy-an-arduino/ Interessant > Wurde schon erwähnt die Taster zu entprellen? Ähm, nö? Sind bislang per Software entprellt.
-
Thread
Mein erster Code... ;)
Hallo! Anbei ist mein erster 100% selbstgeschriebener, funktionsfähiger C-Code. Er soll 8 Tasten entprellen und zugleich die Art der Tastenbetätigung erkennen. D.h. "kurz gedrückt" oder "lang gedrückt" ohne dass zuvor die Taste als "kurz gedrückt" erkannt wird. Wie könnte ich diesen noch optimieren
der Weisheit letzter Schluss. Verwende aussagekräftigere Namen. Z.B. in Deinem Fall so etwas wie "taster_index" oder so.
-
Thread
5-fach Relaisschaltung
schon kaut. Schaltung war simpel, heute würde man einen Arduino mit ein paar 7-Segment-LEDs, 3,4 Tasten und einer Motorendstufe nehmen. Für die Ablaufsteuerung reicht die Quarzgenauigkeit der Dinger aus, und jede Box war so individuell in der Menge einstellbar. An deiner Stelle hätte ich gesagt das
Hans M. schrieb im Beitrag #5773088: > Der erste If-Block dient tatsächlich zum Entprellen. Mit der > do...while-Anweisung wird bezweckt, dass die Schleife so lange > durchlaufen wird, bis die Schaltuhr kein Signal mehr gibt bzw. nicht > mehr durchschaltet. Ah, ok. Das führt dann
-
Thread
Mikrocontroller anfänger, wer kann helfen??
Versuche mal den Controller zu programmieren, während du manuell resetest. (reset-taster während der ganzen programmiererei gedrückt halten) hatte mal das gleiche problem. so gehts bei mir.
Du sagst der Schaltplan sei unvollständig, was meinst du damit?? Damit meinte ich eben, dass Taster, LEDs usw. dort nicht drin sind :-) Hast Du die Taster wie im Tutorial an Port D und die LEDs an Port B angeschlossen? Trenn doch mal alles von PB2 bis BP5 ab, so dass nur der Programmer dort dran
-
Thread
AVR + Leuchtstoffröhre = Störungen
noch dazu sagen, das die Tasterleitungen ungeschirmte 2 adrige Leitungen sind. Länge ca. 5m vom Taster zum AVR
Hi Paps, wie lange sind die Kabel an den Taster ? aendere mal die 10k nach 470 ohm event. die Tastereingaenge softwaremaessig entprellen vlg Charly
-
Thread
Ampelsteuerung Assembler (ATmega32)
Atmel Studio (ATmega32) eine Ampelschaltung zu realisieren. In der letzten Aufgabe soll ich nun über Taster 1=+, Taster 2= - und Taster 3= Start mit Hilfe von Stacks die Dauer der rot- Phase einstellen (bis zu 9 Sekunden). Meine Frage ist nun wie kann ich die Taster belegen, dass ich an ihnen einstellen
Studio (ATmega32) eine Ampelschaltung zu > realisieren. In der letzten Aufgabe soll ich nun über Taster 1=+, Taster > 2= - und Taster 3= Start mit Hilfe von Stacks die Dauer der rot- Phase > einstellen (bis zu 9 Sekunden). Meine Frage ist nun wie kann ich die > Taster belegen, dass ich an ihnen
-
Thread
INT0 - Interrupt
auch wenn ich in der routine für den jeweiligen taster das interrupt disable?
auf/Auto aufgeschlossen*******************************************************/ ISR(INT0_vect) //Taste1 { //button1_int_disable(); //entprellen /* if(frb_status==INACTIVE) { pwm_start(); timer1_start(); frb_status= ACTIVE; } if(BUTTON1 && (frb_status ==ACTIVE
-
Thread
I2C-Bus Therotisch verkürzen
Hallo Gemeinde, Bin neu hier und möchte all Rolladen-Taster in meinem Haus per I2C-I/O Expander abfragen. Nun habe ich das Problem Ich habe eine Sternverkabelung (Twisted-Pair CAT5) zu jedem Taster. Aber wenn ich daraus einen BUS generiere werde ich mit
würde ich einen (für jeden Taster) Optokoppler Baustein welcher SDA und SCL nur in dem Moment (gesteuert von Python Progam) den BUS für den einen Taster freigibt). In der Unterputzdose möchte ich eine kleine Platine mit Bus-Extender
-
Thread
Sicherheitsinterrupt
Interrupt triggert. Daher ist es am sinnvollsten ihn wie jeden anderen Kontakt in der zentralen Tasten-entprell-und-gedrückt-erkennungs-Routine zu behandeln. Ob Du diesen Status in der Hauptschleife abfragen kannst, hängt nun ganz davon ab, wie Du sie programmiert hast. Es gibt Leute, die programmieren
nicht ausgeführt werden sollen, testen vorher dieses Flag, kostet doch nur 2 Zyklen. Und das Entprellen und Erkennen wie gesagt im Timerinterrupt, nicht im externen. Aber ich würde das Programm so umstellen, daß es nirgends wartet, sondern immer zum Main zurückkehrt. Peter
-
Thread
Autokassettenradio umbau auf AUX Eingang
. Wenn Du mit einem Taster arbeiten willst, ist es immer aufwändiger, da Du diesen entprellen musst. Du benötigst also neben dem Logik-Chip und dessen 100nF Kondensator noch weitere Widerstände und Kondensatoren. Gruß Ulrich
auch die Mechanik wenn ich die Tasten drücke (Magnete ziehen an). Signal für die Spurumschaltung am Tapdrive könnte ich noch nicht ausfindig machen, ich glaube aber das die Tapedrive Tasten ignoriert werden solange das Radio im Radio
-
Thread
Allgemein: Mehrere Eingänge auf einen INT
Was willst du mit den Tasten machen? Im Regelfall ist es sinnvoller sie in einem Timerinterrupt abzufragen (und gleichzeitig zu entprellen...).
Controller verwenden?" Nein, Du solltest keinen externen Interrupt verwenden. Kein Mensch drückt Taster nur wenige µs lang, aber Tasten prellen mehrere ms lang. http://www.mikrocontroller.net/forum/read-4-310276.html#new Peter
-
Thread
EPROM 2716 durch CPLD auslesen?
Taster sind möglich, ggf. müssen die entprellt werden. Fürs Ansteuern, wenn die Daten "nur" mit LEDs etc. angezeigt werden, kann man auch aufs Entprellen verzichten. Gruß Anton
Hallo Hubschrauber Pull-Up-Widerstand (Nach Vcc), z.B. 22k, 10k tun es auch. Taster nach GND. Ich würde eher Schalter verwenden, ist einfacher zu verwenden, Mehrere Taster gleichzeitig drücken ist lästig. Gruß Anton P.S. Ich nenne die Dinger Drehflügler.......
-
Thread
Taster + LED am selben Draht (4*)
würde dann bei betätigtem Taster die Led leuchten, aber in deiner Schaltung hast du ja auch eine Helligkeitsschwankung wenn der Taster betätigt ist MfG wb1
ist beim Drücken der Taste. Ich konnte jedenfalls keinen Unterschied sehen. Peter
-
Thread
Flankenauswertung ohne Interrupt
while(1)// die Programm-Hauptschleife { tasten=PIND; // 8 Taster auf ein mal, liefern 1 wenn gedrückt (sonst ~PIND) gedrueckt=tasten&~gedrueckt; if(gedrueckt&1) { // Taster 1 wurde gerade runtergedrückt, mach was } if(
leider nicht so einfach verständliche Routine von Peter Dannegger anzuschauen. Da kannst du mehrere Tasten abfragen, entprellen und sogar unterscheiden, ob du bei langem Drücken ein Auto-Repeat haben willst. Die verwendet zwar den Interrupt, aber daran kommst du letztlich bei der µC-Programmierung eh
-
Thread
Arduino Taster über Widerstände
Hallo, Habe ein SainSmart Display 1602 wie lese ich da am besten die Taster aus oder wie kann ich das beispiel Projekt umschreiben damit nachdem die Taster ausgelesen wurden das eigentliche programm kommen kann. /* The circuit: * LCD RS pin to digital pin
Deine Funktionen die wohl in key.h definiert sind. Dann folgt die Prüfung auf neuen Wert und das entprellen. Was verstehst Du nicht ?
-
Thread
Zehnertastatur an PIC
ein. Dann nächste Spalte auf 0 legen und Zeile einlesen. Auf 0 liegende Zeilenbits sind gedrückte Tasten der aktuell auf Low gehaltenen Spalte. Es bietet sich an, die ganze Tastenscannerei im Timerinterrrupt zu erledigen. Z.B. 100-1000 mal pro Sekunde. Entprellen musst du auch noch.
Damits etwas deutlicher wird, hier die beiden Phasen mal getrennt: Multiplex Phase 1: RB0 <- Taste 0 RB1 <- Taste 2 RB2 <- Taste 4 RB3 <- Taste 6 RB4 <- Taste 8 RB5 <- Cursor runter RB6 <- Cursor hoch RB7 -> (LOW-Level) Multiplex Phase 2: RB0 <- Taste 1 RB1 <- Taste 3 RB2
-
Thread
Zeitsteuerung mit AVR ATtiny 13
problem. ich brauche gleichzeitig 2 funktionen und bring das einfach nicht auf die reihe. wenn zb.taste 1 kurz getrückt wird,soll eine zeit ablaufen die erst led 1 dann led 2 einschaltet und später beide ausschaltet.dennoch soll in dieser zeit auch taste 2 eine zeit steuerfunktion haben.sobald ich
In einem Timer-IRQ die Tasten abfragen und entprellen, da eine globale volatile Variable setzen und die in der Hauptschleife auswerten.
-
Thread
ATTiny45: Aufwachen mit PCINT klappt nicht
Ich schicke den µC in den PowerDownModus und will ihn danach durch einen PinChangeInterrupt von 2 Tastern(also entweder der eine oder der andere) wieder aufwecken. In der while-Schleife werden die Taster über Peter Daneggers Entprellroutine abgefragt, deswegen deaktiviere ich den PCINT sobald er ausgelöst
und aktiviere den erst kurz bevor es ans Schlafen geht. Das "flag" wird beim langen Drücken einer Taste auf 0 gesetzt. Und noch während ich die Taste gedrückt halte wird bereits die ISR aufgerufen und danach reagiert meine Schaltung auf keinen Tastendruck mehr. Habt ihr ne Idee, woran das liegen
-
Thread
Zustandsvariablenblöcke als serielle Bits an Schieberegister ausgeben?
: Hast Du überlegt für Taster und LEDs eine Matrix zu verwenden? Also gerade für Taster bietet sich das an weil Du dadurch mit viel weniger IO-Pins auskommst. Bei STM32ern kann man die Abfrage einer Matrix im Hintergrund per
Taster nochmal gedrückt wird, geht der Kanal wieder aus Also: Gegeben ist der Zustand: OFF OFF ON Taster 1 wird gedrückt ergibt: ON OFF OFF Taster 3 drücken ergibt: OFF OFF ON
-
Thread
Pin Change Interrupt oder Pin pollen?
Mainschleife je nach Auslastung mal früher oder später gepollt wird... Ist es ein mechnischer Taster, kommt noch das Entprellen dazu... ein Timerintervall mit der geeigneten Abtastrate ist ein adäquater Weg dahin, da die Mainschleife i.d.R. viel zu kurze Intervalle besitzt. Zeit verplempern durch
Hans schrieb im Beitrag #6222795: > Wann fragt ihr wie einen pin ab? > Z.b. wenn ein Taster drann geschlossen ist? Bei Tastern niemals via Pin-Change Interrupt, weil völlig unklar ist, wie oft der aufgerufen wird (wenn der Taster prellt).