-
Thread
LED blinken mit Taster an/ausschalten will nicht so recht
LED soll beginnen zu blinken, wenn der Taster gedrückt wurde. Die Leuchtdauer und "Auszeit" wird über die Variable zeitmerker eingestellt. Wenn der Taster erneut gedrückt wird, soll das Programm anhalten, hierzu die Variable "statusProgramm".
Ich möchte die Qualität einer Entprell-Routine, die unnötig Rechenzeit verbrät (mit _delay_us(150);) grundsätzlich in Frage stellen. Und die Entprellung ist garantiert falsch: [c] debounce( (uint8_t*)&PINB, (1<<Taster1) )
-
Thread
Anzeige für Stockschützen
lahmsten Programmiersprache der Welt laufen, denn sonst ist ja nix zu tun. Außer das Einlesen und [[Entprellen]] der Taster. Das langweilt den RasPi immer noch!
" am > Monitor bedeutet hier die Bahnnummer. Ist aber nicht zwingend notwendig. > Mit den +/- Tasten sollen die Spielstände manuell eingetippt werden, > (Auf/Ab...für links und rechts, 00-Taste für Reset auf 00 : 00). Was fuer eine Tastatur? Wo? Wie angeschlossen?
-
Thread
Atmega16 als IR-Fernbedienung
Hallo, die Kondensatore parallel zu den Tastern habe ich zur Funkenlöschung angelötet. Entprellen mache ich nicht, da ich ja über externe Interrupts gehe und diese dann deaktiviere und erst nach ca 100 ms wieder freigebe. Ich benutze die externen
aktiviere ich ja die internen Pullups für Pin 16/17, sprich INT0 und INT1. Und an denen hängen ja die Taster.
-
Thread
Transistorschaltung und PCB Design
wurde aber ein Serienwiderstand zum Taster vergessen. Das führt dazu, dass der Kondensator schlagartig über den Taster entladen wird und die Kontakte auf Dauer sehr leiden müssen. Ich würde den Kondensator eher als ESD Maßnahme sehen und weniger zum Entprellen des Signals, und dann reichen 100pF auch aus.
-
Thread
STM32F105 Parameter im Code zur Laufzeit updaten
hier, die Peter Danneggers Tastenentprellung schon mehrtausendfach benötigt haben, weil sie das Entprellen ihrer Taste aus eigener Kraft nicht zuwege bringen, in der Lage sind, sich _mal eben_ ein kleines und tatsächlich funktionables wear-leveling auszudenken und zu implementieren? ich nicht. W.S
die Peter > Danneggers Tastenentprellung schon mehrtausendfach benötigt haben, weil > sie das Entprellen ihrer Taste aus eigener Kraft nicht zuwege bringen, > in der Lage sind, sich mal eben ein kleines und tatsächlich > funktionables wear-leveling auszudenken und zu implementieren? > > ich nicht
-
Thread
Problem mit Entprellung?
Ich bastel im Moment mein erstes µC-Projekt. Aus dem AVR-Tutorial habe ich diese Funktion zum entprellen kopiert: inline uint8_t debounce(volatile uint8_t *port, uint8_t pin) { if ( ! (*port & (1 << pin)) ) { /* Pin wurde auf Masse gezogen, 100ms warten */
Warum verwendet eigentlich niemand einen 74C922 bzw. 74C923 um Taster/Tastaturen zum µC anzuschliessen. Dann gibt es keine Tastenprellprobleme mehr...
-
Thread
erstes C-Programm läuft nicht am AVR
Array counter[] notwendig ist. Das Programm wird zyklisch über die ISR ausgeführt und scannt alle Tasten (in meinem Falle gerade nur 2) Prellt die Taste nicht wird der Zähler bis auf 5 erhöht, und schaltet in diesem falle eine stelle des Arrays outputs[] auf eins was signalisiert das die Taste ohne
0; } Aber sobald ich die Funktion wieder rein nehme is wieder alles im eimer... Das entprellen der Tasten klappt eigentlich auch, denn wenn ich die funktion blinken rausnehme und nur die LED toggeln lasse kann ich die ohne Probleme an und auch wieder ausschalten. werde aber gerne deine
-
Thread
Interrupt an ATmega32
Ich würde dazu keinen Interrupt nehmen, sondern einen normalen Eingang pollen (und entprellen). Der Goldcap speichert Energie für mehrere Minuten (ein Goldcap 0,1F hat genug Energie für mehr als eine halbe Minute Soundausgabe mit Tiny85 über HS-PWM direkt auf Lautsprecher), da hast Du verdammt
wrote: > Ich würde dazu keinen Interrupt nehmen, sondern einen normalen Eingang > pollen (und entprellen). Der Goldcap speichert Energie für mehrere > Minuten (ein Goldcap 0,1F hat genug Energie für mehr als eine halbe > Minute Soundausgabe mit Tiny85 über HS-PWM direkt auf Lautsprecher), da > hast
-
Thread
IC4017 Dekadenzähler letzten Stand "merken" nach Einschaltung
an der Batterie (Falls man den Zähler beabsichtigt länger nicht zu benutzen, Urlaub o.ä.) - Ein Taster -> Reset (Pin 15, Reset) - Ein Taster -> Weiterschalten und LED kurz aufleuchten lassen (Pin 14 Clock) - Ein Taster -> LED kurz aufleuchten lassen Werde am Wochenende mal herumexperimentieren
Hallo Jörg, > So wie Du den Taster derzeit angeschlossen hast würde der 4017 unkontrolliert > "zählen" weil kein Kondensator zum entprellen angeschlossen ist (oder ein Widerstand fehlt)? Auf meinem Breadboard steckt einer drin,
-
Thread
zeitschaltung zur darstellung der UHRZEIT
vorgeschlagen. Meiner Schaltung fehlt noch eine Möglichkeit, die Uhr zu stellen. Einfach wäre je ein Taster mit R und Entprell-C zum Hochzählen der Minuten und Stunden, indem je ein EXOR-Gatter CD4030 /CD4070 bzw. 74HC86 in die "Puls-pro-Minute" und "Puls-pro-Stunde" Leitung eingefügt würde. Wenn man
programmiert (TTL/CMOS) oder komfortabel und flexibel auf einem AVR (dann evtl. gleich noch mit LCD und Tasten oder DCF77), das eigentliche Problem bleibt doch: - Magnetventile für 230V (Netzspannung, Einhaltung der VDE-Vorschriften) - Wasser (feuchte Umgebung, entsprechend dichtes Gehäuse) - relativ
-
Thread
Tastenstatus während Druck überprüfen
Sicherheit für viele von Euch eine Anfängerfrage. Ich programmiere in C mit einem ATmega8. Problem: Taster 1 gedrückt -> rote LED leuchtet Taster 2 gedrückt -> gelbe LED leuchtet Taster 1+2 gedrückt -> rote,gelbe,grüne LED leuchtet. Lasse ich nun einen der Taster wieder los ändert sich der Status der
Tasten fragt manmit einem Timer raster und einer Zustandsmaschine ab.
-
Thread
Interner Button Launchpad
sollte es das) in realem Code nicht vor. In realem Code sollte das dann so stehen [C] #define TASTER_PORT P1IN // Port, an dem der Taster hängt #define TASTER 3 // Taster hängt am Pin 3 vom Port 1 #define LED_POPRT P1OUT // POrt, an dem die LED hängt #define LED 7 // Diese LED hängt am Pin 7 .... if( TASTER_PORT & ( 1 << TASTER ) ) LED_PORT |= ( 1 << LED ); else LED_PORT &= ~( 1 << LED ); [/C] und wenn dann irgendwann mal die LED vom Pin 7 auf den Pin 5 umziehen muss (wegen zb Hardware
-
Thread
LED hat dauerhaft Spannung egal ob an oder aus
Bereite dich schonmal drauf vor, den Eingang in der Software zu entprellen...
Arduino zu entprellen und Auszuwerten. Ich werde mal ausprobieren was dabei raus kommt. Und zu meinem Arduino sollte das ganze dann ganz sicher galvanisch getrennt sein ;)
-
Thread
Anfängerfrage zu µC und BASCOM
Abschätzung der zeitlichen Abläufe. Ansonsten bietet Bascom da etliche eingebaute Funktionen zum Thema Tasten. Stichworte Entprellen von Tasten Interrupt Gruß aus Berlin Michael
ATMega8515 IMHO bereits entprellt. Zumindest hatte ich mit dem STK500-Board und den darauf befindlichen Tasten bislang keinerlei Probleme damit. Ich lasse die Tastenabfragen ja auch meistens in Schleifen laufen, wie ein nachtriggerbares "Monoflop", erst beim Loslassen der Taste wird's interessant. Dann läuft
-
Thread
Einstieg in die Welt der Mikrocontroller leicht gemacht: Onlinekurs zum ESP32 im Mai
anschließend irgendwelche Fachkenntnisse erworben haben? Mich erinnert das an die überdimensionale ENTER-Taste: "da mußt du draufdrücken, wenn die Lampe angeht". Anschließend hat man gelernt, auf die Taste zu drücken, .. na eben wenn die Lampe angeht. Ist doch was, oder? Mal im Ernst: Alles hat seine richtige
schreibt einer, der sich zu dämlich anstellt, die Signale für nen simplen Drehgeber sauber zu entprellen. W.S.
-
Thread
Pollin RFID Board Sicherheitssystem
Debounce ist vermutlich eine Bascom Funktion zum Entprellen von Tasten. Da du in deiner "Programmbeschreibung" nichts von Tasten geschrieben hast, kannst du diesen Teil auch weglassen ;-)
...ansonste kann man in Bascom auch mal die F1-Taste bemühen!
-
Thread
[C] GCC Atmega32, Menü über Funktionspointer, PeDa Entprellung, unterscheidet key_short/long nicht
questions/133214/is-there-a-typical-state-machine-implementation-pattern/9322528#9322528 Zum Entprellen der Tasten benutze ich den Code von PeDa. Hier mal der grobe Aufbau des Menüs: [code] Optionsmenü <-----> Option 1 <--> Option 1 einstellen ^ ^ |
Variable zuzuweisen, kann ich nicht überblicken. Zumindest können die if/else-Ketten bewirken, daß Tasten längere Zeit nicht ausgewertet werden, weil sie weiter hinten in der Kette stehen. Ich habe in Menüs die Tasten immer direkt ausgewertet. Dann ist es auch möglich, daß die selbe Taste in einem Kontext
-
Thread
Abfrage einer Folientastatur
Wenn du noch ein paar Dioden dazwischentust, müsstest du alle Tasten an einen Pin anschließen können. Musst die Dioden halt so einbauen, dass Strom zum Controller fließt aber nicht zurück. Also bräuchte man für jede Taste eine Diode. Wenn man dann eine Taste drückt, spricht der Interrupt an, die Dioden verhindern jedoch, dass alle Tasten kurzgeschlossen sind. mfg Michael
-
Thread
Lauflicht spezial
Sekunde wäre gut) und sie sollen auch anbleiben. Ich soll das ANgehen der LED's jederzeit mit einem Taster anhalten können, wobei die die bereits AN sind auch AN bleiben. Wenn ich den Taster loslasse sollen das ANgehen weiterlaufen. Wenn alle LED's AN sind sollen ALLE LED'S zusammen 3 mal blinken und der
spart man sich das Dekodieren und die Schaltung wird einfacher. Aber bloß nicht vergessen, die Tasten zu entprellen (RC-Glied mit Schmitt-Trigger) ! Oder man programmiert nen ATtiny2313 dafür, dann braucht man nur einen Chip. Peter
-
Thread
switch-case ausdruck!
statt switch case die if anweisung benutze funktioneiert es. aber mich ist das break wichtig, da die taster nach dem drücken in diesem zustand bleiben sollen und nicht mehr verändert werden.
[C] if(!(PIND&(1<<PIND2))) //irgendein Taster wurde gedrueckt, entprellt. [/C] Du scheinst umständlicher Weise eine externe Entprell-Hardware zu benutzen. Trotzdem sollte man immer einen Port einmalig in eine Variable einlesen, wenn man
-
Thread
Tastenentprellung mit Bascom
Taste nicht gedrückt ist. Ist sie gedrückt, wird die variable erhöht. Ist ein Schwellwert überschritten, so gilt die taste als gedrückt. Die Auswertung erfolgt grundsätzlich NICHT im Interrupt! [c] ISR
; while(1) { if ( u8TasteGedr = 1 ) { u8TasteGedr = 0; .. mach was mit Tastendruck und lösche ihn .. } //-- Anzeige auf Display au8Display [ Stelle 0..3 ] = au8Zahl[ anzuzeigende Ziffer 0..9 ];
-
Thread
arduino encoder problem
zurückdrehen wieder auf Null kommen. Stattdessen kommt einmal 400, das nächste mal -20 usw. raus. Zum Entprellen habe ich folgende Schaltung zusammengelötet. Hatte aber statt den 10 nF nur 100nF hier. Leider ergab dies keine Änderung
war noch eine Frage offen: >>> Welchen "Encoder"? Es gibt nicht nur einen einzigen... > Zum Entprellen habe ich folgende Schaltung zusammengelötet. Dreh mal den Encoder gaaaaaaaannnnnnzzzz lllllaaaaaaannnnggggssssaaaaammmm und miss die Spannung an den Pins. Was siehst du da? Wenn du gut bist kannst
-
Thread
dcf77 empfänger
klein anfangen: - LED an bzw. ausschalten - LED blinken (Delay Loop, Timerinterrupt) - LED mit Taster schalten, dabei merken, daß man den Taster entprellen muß - mehrere LEDs mit mehreren Tastern gleichzeitig schalten, d.h. lernen, wie man mehrere Aufgaben quasi gleichzeitig macht - LEDs in der Helligkeit
-
Thread
Eingangssignale mit delay einlesen
verzögert einzulesen? z.B. > Es wird als high erkannt, wenn es mind. 100ms anliegt Wie bei einem Taster auch: Entprellen. Der Entprellsoftware ist es egal, warum der Eingang "wackelt". > Wie kann ich das geschickt programmieren, wenn ich mehrere > Eingangssignale habe, ich kann ja nicht für jedes
Danke für die Antworten. Ja klar Entprellen ist das Stichwort. Ich habe hier im Forum diesen Beitrag gefunden und habe zu dem Code von Peter Danegger eine Frage: http://www.mikrocontroller.net/topic/164194#3803833
-
Thread
Eingangsschaltung für Reed-Schalter, Taster etc..
Ich möchte mit folgender Schalterung Reed-Relais, Taster oder sonstige potentialfreien Kontakte einlesen. Leitungslänge soll bis einige Meter möglich sein. J6 und J7 werden gegen J8 extern geschaltet. A3 und A4 sind direkt die Ports einer ATSAMD21G18A
articles/Entprellung#Einfacher_Taster > ESD, Surge und sonstige Einkopplungen sollten halt nicht direkt die MCU > killen. Da kann man ggf. noch eine ESD-Diode an den Eingang packen.
-
Thread
Zeit von einem Tastendruck Messen
Man könnte auch das Entprellen, das gedrückt erkennen und das lange gedrückt erkennen im Timerinterrupt zusammen fassen. Und damit es sich auch lohnt, das Ganze für bis zu 8 Tasten gleichzeitig. Wobei das lange gedrückt erkennen nur für eine Taste gleichzeitig ausreichen sollte. Das Beispiel ist allerdings nur in C geschrieben: http://www.mikrocontroller.net/attachment.php/252480/C_TAST.C Peter
-
Thread
Eingangsabfrage und Kontaktentprellung funktioniert nicht richtig in AVR Studio 4
reagiert wird, und dann mal exakt 2 sekunden! nur warum? :( christian [c] // Funktion: Taster entprellen und abfragen int status_standardtaster(void) { warten = 0; do { if ( (PIND & (1<<PIND5)) ) // Eingangssignal vorhanden? { warten = warten + 1;
die bedingte Wertzuweisung nicht gefällt. Genaugenommen muss man für exakte 1000ms gedrückten Taster auch noch den Pin abfragen. Im Code oben könnte man den Taster 25ms vor Schluss loslassen, das while verlassen weil warten == 0 wird und trotzdem ein 1 zurückgeben! [C] // Taster immer noch
-
Thread
Steigende Flanke mit Funktion klappt nicht
gedacht: [c] bool Eingang[64] = {false}; bool arraytest[40] = {false};; [/c] [c] void R_TRIG_Taster(bool bit,int bitnr, bool array[]) { if(!array[bitnr] && bit) //Taster wird gedrueckt (steigende Flanke) { array[bitnr] = true; } else if (array[bitnr] && bit) //Taster wird gehalten { array[bitnr] = false; } else */ //Taster wird losgelassen (fallende Flanke) { array[bitnr] = false; } return array; } [/c] so in der main-Schleife aufgerufen: [c] R_TRIG_Taster(Eingang[4],4, arraytest
-
Thread
Tastenmatrix spinnt herum
Du kannst im Interrupt nochmal prüfen ob und welche Taste gedrückt wurde.
Angucken. Schreibe also: PORTD = 0b11110000; um die richtigen Pullups einzuschalten. P.S. Taster per PCINT auszulesen ist - wie oben schon gesagt - wirklich die schlechteste Idee überhaupt. Prellende Taster erzeugen nicht nur mehrere Interrupts (was auch die CPU belastet), sondern sind auch noch
-
Thread
Arduino Schaltung soweit ok?
So klappt das mit den Tastern aber nicht, die Eingangspins hängen ja fest an 5 V. Jeweils einen Taster zwischen Masse und Eingangspin, und den Widerstand jeweils zwischen Eingangspin und Vcc. Für Vcc würde ich auch nicht den
Entprellen nicht vergessen!
-
Thread
Rohde Schwarz RTM3004 - merken, wollen oder können die das nicht?
> Wisst ihr was ich bei Oszis am meisten vermisse? Drei bis fuenf extra > Tasten. Wenn man die laenger drueckt dann sollte so eine Taste die > komplette Einstellung abspeichern, so wie der Senderspeicher im > Autoradio und drueckt man sie kuerzer dann wird der jeweilige Zustand
nicht das Hameg so doof ist. Leider tun sich viele Programmierer schwer damit, daß Problem Entprellen richtig zu erfassen. Sie entwickeln immer nur auf Boards mit fabrikneuen Drehgebern und Tasten. Prellende Drehgeber sind daher die Regel. Z.B. alle 5 Kaffeemautomaten in der Firma prellen.
-
Thread
Ooch nöö, jetzt ist der Thread weg
ist ein vielfaches größer. Es gibt bestimmt auch noch andere Ansätze. Wenn man die beiden Stop-Tasten parallel schaltet, reicht sogar ein ATtiny13 aus. Ein Xmega ist daher völlig oversized. Bei Dir ist ein kleiner Fehler drin, bei offenen Endschaltern soll das Tor aufgehen. Peter
Fahrt erstmal auf Start losgelassen zu warten. Sonst fährt das Tor ständig hin und her, falls die Taste klemmt. Auch würde ich die Tasten entprellen, damit kurze Störimpulse nicht plötzlich eine Fahrt auslösen oder vorzeitig anhalten. Peter
-
Thread
Timer
daß die Taste wirklich gedrückt wurde und nicht irgendein Störimpuls. Peter
ja an das entprellen hab ich schon gedacht habe ich allerdings schon hardware mäßig über logik entprellt das läuft auch ziemlich gut.
-
Thread
Diskrete Impulsverlängerung am schlauestens aufbauen?
wird dadurch > relativ lang -> MosFET kann heiss werden. Aber nur, wenn Du mit 100kHz auf der Taste rumhämmerst. Das hier ist statischer Betrieb, da wirken nur die ohmschen Verluste.
Da du zwei Monoflops in dem Kerlchen hast, benutze doch das eine noch, um den Taster zu entprellen. Wie immer bei CMOS vergiss den Abblockkondensator zwischen Vcc und Gnd nicht. Dem BC547 macht es übrigens so gut wie nichts aus, wenn er ein komplett entladenens Gate mal volladen
-
Thread
Verbesserungen für PWM-Code?
"... die Tasten nicht per Timer abzufragen, sondern per ext. Interrupt auszuwerten." ??? Timerinterrupt ist doch genau richtig zum Abfragen und Entprellen. Peter
Ich dachte mir das so, dass sobald eine Taste gedrückt wird ein Interrupt ausgelöst wird. Dieser soll dann in gewissen Intervallen mehrmals hintereinander die Taste erneut abfragen, und wenn die Taste dann z.b. viermal hintereinander als gedrückt
-
Thread
Programm läuft nur im Simulator
Hallo Armin, 1) Wie schnell ist Dein Takt? 2) Wenn STD_S und MIN_S Taster sind, mußt Du die noch entprellen. 3) In die sensitivity-List müssen nur die asynchronen Signale. [vhdl] Statemachine_01: process (takt, reset, AB_02, AB_03, ZUSTAND
Danke für den Tipp mit der MIN_S Taste. Hab mich da noch mal dran gegeben und die Uhr komplett neu gemacht und jetzt läuft es...
-
Thread
ATmega128 und die Interrupts
richtig. wenn ich den atmega resete oder frisch einschalte geht jeder der durch die 3 taster ausgelösten interrupts ( was ich durch die 3 leds an Port E sehen kann , die interrupts reagieren alle auf positive flanke ). mein problem liegt jetzt darin, dass wenn ich einen taster betätige der
Folgende Punkte solltest du noch beachten: Jeder Taster prellt, daher z.b. mittels Software entprellen. Durch das Prellen wird das entsprechende Flag erneut gesetzt. Daher vor Rückkehr aus der Interrupt-Routine das entsprechende Flag zurücksetzen. Während
-
Thread
konventionell Taster über 24V einlesen
Wie würde man denn die Beschaltung für den Taster an vernünftigesten (Kosten, Platz, ..) mit der heutigen Technik lösen. Naturlich wäre der Freibrennstrom zu beachten. Ich gehe hier sicherheitshalber mal von etwa 20 mA aus. Ich denke mein aktueller
ich aktuell nur mit 5VDC - nicht schön, aber funktioniert ohne Probleme. Die Boards unter den Taster lesen nicht nur die Taster ein, sondern liefern auch noch Temparatur und Luftfeuchtigkeit über den Bus. Ebenfalls mit an Board ein Buzzer. Zusätzlich möchte ich im weiteren Schritt noch die Reedkontakte
-
Thread
Interrupts mit AT2560 für Tastendruck
Öh? Tasten? Interrupt? Ich glaube das hatten wir hier schonmal. Suche bitte danach.
Vergiss Tasten mit einem Interrupt abzufragen. So wichtig ist ein Tastendruck auch wieder nicht. Zudemm muss man entprellen.
-
Thread
Von D-FF zu T-FF
@Falk Brunner: Ist das ein Taster oder ein Wechselschalter (SPDT)?
einfach? theCube schrieb im Beitrag #3672965: > Der Counter soll manuell (per Pushbutton) Taster und Logik-ICs vertragen sich nicht. Das mindeste ist ein RC-Glied + 74HC14 zum Entprellen. Oder man nimmt gleich nen MC (z.B. ATtiny24).
-
Thread
Tasterprobleme...
und anders verlegt und plötzlich lösen die Funtkionen aus ohne das die Taster gedrückt sind. An den Tastern kann es nicht liegen, da ich die schon abgezogen hab. KAnn es sein, dass ich mir auf den Kabeln irgendwas einfange ? Kann ein blöder Anfängerfehler sein ? Motor aus, alles
würde die Eingänge mit 1k / 10nF "taub" machen und auch noch ordentlich (4-fach) per Software entprellen. ...
-
Thread
attiny13 aufwecken aus power down modus
später gesetzt wird. die delays sind bloß für des minimalbeispiel da, in meinem Programm sind die Tasten "ordentlich" entprellt > Mach Dir mal nen PAP, wie das Sleep gestartet und wie es wieder > verlassen werden soll. Was bitte ist PAP das sleep soll beginnen, wenn taste lang gedrückt wurde
noch 2 seltsame Verhalten: .) Ich kann den AVR in den Schlafmodus schicken aber mit der gleichen taste nicht mehr aufwecken .) Bei jedem Tastendruck des Encoders (#define TASTER (1 << PB2)) wird der AVR aufgeweckt (und nur dann) und beginnt den main-Vorgang abzuarbeiten.
-
Thread
74HC164 testen
> Als Takt hab ich einen Taster gewählt, der bei Knopfdruck einen 5V > Impuls ausgibt. Nöö. Der gibt dir mehrere Impulse aus wenn du ihn einmal betätigst. Stichwort "ENTPRELLEN". Was genau willst du WO messen? Irgendwie
kannst das Prellen mit einer R/C-Kombi in den Griff bekommen, also einen Kondensator parallel zum Taster und in die Leitung nach Vcc einen Widerstand rein. Mit einer Zeitkonstante um die 100ms bist du definitiv auf der sicheren Seite.
-
Thread
Taktgeber mono-/astabil
Ich glaube, das passt: Elektor_1981_07/08_Schaltung 54 Prellfrei, nur eine Taste.
Für den Einzelschritt muss der Taster aber entprellt werden, mit Peda's Schmitt-Trigger 74HC132 gingen zum Beispiel diese beiden Schaltungen: https://www.marco-bastelt.de/tools/schaltungen/basics/taster-entprellen/ Und einen Oszillator
-
Thread
MCU Auswahl für Temperaturanzeige mit OLED
sie in 2sec einmal auslese. Den ADC kann ich ja in einer Timer Int auslesen. Ich habe vor Tasten zur Umschaltung der Werte (4 gleichzeitig auf dem OLED) in der Main abzufragen wenn ich aber jetzt dan in ein Sub gehe die Temps berechne und dann das OLED beschriebe was denke ich mal sehr lange dauert
sehr langsam, oder? Hier wäre dann mein 2.Problem wie Strukturiere ich dies wo Frage ich die Tasten ab, etc.....
-
Thread
Noise Filter für UART?
Um eine Taste zu entprellen habe ich mal das hier geschrieben: [vhdl]library ieee; use ieee.std_logic_1164.all; use IEEE.numeric_std.all; entity Pin_debounce is Port ( CLK : in STD_LOGIC; PIN_in
läuft dann auf ein CIC hinaus. Da kann man oft auch einen trägen Tiefpass nehmen, wie ich es beim Entprellen-Artikel reingeschrieben habe. Normalerweise reicht sowas. Generell ist der Tiefpass und Filterung nötig, wenn man runtersampelt, um z.B. auf der Datentaktrate arbeiten zu können.
-
Thread
ATmega328p bleibt ohne Programmer stehen
} } } uint8_t checkKey(){ if(PINB != 0x0F){ _delay_ms(60); //entprellen if(PINB != 0x0F){ while(PINB != 0x0F){ //warten bis taste losgelassen PORTD &= ~(1<<PD0); //Kontroll-LED an } PORTD |= (1<<PD0)
irgendwas zu haben das ich auf den µC schreiben kann. Meine LED hing schon an PD7 und für den Taster war ich zu faul die Pins zu zählen, daher hab ich den ganzen Port genommen :D
-
Thread
Das erste Mal Atmega32
wissen will, wenn ein Taster gedrückt wurde. Deshalb habe ich mich nun für einen Atmega32 entscheiden, finde aber nirgends Hinweise darauf, wie ich diesen eigentlich Anschließen muss. Bei google gibt es viele verschiedene
Timerinterrupt zum Tasten einlesen und entprellen. Dein PC liest USB-Tastatur, Maus auch nur alle 10ms ein.
-
Thread
Was läuft parallel im FPGA? - Verständnisfragen
mir aber nicht sicher warum. Das Programm (nennt man Synthetisierten VHDL Code so?) soll einen Taster entprellen und bei steigender Flanke eine Variable bis 255 hoch zählen und den Wert der Variable dann an 8 LEDs ausgeben. (Kompletter Code unten) Was mir Kopfzerbrechen bereitet ist nun die Auswertung
vhdl] library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.std_logic_unsigned.all; entity taster is Port ( taster : in STD_LOGIC; sysclk : in STD_LOGIC; led : out STD_LOGIC_VECTOR (7 downto 0)); end taster; architecture Behavioral of taster is
-
Thread
Liftsteuerung im C, Interrupt goto Gesperrt
1<<6)) #define Motor_ME_ON (Anzeige &= ~(1<<7)) /*PIND*/ #define ruf_1_stock (Taster & (1<<0)) #define ruf_2_stock (Taster & (1<<1)) #define ruf_3_stock (Taster & (1<<2)) #define Stop_taster (Taster & (1<<3)) /*PINA*/ #define pos_referenz (Position
dann wieder aus, dafür aber alle anderen an. Wer diese Steuerung entwickelt hat, für den war Entprellen und sichere Datenübertragung bestimmt ein Fremdwort. Ich verstehe auch nicht, warum da immer noch Glühbirnchen in den Tasten sind, die gehen so oft kaputt. Im Winter gabs oft Probleme, wenn