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
Drehencoder an Analogpins?
11.10.2016, 15:33
Beitrag #9
RE: Drehencoder an Analogpins?
Hab ich aber gerade nicht hier.

Das Mopped sollte bis zum Wochenende rennen, da muss ich ne Fußbodenheizung trockenheizenTongue
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2016, 15:36
Beitrag #10
RE: Drehencoder an Analogpins?
(11.10.2016 15:11)ardu_arne schrieb:  Dem Display kannst du auch einen I²C-Adapter spendieren. Dann sparst du ein paar Pins ein.

Und Beispiele für den Drehencoder findest du hier.

So einen habe ich an einem 16x2 und an einem 20x4 dran. Funktioniert gut. Infos dazu

Gruß Tommy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2016, 15:47
Beitrag #11
RE: Drehencoder an Analogpins?
Hmmmm, schön.....
bringt mir nur grad nixDodgy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2016, 17:18
Beitrag #12
RE: Drehencoder an Analogpins?
Hallo,
das vielleicht?

Code:
//******************************************** Encoder ***************************************************

static int pinA = 18;
static int pinB = 19;
volatile byte aFlag = 0;
volatile byte bFlag = 0;
volatile byte encoderPos = 0;
volatile byte oldEncPos = 0;
volatile byte reading = 0;


void setup()    
{



//****************************************     PinEncoder     ********************************

pinMode(pinA, INPUT_PULLUP);
  pinMode(pinB, INPUT_PULLUP);
  attachInterrupt(4,PinA,RISING);
  attachInterrupt(5,PinB,RISING);

Serial.begin(19200);
}
void PinA(){
  cli(); //stop interrupts happening before we read pin values
  reading = PIND & 0xC; // read all eight pin values then strip away all but pinA and pinB's values
  if(reading == B00001100 && aFlag) { //check that we have both pins at detent (HIGH) and that we are expecting detent on this pin's rising edge
    encoderPos = (encoderPos +23)%24; //decrement the encoder's position count
  
    bFlag = 0; //reset flags for the next turn
    aFlag = 0; //reset flags for the next turn
  }
  else if (reading == B00000100) bFlag = 1; //signal that we're expecting pinB to signal the transition to detent from free rotation
  sei(); //restart interrupts
  
}

void PinB(){
  cli(); //stop interrupts happening before we read pin values
  reading = PIND & 0xC; //read all eight pin values then strip away all but pinA and pinB's values
  if (reading == B00001100 && bFlag) { //check that we have both pins at detent (HIGH) and that we are expecting detent on this pin's rising edge
    encoderPos = (encoderPos +1)%24 ; //increment the encoder's position count
  
    bFlag = 0; //reset flags for the next turn
    aFlag = 0; //reset flags for the next turn
  }
  else if (reading == B00001000) aFlag = 1; //signal that we're expecting pinA to signal the transition to detent from free rotation
  sei(); //restart interrupts
}
void loop()
{



Serial.print("Pos ");
      Serial.print(encoderPos);
       Serial.println(" ");
  
  

  
if(oldEncPos != encoderPos)
{
oldEncPos = encoderPos;
}

}
Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2016, 18:50
Beitrag #13
RE: Drehencoder an Analogpins?
Gibt´s da iwo n deutsches Tutorial zu?

Will das ja auch verstehenShy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2016, 19:14 (Dieser Beitrag wurde zuletzt bearbeitet: 11.10.2016 19:17 von SkobyMobil.)
Beitrag #14
RE: Drehencoder an Analogpins?
Hallo,
nicht das ich wüßte...
der Encoder löst einen IRQ aus, dann wird ein Flag gesetzt und sich gemerkt.
Über "encoderPos" gezählt.
Wenn Du einen fertigen Sketch mit BDA suchst, dann mußte wohl selbst ran. Ist doch alles wichtige erklärt.
Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2016, 19:23
Beitrag #15
RE: Drehencoder an Analogpins?
BDA????
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
11.10.2016, 19:38
Beitrag #16
RE: Drehencoder an Analogpins?
(11.10.2016 19:23)Uwa schrieb:  BDA????


BDA

Gruß und Spaß
Andreas
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Taster, Drehencoder und 7 Segmentanzeige Pinsparend am Arduino Michael Thielmann 6 873 30.12.2015 19:06
Letzter Beitrag: Binatone

Gehe zu:


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