INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Zähler in verschiedenen Modi betreiben
24.09.2014, 16:52
Beitrag #1
Zähler in verschiedenen Modi betreiben
Hallo,
folgendes Szenario möchte ich realisieren:
Mit einem Taster sollen zwischen drei Zuständen (X,Y,Z) geschaltet werden und mit einem Drehgeber wird ein Zähler angesteuert --> das klappt auch soweit.

Im Zustand X kann man am (Drehgeber)-rad drehen wie man will, der Zähler soll nicht mucken.
Mit dem Drehgeber soll im Zustand Y (und nur in diesem Zustand) ein Zähler zwischen -25 und + 25 zählen .
Im Zustand Z soll der Zähler auf den Wert 0 gesetzt sein und nur zwischen 0 und bis max 10 zählen.

Nun meine Probleme: Bislang lief mein nachfolgender Sketch, aber nach dem "bereingen" einiger Baustellen stehe ich auf dem Schlauch und weiß nicht, warum er jetzt nicht mehr läuft. Ich glaube, es hat was mit dem Phänom "Wald und Bäume" zu tun.
Problem 2: Wie sag ichs meinem kleinen Nano, das mit den Zählerwerten??
Vielen Dank für Eure Tipps und Gnade, ich habe erst seit einer Woche den Arduino und keine Erfahrung mit programmieren.

#define CHA 2
#define CHB 3
volatile int master_count = 0; // universal count
volatile byte INTFLAG1 = 0; // interrupt status flag
#include "OneButton.h"

void setup() {
pinMode(CHA, INPUT);
pinMode(CHB, INPUT);
pinMode(CHA, INPUT_PULLUP);
pinMode(CHB, INPUT_PULLUP);
Serial.begin(9600);
Serial.println(master_count);

void loop() {
if (INTFLAG1) {
INTFLAG1 = 0; // clear flag
Serial.println(master_count);
delay(1);
} // end if

// Anfang LED-Steuerung Pin 10 für Bedingungserfüllung
if (master_count >=5) {
digitalWrite (10, HIGH);
}
if (master_count <=4) {
digitalWrite (10, LOW);}
// Ende LED-Steuerung Pin 10 für Bedingungserfüllung


}

void flag() {
INTFLAG1 = 1;
// add 1 to count for CW
if (digitalRead(CHA) && !digitalRead(CHB)) {
master_count++ ;
}
// subtract 1 from count for CCW
if (digitalRead(CHA) && digitalRead(CHB)) {
master_count-- ;
}
}
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.09.2014, 17:01
Beitrag #2
RE: Zähler in verschiedenen Modi betreiben
Hi,
da fehlt so einiges. Sollte da nicht z.B. irgendwo ein attachInterrupt sein?
Gruss,
Thorsten

Falls ich mit einer Antwort helfen konnte, wuerde ich mich freuen, ein paar Fotos oder auch ein kleines Filmchen des zugehoerigen Projekts zu sehen.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.09.2014, 10:19 (Dieser Beitrag wurde zuletzt bearbeitet: 25.09.2014 11:36 von Nimes.)
Beitrag #3
RE: Zähler in verschiedenen Modi betreiben
(24.09.2014 17:01)Thorsten Pferdekämper schrieb:  Hi,
da fehlt so einiges. Sollte da nicht z.B. irgendwo ein attachInterrupt sein?
Gruss,
Thorsten

Genau das war es. Der fehlende Schnipsel nun eingefügt:
.....
Serial.begin(9600);
Serial.println(master_count);

attachInterrupt(0, flag, RISING);
// interrupt 0 digital pin 2 positive edge trigger
}

void loop() {
....
Danke Dir Thorsten,
der Zähler arbeitet wieder korrekt (soll heißen zählt rauf und runter), allerdings nicht wann er soll und auch nicht nur zwischen den Zahlen -25 bis +25 im Mode Y bzw. 0..bis 10 im Mode Z.
Den Taster habe ich eingebaut und er funkioniert auch, aber ich habe keinen Plan, wie ich den restlichen Teil der Aufgabe angehen soll.
Bislang habe ich versucht die void flag-Anweisung einfach nach der Abfage X, Y oder Z zu setzen, leider ohne Erfolg, also ungefähr so:
Wenn Modus = Y dann
void flag() {
INTFLAG1 = 1;
// add 1 to count for CW
if (digitalRead(CHA) && !digitalRead(CHB)) {
master_count++ ;
}
// subtract 1 from count for CCW
if (digitalRead(CHA) && digitalRead(CHB)) {
master_count-- ;
}

So einfach scheint es aber nicht zu sein Sad
Habt ein wenig Geduld, aber viel läuft bei mir durch try and error - auch, weil ich bislang noch keine guten und verständlichen Anleitungen gefunden habe.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Zähler Uwe1475 14 1.449 03.09.2016 20:45
Letzter Beitrag: Uwe1475
  "Nichtlineare" Zähler Turbo-S 13 680 20.07.2016 19:38
Letzter Beitrag: Turbo-S
  Analoger Eingang mit 3 verschiedenen Schaltvorgängen Tueftler1971 33 861 06.06.2016 14:17
Letzter Beitrag: Tueftler1971
  Hardware Zähler MasT3r-A 4 528 24.01.2016 21:33
Letzter Beitrag: ardu_arne
  Array mit Zähler steuern ferdi 20 1.614 19.11.2015 15:11
Letzter Beitrag: ardu_arne
  Div. Modi mit unterschiedlichen PWM Robbie01011987 3 602 13.10.2015 22:13
Letzter Beitrag: Bitklopfer
  BCD Zähler 0-9999 peterunterhofer 6 1.351 06.03.2015 12:49
Letzter Beitrag: Foto-Ralf
  Taschenlampen Modi ein/aus schalten timsson 8 1.356 15.02.2015 13:53
Letzter Beitrag: timsson
Bug Zähler von 0 - 1023 mit Rotary Encoder....Wie??? Wampo 1 1.497 15.12.2013 13:48
Letzter Beitrag: Wampo

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste