-
Thread
PORT-Frage: Active Low
Hallo, ich habe 2 Anfängerfragen zu digitalen Eingängen bzw. Tastern. Wäre nett, wenn mir jemand weiterhelfen könnte. 1) Wenn ich ein Taster drücke und er gibt entsprechend dem unten aufgeführten Ausschnitt BUTTON 2 zurück, handelt es dabei um einen Active Low
Sozusagen ne kleine Statemachine Aber die hilft nichts wenn du den Taster nicht entprellt hast (entprellen kann man Hardwaremäßig mit RC oder Softwareseitig mit nem einfachen Digitale Filter) eventuell kann man auch den Pinchange inteupt dafür verwenden muß du mal ins
-
Thread
Entprellen. Kein Widerstand gegen Vcc?
Siehe Bild beim einfachen Taster im Artikel [[Entprellung]]. Threshold Voltage von Schmitttriggerarray HEF40106B: [math]V_{T+}=3V[/math] [math]V_{T-}=2,2V[/math] Laut dem Artikel errechnet sich [math]t=20ms[/math] [math]C_1=1\mu F[/math] [math]U_{th}=2,2V[/math] [math]U_0=5V[/math] [math]R_2=\frac{-t}{C_1\cdot ln(\frac{U_{th}}{U_0})}[/math] [math]R_2 \approx 24k\Omega[/math] okay das war abwärts. wenn ich den taster loslasse, soll sich ja alles wieder regeln und über R1 laden... [math]U_{th}=3V[/math] [math]R_1 + R_2=\frac{-t}{C_1\cdot ln(1-\frac{U_{th}}{U_0})}[/math
-
Thread
Schaltung - Entprellung
Beitrag #2155235: > Der hat doch etwas mehr Flashspeicher, > sodass ich das Ganze in der Software entprellen kann. Das ist wirklich mal ein schöner Witz, habe herzlich gelacht. SW-Entprellen braucht nur lächerlich wenig Flash, SRAM und CPU-Last. Peter
des abfallenden - welligkeitsfreien Bereich verschoben werden. P.S. Ich arbeite mit PIC's und entprelle Taster grundsätzlich per Software. Anstatt einiger Bauteile sind ein paar Zeilen ASM-Code einfach und "auf der Platine" sehr platzsparend ;-) mfg Wil1
-
Thread
Erfahrungen mit RTOS auf Atmega1280 oder Atmega2560
und Code-Beispiele gelesen. Benötigte Funktionen: alle 16 AD-Ports auslesen und bearbeiten 5 Taster auslesen und bearbeiten 8 LEDs 8 Dip-Schalter Display (4-Wire-Daten, 4x20 Zeichen) I2C: Temperatur, Porterweiterung, Lichtsensor, RTC, ADC, EEPROM Hupe (Einfaches I/O Signal) Nun ist mir leider
Module schreiben und aufrufen. Das ist auch sehr übersichtlich und erweiterbar. Die ADCs und Tasten kann man prima im Timerinterrupt auslesen bzw. entprellen. Ebenso kann man dem LCD einen Textspeicher spendieren, der dann alle 200ms an das LCD geschickt wird oder im Timerinterrupt etwa ein Byte
-
Thread
Debounce - LED leuchten lassen
Hallo Leute! Ich habe aus dem AVR-GCC-Tutorial die Entprell-Routine genommen und mir ein Programm geschrieben, welches folgendes bezwecken soll: Ich habe einen ATTiny25 in Verwendung, an dem 3 Taster angeschlossen werden sollen. Wenn Taster 0 gedrückt
oder wirklich gut funktioniert. Das Tutorial schreiben ja auch nur Menschen. Gerade beim Entprellen wird sehr viel Murks gemacht, weil der Programmierer es nicht verstanden hat und es auch nicht merkt, solange die Tasten neu sind. Erst der Kunde merkt es mit der Zeit, wenn die Tasten ermüden und
-
Thread
in C Taster benutzen?
Ich würde dazu raten, sich das Thema Entprellen erstmal völlig unabhängig von einem Projekt zu erarbeiten: 1. Eine Taste + eine LED. Bei jedem Drücken wechselt die LED. Wichtig: Die Dauer des Drückens darf keine Rolle spielen! 2. 2 .. 8 Tasten + 2 .. 8 LEDs. Bei jedem Drücken wechselt die zur Taste gehörende LED. Wichtig: Jede LED muß unabhängig von jeder anderen Taste funktionieren, also auch wenn diese gedrückt gehalten bleibt! Und
-
Thread
7-Segmentanzeige
Links: die 8 Schalter habe ich. (Frage: muss/kann/soll man die hard- und/oder softwaremäßig entprellen (ich denke mir, irgendwann ist der endgültige Schaltzustand erreicht und wenn die Anzeige ein paar ms flackert macht das nichts, oder liege ich da falsch, zerstört das den uC?)) Mitte: Möchte
misch mich mal eben ein am einfachsten wäre es doch mit nem lcd display man müsste nur die 8 taster einlesen und das byte ins lcd ausgeben das fände ich persönlich einfacher dafür würds sicher auch bausätze geben
-
Thread
2x taster drucken dann led an
im Beitrag #2143939: > soviel ich herausgefunden habe verwändet man den PD6 (T1) für das den Taster wie auch deine LED kannst du an einen beliebigen IO-Pin deines Controllers hängen. Zählen kann man auch in Software :) 1. Mach dich mal damit vertraut, wie man einen Taster abfragt, zu Beginn erstmal
schon gekommen...habs auch auf den atmel raufgeschmissen und es funk. ganz gut (ist halt ohne entprellen) komme nur mit den zwei mal zählen nicht klar...
-
Thread
Mit Impuls schalten
auch hier wieder eine genau anleitung http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#.28Tasten-.29Entprellung
an ein Servo aussieht. Das sollte doch perfekt sein für einen uC. Muss ich da eigentlich noch entprellen?
-
Thread
Beispiel "Entprellun" Verständnissfrage
> Ich möchte den Code dazu bringen, mit "Low-Active" Tastern > zusammenzuarbeiten Genau das ist die von Peter bevorzugte Schaltungsweise von Tastern, weil man damit u.a. die internen Pull-Ups eines AVR verwenden kann. Du musst den Code im Artikel [[Entprellung]] für active-low Taster überhaupt nicht ändern. Oder verwechselst du vielleicht etwas mit dem Begriff. Zeige doch mal deinen Schaltplan...
-
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
Schalter zu Taster
...es geht nicht ums Entprellen...Ihr verwechselt da was... T.
temperaturabhängig ist, so dass ich einfach den 40106 (0,17 SMD bei R.) nehme, wenn es nur darum geht, Tasten zu entprellen, weil es da nicht so auf präzise definierte Werte ankommt, er leicht verfügbar ist, und bis zu 15V Versorgungsspannung verträgt. Der Vorteil der 74er Typen gegenüber den H(F)C4000er Typen
-
Thread
Atmega 8 Zähler zählt nicht zurück. entprellen?
lösen kann. wahrscheinlich muss ich die Taster entprellen aber ich weiß nicht wie es Softwaretechnisch am besten geht und an welcher stelle ich die Befehle einsetzen muss. MfG meino hier mein Programm ;-------------------------------
/articles/AVR-Tutorial:_Tasten
-
Thread
in VHDL 50MHz auf 2 Mhz runterteilen?
: Bit 2 1 0 0 0 1 <-- Fussgängertaste gedrückt 0 1 1 <-- Taste immer noch gedrückt und Ausgang wird gesetzt 1 1 1 <-- Ausgang ist gesetzt und Taste gedrückt 1 1 0 <-- Taste wird losgelassen 1 0 0 <-- Taste losgelassen
20ns). Ok ich werd die Tage mich dann auf das eigentliche Programm konzentrieren und dann das Entprellen mit einbauen!
-
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
LED ein/ausschalten
ich habe diese programm geschrieben mit Interrupt, um ein LED ein/aus zuschalten. d.h wenn ich den taster drücke soll eingeschaltet wird und wenn ich den Taster nocheinmal drücke soll die LED ausgeschlatet wird. ich kann es nur einschalten aber auschalten gehts nicht. kann jemand mir schreiben was
nicht so einfach wie man auf den ersten Blick glauben könnte. Vor allem auch deshalb, weil noch das Entprell-Problem dazu kommt. Daher: Rat an den TO Benutze 2 Tasten. Mit der einen schaltest du die LED ein, mit der anderen schaltest du sie wieder aus. Das vereinfacht die Programmierung zunächst enorm
-
Thread
Taster über RS232 abfragen
heraus (in C++ geschrieben) die serielle Schnittstelle in while() Schleife abfragt. Wenn ich einen Taster gedrückt habe, ist das korrespondierende Bit in den gelesenen Daten 1 (oder auch 0). Mal angenommen, ich möchte zählen, wie oft ein Taster gedrückt wurde. Dann funktioniert es ja so nicht: [
anzahl = 0; while( gelesenes_byte = lese_schnittstelle() ) { if( gelesenes_byte | bitmaske_fuer_taste_1 == 1 ) { anzahl++; } } [/c] denn so zähle ich ja die Anzahl der schleifendurchläufe, in denen der Taster gedrückt war. Also viel zu viel... Löst man sowas mit der Software, indem
-
Thread
Portabfrage über Whileschleife
Ach ja, berechtigter Einwand: ist nicht entprellt. Aber natürlich kannst du auch erst nach dem Entprellen die Variable New_In beschreiben, das verändert an den Flanken nix. Gruß oldmax
schnelle Signale benutzt werden. Normalerweise reicht pollen völlig aus, speziell, wenn es sich um Taster uder Kontakte handelt. Schnelle Signale sind Impulse, deren Signalzeit kürzer wie die Programmzykluszeit ist. Gruß oldmax
-
Thread
Attiny 13 mit Pin Chnage aufwecken. Problem
Testzwecken so). Bis hierhin scheint auch alles zu funktionieren. Per _Pin-Change-Interrupt_ durch den Taster will ich ihn dann wieder aufwecken, was manchmal funktioniert und manchmal in einem Reset resultiert! Ich bemerke das daran, dass die LED blinkt und somit die LED_flash() funktion aufgerufen wurde.
definieren (Direction und Level). Die nicht benötigten Pins als Ausgang. Zum Anderen den Tastereingang entprellen (zum Test einfach mal ein Delay).
-
Thread
EMV für Fachleute
Triacs hat keinen Knotenpunkt - Verbindung prüfen, nicht das Du das beim Layouten übersiehst! Tasten entprellen! R an Vcc (hast Du schon) und C (ca 10nF) an GND! Fuse sollte von der Sekundär- auf die Primärseite. 250V VDR auf der Primärseite ist blödsinn: 230V +10% = 253V! Offene Trafoenden
hat keinen Knotenpunkt - Verbindung prüfen, nicht > das Du das beim Layouten übersiehst! > > Tasten entprellen! > R an Vcc (hast Du schon) und C (ca 10nF) an GND! > > 250V VDR auf der Primärseite ist blödsinn: > 230V +10% = 253V! ist geändert! Hans_Dampf schrieb im Beitrag #2086430: >
-
Thread
Entprellen des MPG 106F Knitter Tasters
Hey Leute! Ich muss diesen Taster entprellen und finde im Internet keine Prellzeit und selbst wenn, glaub ich wüsst ich nicht weiter. Ich brauch des für ein Projekt und mein Projektleiter sagt, ich soll den nur mit einem Kondensator entprellen, den ich direkt an den Taster löte.. Er meinte auch ich soll doch einfach 100µF nehmen, des reicht hinten und vorne...aber ich würds dann quasi ned verstehen und deshalb hoff ich dass ihr mir hier
-
Thread
Problem mit Sprungadressen und Timer
Richtung 1 Einfahrt überfahren? if ( (PINA & (1<<PINA2)) ) { richtung1 = BESETZT; entprellen(); } // Sensor Richtung 1 Ausfahrt überfahren? if ( (PINA & (1<<PINA3)) ) { richtung1 = FREI; entprellen(); } // Sensor Richtung 2 Einfahrt überfahren? if ( (PINA & (1<<PINA4)) ) { richtung2 = BESETZT; entprellen(); } // Sensor Richtung 2 Ausfahrt überfahren? if ( (PINA & (1<<PINA5)) ) { richtung2 = FREI; entprellen(); } // Regelmäßig und häufig (beim Timer0-Interrupt
-
Thread
TFF Entprellen
seit einer Woche einen anständigen TFF auf die Reihe zu bekommen, doch hab ich Probleme mit den Tastern... Und zwar Prellen die, obwohl ich das eigentlich schon verhindert habe, glaube ich zumindestens... Ich mache das alles mit einem Board von Lattice und in der Programmiersprache ABEL. Hier der
Ffop x.d = !x.q; o.d = x.q; x.clk = takt; x.ar = reset; o.clk = takt; o.ar = reset; "Entpreller Q=!(takt&QN); QN=!(!takt&Q); END
-
Thread
Schrittmotor mit Atmega 8 warum geht PD0 als Eingang nicht?
Hallo ich möchte über ein ganz einfache Schaltung ein Unipolares Schrittmotor über 2 Taster ansteuern so dass z.B. Taster 1 gedruckt dann dreht der Motor in eine Richtung, Taster 2 gedruckt dann dreht in der andere Richtung. Mein Problem: Ich habe die zwei Taster am Port D0 und D1 des
Also Pull-UPs und High aktive Taster ?
-
Thread
Ein-Aus-Schaltung mit Relais
Möchte mit einem Taster S1, den ich entprellen möchte, mit minimalem Bauelemente- und Netzteilaufwand eine An-Aus-Speicherschaltung realisieren und dachte mir so etwas wie im angehängten Bild. Ich habe einen 8V und einen
Äh, laß mal sehen, wie funktioniert die? Eingang Out 1 1 (47nF entladen) Taste drücken -> ein kurze 0 entsteht am Eingang Kondensator wird über 220K geladen -> 0 am Ausgang, der 4.7K "hilft", die 0 zu halten. 0 0 Taste drücken -> Kondensator wird über Taster entladen
-
Thread
4 Taster an Mega32 entprellen
>ich muss 4 Taster an meinem Mega32 entprellen. Auf meiner Platine ist >noch Platz, das Programm würde ich nur ungern ändern. Timerinterrupt mit 20-50ms kostet glaub ich gerade mal 20 Zeilen Code.
Forumsuche: Taster entprellen
-
Thread
befehle werden nicht ausgeführt
[C] #include <avr/io.h> uint8_t wahl; int main(void) { // Port B // PB5 o----TASTER----o GND // active low DDRB &= ~(1<<PB5); // PB5 ist Eingang PORTB |= (1<<PB5); // mit internem Pull-up while (1) { // Taster abfragen if ( !(PINB & (1<<PB5)) ) {
<PB5))!=(1<<PB5)) { // gedrückt? while ((PINB & (1<<PB5))!=(1<<PB5)); // ja: Warten bis Taster losgelassen wahl++; } [/c] Versuch den direkten Test z.B. wie o.a. Taste entprellen geht besser, schau ins Tutorial ;) avr
-
Thread
Fernbedienung (NEC-Protokoll) mit FPGA realisieren
0) = '0' and entprell = 0 then senden:='1'; i:=0; entprell:=50000000; elsif Taste(0) = '0' and Tastev (0) = '1' and entprell = 0 then entprell:=50000000; elsif Taste(1) = '1' then senden:='1'; i:=1; elsif Taste(2) = '1' then senden:='1'; i:=2; end if; Tastev(0):=Taste(0); if entprell > 0 then entprell := entprell - 1; end if; if senden = '1' then if zahl1 = 0 then
-
Thread
Leds gleichzeitig mit verschiedenen Frequenzen steuern
/ Hier kommen wir nie hin }[/c] In den Anwendungen hab ich eh einen 10ms-Interrupt aktiv für Taster entprellen, DCF77, etc. Für konkrete Implementierung und Für und Wider siehe http://www.mikrocontroller.net/topic/139586#1282652 Von den Quellen muss nur countdown.h angepasst werden: dort
-
Thread
Benutzereingaben: polling vs. int
Hallo zusammen, ich möchte eine Art Mischpult basteln: mit Drehencodern und Tastern für die Eingabe. Konkret komme ich auf ca. 8 encoder und 50 Taster. Mein Plan sieht vor, das alles einfach per Entprell-RC-Glieder an In-Schieberegister anzuschließen, beispielsweise 74HC165, um
> Meinungen? Polling ist mehr als genug. Alle 5 oder 10 Millisekunden mal ein Blick auf die Tasten. Das reicht dicke und belastet den µC mit weniger als 1%
-
Thread
Taster Softwaretechnisch entprellen
du deinen Code eben besser organisieren. http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten
Na mit Warteschleifen. Warscheinlich stellen sich sogar dem Taster die Nackenhaare auf... doch Gast
-
Thread
Drehencoder mit AVR will nicht so wie ich gern will
mich mit dem Link den ich gepostet hab beschäftigt der ist in C das versteh ich besser ^^. Entprellen eines Tasters steht im Tutorial sogar in Assembler ! http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten
eine ASM-Routine verlinkt, die von anderen Leuten auf C und Bascom umgeschrieben wurde. > > Entprellen eines Tasters steht im Tutorial sogar in Assembler ! > http://www.mikrocontroller.net/articles/AVR-Tutorial:_Tasten Ja sicher, ich benutze (und verstehe) Peter Danneggers Entprellroutine aber
-
Thread
Entprellen nach Peter Dannegger.
Liebe Community! Ich habe eine Frage zur Entprellungs-"Komfort-Routine" von Peter Dannegger, siehe hier: http://www.mikrocontroller.net/articles/Entprellung#Interrupt-Verfahren_.28nach_Peter_Dannegger.29 Ich weiß, es wurde schon oft durchgekaut, jedoch konnte dass alles meine Fragen nicht klären. Das Hauptproblem ist, dass ich derzeit keine Möglichkeiten habe, auch nur irgendwas auf einem AVR zu testen. Trotz allem muss ich mehr oder weniger bis Sonntag ein Projekt fertigstellen, in dem ich eine Entprellung brauche. An und für sich ist die Routine ja auch sehr komfortabel, und ich habe mich
-
Thread
Counter mit Taster - Map fehlermeldung
end if; end process ; end Behavioral; [/vhdl] LED ist auf vier leds gelegt, input auf einen taster auf dem board. Die Synthese laeuft fehlerfrei, translate auch, aber bei Map bekomme ich folgende Fehlermeldung: A clock IOB / BUFGCTRL clock component pair have been found that are not placed
Du solltest auf jeden Fall die Taste entprellen und die clk-Eingänge der FFs mit einer echten Clock verbinden. Wenn der Takt mal schneller wird, bekommst du sonst sofort echte Probleme
-
Thread
Schaltung bauen, so daß keine Massenschleifen und Störungen gibt
Luca Bertoncello schrieb im Beitrag #2060078: > Die Tasten werden so gut wie nie gedruckt, außer die Taste für die > Hintergrundbeleuchtung, die aber höchstens ein paar Mal pro Tag betätigt > wird. > Warum sollten sie dann entprellen? Bisher konnte ich
lassen, ohne Probleme befürchten zu müssen. (Ich habe mal Telefone > entwickelt - ohne Filter an den Tasten. Davon sind eine Million Stück > gebaut worden. Von Reklamationen wegen prellender Tasten, ist mir nichts > bekannt.) Eine Schalthandlung, sei es nur ein Taster, verursacht Störungen und die würdest
-
Thread
Taster entprellen
Hallo Leutz! Ich möchte gerne eine Lampe mit einem Taster an und aus schalten, dazu verwende ich ein JK flip-flop und um den Taster vorher zu entprellen benutze ich ein Schmitt trigger. So weit so gut. Jetzt habe ich das Problem das ich dafür zwei bauteile
Pack doch einfach nen kleinen C an den Taster. Ist zwar die dreckige Methode, aber funktioniert einwandfrei in den meisten Fällen.
-
Thread
Tasterentprellung
Interessant für die Aufgabe ist nur das Erkennen des Wechsels. Und nein. Das Ganze hat mit Entprellen erst mal an sich überhaupt nichts zu tun. Das Entprellen sorgt nur dafür, dass du nicht auf jede kleine Flanke hereinfällst, wie sie nun mal bei Tastern durch den Prellvorgang unvermeidlich sind.
} // für den nächsten Schleifendurchgang den jetzigen // Zustand der Tasten als den alten merken KeyPressedPrevious = KeyPressedNow; } } } [/C] Das Entprellen kannst du jetzt selber mit dazu einbauen. Flankenerkennung bedeutet immer, dass man den Zustand
-
Thread
timer zeit per taster ändern
10ms einen Blick auf den Input Port wirft, dann reicht das vollkommen aus. Kein Mensch kann eine Taster schneller drücken bzw. drücken-loslassen. Das viel größere Problem (und auch der Grund, warum ein Interrupt bei Tastenbetätigung keine gute Idee ist) ist, das Tasten prellen. Eine gute, bewährte
für Multiplexen der Ebenen - TIMER1 für umschalten der Bilder - astabile Kippstufe an INT0 - 3 Taster an normale PINS, entprellen und in einem dritten Timer abfragen - wenn Taster für umschalten zwischen kippstufe und Timer für Geschwindigkeit des Bildumschaltens gedrückt wird -> TIMSK entsprechend
-
Thread
Tasterentprellung aus AVR-Tut auf in eigenem Programm anwenden!
legen, darin den Drehgeber auswerten, über einen (Software-)Teiler (Zählregister) jede 10. Runde die Tasten entprellen und über einen weiteren Teiler jede 100. Tastenrunde (1000. Interrupt-Runde) die Uhr hochzählen. Und wenn die Uhr noch wecken soll und das Wecksignal per Count-Down deaktiviert werden
darin den Drehgeber auswerten, > über einen (Software-)Teiler (Zählregister) jede 10. Runde die Tasten > entprellen und über einen weiteren Teiler jede 100. Tastenrunde (1000. > Interrupt-Runde) die Uhr hochzählen. > > Und wenn die Uhr noch wecken soll und das Wecksignal per Count-Down > deaktiviert
-
Thread
Taster entprellen funktion "get8key" ?
Hallo, auch wenn das Thema schon schon sehr oft behandelt wurde habe ich trotzdem noch eine Verständnisfrage zur Tastenentprellroutine mit timer interrupt von Peter Dannegger: Ich verstehe diesen (entscheidenden Teil) nicht so wirklich: get8key: ;/old state iwr1 iwr0 mov iwr0, key_old ;00110011 10101010 00110011 in key_old, key_pin ;11110000 eor iwr0, key_old ; 11000011 com key_old ;00001111 mov iwr1, key_state ; 10101010