-
Thread
Telefon-Wählscheibe mit Attiny13 Ausgang auf low setzen
++Ziffer; Timerzaehler_neu = 0; Timerzaehler_alt = 0; } //-----Taster für Betätigung der Wählscheibe entprellen, und Rücklauf in Ausgangsstellung erfassen---- ++Timerzaehler_neu_2; if (!(PINB&0b000000001)) { if (Timerzaehler_neu_2 - Timerzaehler_alt
++Ziffer; Timerzaehler_neu = 0; Timerzaehler_alt = 0; } //-----Taster für Betätigung der Wählscheibe entprellen, und Rücklauf in Ausgangsstellung erfassen---- ++Timerzaehler_neu_2; if (!(PINB&0b000000001)) { if (Timerzaehler_neu_2 - Timerzaehler_alt
-
Thread
Zwei Taster einlesen, Entprellen, Flankenerkennung
Hallo, ich arbeite gerade an einem Menü für ein LCD Display und möchte dazu zwei (nicht entprellte) Taster zur Navigation einlesen. Bisher mache ich das so: [c] void sw_read (void) { uint8_t read; read = PINB; //Einlesen der Taste read &= 0b00000110; //Betrachte nur PB1 (down) und PB2 (up) if( read & (1<<PB2) ) state++; //uint8_t, variable der State Machine if( read & (1<<PB1) ) state--; _delay_ms(150); //Zeit zum Loslassen und Tasterprellen }[/c] Funktiniert zwar, aber leider ist die Bedienung
-
Thread
Taste auswerten
Hallo, Ich habe bereits den Beitrag: http://www.mikrocontroller.net/topic/tasten-entprellen-bulletproof gelesen, jedoch brauche noch etwas Hilfe. Kann mir jemand sagen, wo nun der Quellcode (in C wäre mir lieber) der letzten bzw. aktuellen Version der Tastenentprellung von Peter Dannegger zu finden ist? Brauche eine Entprellung für eine Taste. Ich möchte die Taste wie folgt auswerten: Taste wird gedrückt und gedrückt gehalten, nach Entprellen möchte ich dann z.B. einen Pin des Atmega32 auf high schalten. Wenn die Taste wieder losgelassen
-
Thread
7segment anzeige C
habe da ein kleines Problem ich möchte gerne eine 7 Segment anzeige per Pic32 steuern und mit 2 Tasten kontroliern!die erste taste ist für Aufzählen und die zweite ist für abzählen. Ich habe bis jetzt problem mit "Tasten einlesen" und Entprellen. Ich hoffe ihr könnt mir helfen. Mit freundlichem
-
Thread
Erste Versuche mit dem Entwicklungsboard MikroElektronika EasyPIC v7
Das werde ich am Nachmittag, wenn ich mehr Zeit habe machen. Kann ich einen Taster nicht einfach mit if((Taster0 & 0x01) == 1) { ... } abfragen?
Ja richtig. So kann man Tasten entprellen.
-
Thread
Taster-Entprellung am Tiny13 in Assembler
die Infos von hier: http://www.mikrocontroller.net/topic/tasten-entprellen-bulletproof#41625 Rolf Hegewald schrieb im Beitrag #2493418: > Hier werden oft Taster-Umschaltungen, z.B. für Weichen, Signale usw. > benötigt. Naja, ich frug nach, um Dir evtl.
schrieb im Beitrag #2500753: > Hallo Hannes, Hallo Rolf... > ich habe mich erst mal auf eine Taste am Tiny13 konzentriert. Ob eine Taste oder bis zu 8 Tasten, das ist beim Entprellen kein Unterschied. Ein Byte hat 8 Bit, somit können 8 Tasten gleichzeitig behandelt werden wenn man es richtig
-
Thread
STM32 debounce Entprellung Zeitverzögerung Empfehlenswerte Verfahren
Hallo, ich möchte Softwaretechnisch Fehlimpulse herausfiltern und Entprellen. Dazu benötige ich erstmal eine Zeitverzögerung. Ich habe diesen Artikel dazu gefunden. http://www.emcu.it/STM32/STM32Discovery-Debounce/STM32Discovery-InputWithDebounce_Output_UART_SPI_SysTick.html
Interrupts auch schnell abschalten > wenn man sie nicht braucht? Das verwirrt mich jetzt. Wenn ich entprellen will, interessiert mich ob eine Taste gedrückt ist und evtl. noch, ob sie nach einer bestimmten Zeit immer noch gedrückt ist. Damit kann ich kurze von langen Tastendrücken unterscheiden. Auf jeden
-
Thread
Taster sehr weit von ATmega16 entfernt
24V ueber Steuerleitungen zum Dachboden, Sps Taster (zB Gira) sollte reichen. Optokopler muss nicht unbedingt sein, wenn sauber vom Netz getrennt, denke ich. Spannungsteiler davor,so dimensionieren, dass interne Schutzdioden greifen muesste fast schon
reichen bereits die langsamsten, billigsten Teile aus. Die Soft braucht sich dann höchstens ums Entprellen zu kümmern, was aber bei OK-Schaltungen oft gar nicht nötig ist.
-
Thread
Taster - externen Interrupt Problem
ganz von alleine größer solange du den Taster gedrückt hältst.
geht natürlich auch, wenn die Taster nicht prellen :-)
-
Thread
Fast PWM mit Tiny13
'Ausgang für LED blau Config Portb.3 = Input 'Eingang für Taster an PB3 Config Timer0 = Pwm , Compare A Pwm = Clear Down , Prescale = 1 'Timer für 8-Bit PWM einstellen Taster1 Alias Pinb.3 'Taster Konfiguration Config Taster1 = Input Portb.3 = 1 'PullUp-Widerstand einschalten Do Debounce Taster1 , 0 , On_taster1 , Sub 'Taster entprellen Loop
-
Thread
Taster entprellen
hallo ich habe die Tasterentprell Routine von peter dannegger wie sie hier ist, http://www.mikrocontroller.net/articles/Entprellung#Warteschleifen-Verfahren ausprobiert das geht auch alles wunderbar aber wenn ich meine Uart routine mit einfüge geht nur noch die Uart aber keine tasten auswertung mehr for (;;) { c = uart_getchar(); //hole daten vom Uartpuffer ab if( get_key_short( 1<<KEY1 )) LED_PORT ^= 1<<LED1; if( get_key_long( 1<<KEY1 )) LED_PORT ^= 1<<LED2; // single press and repeat if( get_key_press( 1<<KEY2 ) || get_key_rpt( 1<<KEY2
-
Thread
Digital mehrere Ausgänge schalten
müsste doch ein Schieberegister seine Vorgaben erfüllen. Data Eingang auf High und mit einem Entprellen Taster (oder woher dann auch immer der Weiterschaltpuls kommt) reintakten. Mit jedem Takt geht ein weiterer Ausgang auf high.
-
Thread
Lichtschranke anschließen Atmega16
meine Reflex-Lichtschranken Testen. Mein µC will sie aber nicht erkennen oO Wenn ich den µC mit Tastern beschalte funktioniert alles. Meine LS hat 4,7V und schaltet auf 0,2V. Also funktionstüchtig In dem Programm soll sie nur mal schnell alle LED´s abschalten, was sie aber nicht tut. Wenn ich das selbe per Taster versuche funktioniert das Klasse (hab auch schon mit entprell Methode versucht und auch schon ohne) Muss ich was bestimmtes beachten? Hier ein ganze simples kastriertes Programm von mir [c]#include
-
Thread
Taster entprellen
/ LED aus LED_DDR = LED_DDR | LED_Bit; // Direction: LED Bit: // 1=output Taster_DDR = Taster_DDR & ~Taster_Bit; // Direction: Taster Bit: input pressed = 0; old_pressed = 0; pos_edge = 0; unsigned char temp_taster; while (1) { // ----- Taster Eingang ----------------------- temp_taster = Taster_PIN; if (temp_taster & 0x04 || temp_taster & 0x08) { Taster_input = 0; } else { Taster_input = 1; } // ---- Zustandsautomat für Entprellung -----
-
Thread
Tasten entprellen
Moin, hab mal eine kleine Frage bezüglich des Enprellens von Tasten. Hab bei meinem Projekt drei Tasten die entprellt werden müssen. Dazu hab ich die Methode Debounce-Makro von Peter Dannegger benutzt, welche auch super funktioniert. An dieser Stelle auch besten dank an Peter!!! Nun hab ich ein Problem, denn es lassen sich irgendwie nicht gleichzeitig zwei Tasten überprüfen ob sie gedrückt worden. Ich brauche diese Funktion, da eine Aktion ausgeführt werden soll, wenn zwei Taster gleichzeitig gedrückt werden. Hab gestern schon zwei Stunden rum probiert aber bin zu keinem funktionierenden
-
Thread
RFM01/02 Basics
Der Taster irritiert mich. Wenn das so sein soll, dann entprellen nicht vergessen. Die Daten vom GPs kommen als Stream von Strings. Die kann man auch zyklisch auswerten. Pufferverwaltung und Fehlerbehandlung
Winfried J. schrieb im Beitrag #2501150: > Der Taster irritiert mich. > Wenn das so sein soll, dann entprellen nicht vergessen. > dafür gibt's in Bascom den High-Level Befehl Debounce
-
Thread
Taster Abfragen (Selbstabschaltung)
, den Taster gerne weiter auswerten.
Die tasten Erkennung, ich habe am PIN2 vom Taster ja keine 5V anliegen da liegt GND Potential...
-
Thread
Pin Interrupt löst Reset aus
--------- //Interrupt Service Rputine des Timers 2A ISR (TIMER2_COMPA_vect) { //Start des Entprell Zählers if( TASTER_GEDRUECKT() ) { tasten_zeit++; printf("tasten_zeit: %d \r", tasten_zeit); } else tasten_zeit = 0; //Tastenmodus 2 setzen (Taster lange
--------- //Interrupt Service Rputine des Timers 2A ISR (TIMER2_COMPA_vect) { //Start des Entprell Zählers if( TASTER_GEDRUECKT() ) { tasten_zeit++; printf("tasten_zeit: %d \r", tasten_zeit); } else tasten_zeit = 0; //Tastenmodus 2 setzen (Taster lange
-
Thread
Mehrere Buttons an einem Interrupt Pin
Bits entprellen, kann entfallen wenn du die Abfragefrequenz schon ganz vernünftig wählst. Vierter, die Bits sperren, sodass du die Taste erst wieder loslassen musst bevor die Freigabe erneut erteilt wird.
Abstürzen bringen. http://www.mikrocontroller.net/topic/200829#1973180 AUch lustig: Seine Tasten lösen gegenseitig aus. D.h. er braucht noch nicht einmal entprellen.
-
Thread
Viele Drehimpulsgeber an einem PIC
Ich würde die Geber mit Pullups an ganz normale Portpins anschließen. Softwaremäßig das Ganze entprellen, wie bei einem Taster. Pro Drehgeber hast du zwei Signale (Anschlüsse) mit zwei möglichen Zustande. Macht in Kombination vier. Da machst du die für jeden einzelnen Drehgeber einen Zustandsautomat
> würde die Geber mit Pullups an ganz > normale Portpins anschließen. Softwaremäßig das Ganze entprellen, wie > bei einem Taster. Pro Drehgeber hast du zwei Signale (Anschlüsse) mit > zwei möglichen Zustande. Wozu soll da eine Software-Entprellung gut sein, wenn dich die Position deiner Regler interessiert
-
Thread
AVR STK500: Motoransteuerung / einfaches Assemblerprogramm
Hi! ohne entprellen, mit Sicherheitsinit, aus ist dominant: [AVRASM] ldi R16, low(Ramend) out SPL,R16 ldi R16,high(Ramend) out SPH,R16 clr R16 out PortB,R16 out PortD
Mist verschrieben, jetzt aber Hi! ohne entprellen, mit Sicherheitsinit, aus ist dominant: [AVRASM] ldi R16, low(Ramend) out SPL,R16 ldi R16,high(Ramend) out SPH,R16 clr R16 out PortB,R16 out PortD
-
Thread
attiny2313 schläft und lässt sich nicht mehr programmieren
verarscht sich der Interrupt und zählt die Sekunde mehrfach. Ich würde deshalb den DCF-Eingang wie einen Taster entprellen, allerdings etwas schneller. Auch dies würde ich den Timer-Interrupt nebenbei mit erledigen lassen. Aber, ich muss das Ding nicht bauen und werde Dir nicht vorscheiben, wie Du es realisieren
Interrupt. Beim nächsten Sleep ist dann der Idle-Mode aktiv, die Timer laufen und das Programm kann Tasten entprellen und darauf reagieren. Hier mal ein Beispiel dazu: http://www.hanneslux.de/avr/divers/melody/melody04.html http://www.hanneslux.de/avr/divers/melody/melody04.asm > Das wars. Auch wenn
-
Thread
Gabellichtschranke statuswechsel erkennung
Signal, sondern manchnal auch nach jedem 2. oder 3... Muss man eine Lichtschranke änlich wie ein Taster entprellen? Hat jemand ein gutes Tutorial parat?
maximal erkennbare Scheibendrehzahl nicht unzulässigerweise gedrückt wird. Du kannst das wie einen Taster behandeln [[AVR-Tutorial]] Im Abschnitt über Taster und Entprellung Wie sieht denn dein Programm aus und wie machst du denn jetzt die Lichtschrankenabfrage? Vielleicht hast du ja auch einfach
-
Thread
Schaltung mit 4068
setzen. Ist das in Echt auch so gelöst ? Ich würde erstmal die Weichen setzen und erst dann einen Taster zur Freigabe drücken (für alle Fahrstraßen gemeinsam). Peter
grün. Diese Schaltung hat also die gleichen Probleme, wie im gesamten Thread schon besprochen (Entprellen, setzen nur bei ansteigender Flanke, neu setzen bei bestehender Fahrstraße nicht möglich).
-
Thread
Interrupt in C 3x3x3 LED Cube
manchmal werden 2 > Programme mit einmal ausgeführt und manchmal klappt alles ... liegt das > dann am taster ? was ich mir eigentlich schon denke... Du hast höchst wahrscheinlich gerade das erste mal Tastenprellen in Aktion gesehen. Warte noch ein Weilchen, bis deine Tasten alt und abgenutzt werden. Dann
Ok da muss ich die halt noch entprellen ... danke für die Antwort :)
-
Thread
Test Bench Takt erstellen
dessen Simulation muss das ganze für gut 2 Sekunden durchsimuliert werden. Das zweite wird mit einem Taster getaktet, bei dem der Takt nur zum entprellen genutzt wird. Hierbei muss der Button immer für mindestens 1ms gedrückt, bzw. losgelassen werden, da sonst ein Wechseln nicht erkannt wird. Ich bin
-
Thread
Feedback zu ATtiny24-Prog. gewünscht
und 3 Sekunden später dreht dann die ISR tatsächlich die LED ab. (Ich verstehe, dass du deine Taste auf einen INterrupt legst, weil du später irgendwann mal einen Sleep-Modus aktivieren willst und der Taster den da rausholen soll) ISR( INT0 ) { Led einschalten ledAus = 30; } Das Prellen
Timeout-Bedarfe genutzt werden könnte (mit dann eigenen Variablen, nat.). > (Ich verstehe, dass du deine Taste auf einen INterrupt legst, weil du > später irgendwann mal einen Sleep-Modus aktivieren willst und der Taster > den da rausholen soll) Genau. [...] > Das Prellen ist in dem Fall relativ
-
Thread
Entprellen von Taste die Interrupt auslöst.
Hi an alle, ich muss für ein labor; 7-Segment anzeigen zum Darstellen von "muster" benutzen. 7-Segment Anzeige (http://www.gymnasium-sulingen.de/faecher/informatik/salcd.gif) Also das "a" (horizontale oberste) Segment der 1 Anzeige, muss nach einem Tastendruck in das "a" Segment der nebenliegenden 7-Segmentanzeige laufen. Nach erreichen der 4ten 7-Segment Anzeige wird das muster geändert. Das ganze wird über eine Taste gesteuert die an dem Port0.0 (Interrupt 0) anliegt. Was ich habe ist Ein Board an dem Tasten, LED's u.s.w. und der Micocontroller C8051F340 (von silicon labs.) sitzt. Mit
-
Thread
Unterschied ATMega 324A und 644
Serielle Schnittstelle aber nur halb so viel Flash Speicher hat. Ich habe das Programm zum Entprellen der Taster wie hier http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 kopiert und angepasst. Die richtigen Ports eingetragen, F_CPU auf 8000000 gesetzt und die
ATMega324 defekt sind? Einfaches Einschalten der LEDs funktioniert übrigens. Auch nicht entprellte Taster funktionieren. Nur wenn es was aufwendiger wird dann tut sich nichts mehr.
-
Thread
6 IO Pins für 6 Taster und 2 Duo LED (Bauteile z.B. von Pollin)
container" und verwerten die Übergabebits weiter. Die "button" Dateien bieten die Möglichkeit des Entprellens und des Autorun für eine Taste. (Autorun: wenn ein Taster eine Zeit x gedrückt wird, erzeugt er automatisch wiederkehrende Funktionsaufrufe) Wobei sich die Zeit hier direkt an die Aufrufhäufigkeit
Das Timingverhalten ist an die Funktion: io_update() gebunden. Es kann in btn.h für das Entprellen, die Zeit bis Autorun startet und wie schnell es im Autorun laufen soll eingestellt werden. Dieser Service kostet natürlich Variablen. Für jede Taste 2x8Bit in btn.c, darin enthalten sind counter
-
Thread
BASCOM AVR - Problem mit den Outputs (ATMega 8 und STK500)
Programms möglich sein noch während ein anderes Unterprogramm läuft. Als einfaches Beispiel: Taster1 wird getastet und LED1 blinkt autonom mit 5 Herz. Dies ist ja möglich, indem man eine Schleife schreibt, in welche nach Drücken von Taster1 gesprungen wird. Nun soll Taster2 getastet werden können
Startwert. Und diese Hauptschleife erledigt in jedem Durchlauf noch andere Dinge. So z.B. das Entprellen der Tasten (natürlich ohne Wait-Befehl, dafür mit Entprellzähler), das Lesen von ADC, das Abfragen der UART-Schnittstelle auf neue Daten usw. Die Hauptschleife enthält also viele kleine überschaubare
-
Thread
ATmega8 und Tastenentprellung
. Entprellen scheint nur so, daß es ohne groß nachzudenken lösbar ist, ist es aber nicht (zumindest nicht zufriedenstellend). Du kennst bestimmt auch Geräte, wo Tasten oder Drehgeber unzuverlässig sind. Genau
verschiedene Aufgaben. Der Pin-Change-Interrupt macht nur das Aufwachen. Und dann der Timerinterrupt das Tasten einlesen und entprellen. Ich behandele Programmfunktion und Stromsparen immer getrennt und nacheinander. Das macht die Programmierung deutlich einfacher und übersichtlicher. Hier ein Beispiel
-
Thread
Atmega 8 Programmieren für Anfänger (Taster und LED)
dir für deine jetzige Aufgabenstellung als notwendig vorkommt oder nicht. Wenn du dann beim Thema "Taster und Entprellen" angekommen bist, hast du das nötige Rüstzeug um dann auch zu verstehen, was da abgeht. Ich würde dir diese Dinge durchaus in Assembler ans Herz legen, denn wenn du Anfänger bist,
ist nicht eindeutig. 1. Darf Taste2 unabhängig von Taste1 gedrückt werden oder erst, nachdem Task1 abgelaufen ist? 2. Was ist, wenn eine oder beide Tasten immer gedrückt gehalten werden? 3. Ist das korrekt, daß beide Tasks LED2
-
Thread
Display Programmierung mit GCC 16x4 Display
Hast Du an diesem Pin mal die Spannung gemessen? Liegt dort wirklich ca. 5V wie bei den anderen Taster-Eingängen an? Und ändert sich diese auf ca. 0V wenn Du den Taster drückst?
Tasten sind nicht an C * oder aber dein JTAG ist noch immer eingeschaltet.
-
Thread
Was mache ich mit den Bitoperatoren falsch!?
hat sich was verändert if( TasterLinksNeu == 0 ) { // der Taster wurde gedrückt .... } TasterLinksAlt = TasterLinksNeu; } // Taster "Rechts" auswerten if( TasterRechtsNeu != TasterRechtsAlt
besser auch entprellen oder!? Die steigende Flanke könnte ich mit dem angepassten Skript für Active-high Taster ermitteln, wobei es sicher sehr ineffizient ist beide Routinen parallel arbeiten zu haben. Auch wegen dem
-
Thread
Taster entprellen
hallo, problem: ein relaisausgang von einem externen gerät steuert auf meiner schaltung ein flip flop (triger eingang). nun ist der relais ausgang ja nicht entprellt so das das flip flop wahllos sprang. ich habe ein RC glied vorgeschaltet was nur bedingt abhilfe brachte. hat jemand eine idee oder einen schaltplan wie ich mit so wenig bauteilen (möglichst klein) wie möglich eine gute entprellung machen kann? denn auf meiner platine passt nicht mehr viel drauf. irgendwas mit transistoren oder kleinem IC (8Pin). am liebsten wäre mir ne transistorschaltung (NPN, PNP) oder etwas mit dem LM393
-
Thread
PortB Change Interrupt löst sofort aus
Großartig stören tut mich der 1.Interrupt direkt am Start auch nicht, da ich jedoch den PortB Change für Taster verwende, die ein Menü steuern, bin ich stets nach Start schon bei "Menüpunkt 2"... nervt ein wenig. Danke Vinci
Interrutpfreigabe. 2. Ein externer Interrupt ist ohne zusätzlichen Aufwand völlig ungeeignet, Tasten einzulesen, da Tasten prellen. Die beste Methode ist ein Timerinterrupt zum Einlesen und Entprellen. Peter
-
Thread
Tonerzeugung mit einfachem I/O Pin
Überlauf findet im 200Hz Takt statt. Timer0 (Überlauf ca. alle 10ms) ist für das Auslesen und Entprellen der Taster verantwortlich und Timer2 generiert aktuell das PWM-Signal für die Soundausgabe. Das funktioniert soweit auch alles. Nun möchte ich aber noch die Hintergrundbeleuchtung eines LCDs per
-
Thread
Entwicklungen und Forschung um den Sparmatic Comet / Zero v2 Heizungsthermostat
brauchst Du denn genau? Der Drehgeber ist übrigens schon ziemlich schrottig, so dass die Firmware gut entprellen muss ;-)
und das System meint, der Motor bewege sich nicht. Mit der 'sparmatic2011' funktionieren auch die Tasten nicht, mit Knuts Software gehen die Tasten. Das Innenleben entspricht soweit ich das sehen konnte der "Thermy V3" wie hier beschrieben, allerdings steht bei mir eine "13" neben den JTAG-Pads, keine
-
Thread
Taster mit mehreren Funktionen
Ein Problem ist, dass Tasten beim Drücken prellen (siehe z. B. hier http://www.mikrocontroller.net/articles/Entprellung). Dagegen ist dein Programm nicht abgesichert. Du könntest den Taster auch als externen Interrupt verwenden
Thread durchgearbeitet: http://www.mikrocontroller.net/topic/236178 Und wie schon geschrieben: Taster entprellen! Volkmar
-
Thread
XC164-asssembler_schalter_entprellen
R0.0, P4.3 bmov R1.0, P4.3 compare: cmp R0, R1 jmp cc_eq, poll entprell: sub R3, #1 cmp R3, #0 jmp cc_ne, entprell jmp cc_eq, led bmov R0.0, R1.0 ;wird dies hier überhaupt einmal bmov R1.0, P4.3 ;durchloffen?Die beiden jmp befehle
sich Intervalle von 5 ... 50ms bei einer 4-fach Abtastung als optimal erwiesen. Bequemer Weise entprelle ich immer einen ganzen Input-Port, auch wenn ich nur eine Taste davon benutze. Dadurch bin ich flexibel und brauche nicht für jede Taste eine eigene Entprellung. C oder AVR-Assembler: http://
-
Thread
Turbinensteuerung
kurzgeschlossen - Ich würde über R14 und R12 noch einen C zur Filterung anbringen. - Du willst Deine Taster sicher mit dem µC verarbeiten, also macht es wenig Sinn, diese mit 24V zu betreiben. * auf 5V umbauen * passend (z.b. R + Z-Diode) auf µC Pegel ziehen - Entprell-C's über die Taster - Deine
@Hans-Dampf: > - Du willst Deine Taster sicher mit dem µC verarbeiten, also macht es > wenig Sinn, diese mit 24V zu betreiben. > * auf 5V umbauen > * passend (z.b. R + Z-Diode) auf µC Pegel ziehen > - Entprell-C's über die Taster
-
Thread
Ping-Pong über LED-Brett für Anfänger
Ausgabefunktion die anhängig von der Position die ausgabe macht. Dann noch ein funktion die die Tasten übewacht und abhängig von der Taste die position ändert. Außerdem gehen bei deinen code die LEDS nie aus.
und das bisher bestehende Programm hochgeladen. Die Balken kann ich jetzt beide über jeweils 2 Taster steuern. Im Programm ist im Moment nur 1 Balken programmiert, der andere Balken kommt noch. Dafür klemm ich die letzte LED-Reihe ab, damit ich an dem Anschluss noch einen 4. Taster anklemmen kann
-
Thread
Motor stoppt nicht wenn Endanschlagschalter außgelöst wird
Tasten entprellen ist Neuland, habe mir angesehen was die Idee dahinter ist, kann es aber nicht programmiertechnisch umsetzen... Reicht es im einfachsten Fall delay_us() auszuführen? Kann mir jemand mal
mit dem Warten mal ganz schnell und benutze es nie wieder! Die gebräuchlichste Methode zum Entprellen ist Mehrfaches Messen. D.h. der Eingang wird mehrmals gemessen und wenn er bei allen Messungen wahr war gilt es als Tastendruck. Z.b. 4 Messungen: 1 1 0 1 --> Taste nicht gedrückt 1 1 1 1 --
-
Thread
Einfache Motorsteuerung mit Endschaltern auf ATMEGA8
//(INT1) weiß gelb #define Schalter_Auf PD4 #define Schalter_Zu PD5 #define Taster_Auf PD6 #define Taster_Zu PD7 //Ausgänge #define Motor_Auf PB2 #define Motor_Zu PB3 volatile uint8_t Zeit; void delay_ms(uint16_t ms) { for(uint16_t t=
sei(); while(1) { Zeit= 11110000; if (!(PIND & (1<<PIND6))) //Taster auf { if (PIND & (1<<PIND3)) //Endschalter außen noch nicht erreicht { delay_ms (50); //Sehr simples entprellen PORTB = PORTB | ( 1 << PB2 );