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
analogRead: Pin-Nummern zählen?
13.06.2015, 21:35
Beitrag #1
analogRead: Pin-Nummern zählen?
hallo,
normalerweise verwendet man ja für analogRead(Pin) A0-A11. Dies lässt sich in for-Schleifen aber schlecht hochzählen per Increment.
Darf man datür auch analogRead[0] - analogRead[11] verwenden? oder sind die Analog-Pin-Nummern andere Zahlen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.06.2015, 08:03 (Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2015 08:17 von Thorsten Pferdekämper.)
Beitrag #2
RE: analogRead: Pin-Nummern zählen?
Hi,
das folgende Coding findet man in der Datei pins_arduino.h:
Code:
static const uint8_t A0 = 14;
static const uint8_t A1 = 15;
static const uint8_t A2 = 16;
static const uint8_t A3 = 17;
static const uint8_t A4 = 18;
static const uint8_t A5 = 19;
static const uint8_t A6 = 20;
static const uint8_t A7 = 21;
Die Datei befindet sich im Pfad <Arduino>\hardware\arduino\avr\variants\<variant>.
Für den Uno ist <variant> "standard", ansonsten sieh selbst nach, was es da so alles gibt.
Anscheinend kann man immer davon ausgehen, dass die Pins aufsteigend nummeriert sind und es keine Lücken gibt. Also müsste etwas wie das hier immer funktionieren:
Code:
for( uint8_t pin = A0; pin <= A7; pin++) {
   blabla = analogRead(pin);
   ...
}
Gruß,
Thorsten

Nachtrag:
Wenn man eine richtige IDE (z.B. Eclipse) verwendet, dann braucht es zur Beantwortung solcher Fragen nur zwei Mausklicks.

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
14.06.2015, 10:43 (Dieser Beitrag wurde zuletzt bearbeitet: 14.06.2015 11:07 von HaWe.)
Beitrag #3
RE: analogRead: Pin-Nummern zählen?
danke, für die AVRs habe ich das tatsächlich schon mal gelesen -
aber aufsteigend über A7 (D21) hinaus geht ja sicher nicht, denn 22 ist ja beim Due (und Mega) schon wieder ein normaler DPin.

Ziemlich durcheinander die ganze Sache...
ich werde mir mal A0 bis A11 auf Serial anzeigen lassen...8-)

Code:
for(int i=A0; i<=A11; ++i) Serial.println(i);

Code:
// A0-A11 für Arduino Due
54
55
56
57
58
59
60
61
62
63
64
65
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
14.06.2015, 11:24
Beitrag #4
RE: analogRead: Pin-Nummern zählen?
(14.06.2015 10:43)HaWe schrieb:  danke, für die AVRs habe ich das tatsächlich schon mal gelesen -
aber aufsteigend über A7 (D21) hinaus geht ja sicher nicht, denn 22 ist ja beim Due (und Mega) schon wieder ein normaler DPin.
Na und? Man kann die analog-Pins auch als ganz normale digitale Pins verwenden. Außerdem fängt Ax beim Mega/Due mit 54 an.

Für den Due sieht das übrigens so aus:
Code:
static const uint8_t A0  = 54;
static const uint8_t A1  = 55;
static const uint8_t A2  = 56;
static const uint8_t A3  = 57;
static const uint8_t A4  = 58;
static const uint8_t A5  = 59;
static const uint8_t A6  = 60;
static const uint8_t A7  = 61;
static const uint8_t A8  = 62;
static const uint8_t A9  = 63;
static const uint8_t A10 = 64;
static const uint8_t A11 = 65;
Pfad dazu ist <arduino>\sam\variants\arduino_due_x\variant.h

...und für den Mega
Code:
static const uint8_t A0 = 54;
static const uint8_t A1 = 55;
static const uint8_t A2 = 56;
static const uint8_t A3 = 57;
static const uint8_t A4 = 58;
static const uint8_t A5 = 59;
static const uint8_t A6 = 60;
static const uint8_t A7 = 61;
static const uint8_t A8 = 62;
static const uint8_t A9 = 63;
static const uint8_t A10 = 64;
static const uint8_t A11 = 65;
static const uint8_t A12 = 66;
static const uint8_t A13 = 67;
static const uint8_t A14 = 68;
static const uint8_t A15 = 69;
Gruß,
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
14.06.2015, 12:01
Beitrag #5
RE: analogRead: Pin-Nummern zählen?
ja, hab ich doch auch geschrieben: 54-65 durchgängig, nicht 14-21 wie du zuerst schriebst.

das Problem mit einer Lücke ergäbe ein Problem beim iterativen Abfragen von A0 bis A11, aber wenn es durchgängig ab 54 aufwärts ist, dann ist es ja wieder einfach.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  [gelöst] wire.h blockiert analogRead Rupert 6 95 08.12.2016 18:03
Letzter Beitrag: hotsystems
  4 Anzeigen mit unterschiedlichen zufälligen Zahlen Gravia 4 433 10.02.2016 06:05
Letzter Beitrag: Gravia
  Problem mit Division zweier Zahlen torsten_156 3 461 18.12.2015 22:09
Letzter Beitrag: Bitklopfer
  AnalogRead aus Loop-Schleife auskoppeln dna5544 7 1.483 16.07.2015 12:31
Letzter Beitrag: dna5544
  Serial Monitor Zahlen Senden über 9 paq 7 2.037 18.05.2015 08:48
Letzter Beitrag: Scherheinz
  LCD Zahlen Formatierung Kaito164 24 5.235 21.02.2015 13:23
Letzter Beitrag: Kaito164
  .read() liest nur zahlen anstatt character kraweuschuasta 1 1.250 27.02.2014 21:10
Letzter Beitrag: kraweuschuasta
  Zahlen vom Serieller Monitor verarbeiten Sascha87 1 1.277 16.01.2014 10:47
Letzter Beitrag: Stefan
  10er zahlen in binärzahlen - noobfrage schatten14 9 3.821 14.01.2014 12:17
Letzter Beitrag: Stefan
  Pulse zählen Coleby 8 8.317 05.01.2014 10:10
Letzter Beitrag: Coleby

Gehe zu:


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