ARDUINO ATMEGA2560 - Lettura ingressi analogici

Ciao a tutti!
Il mio problema del giorno è questo:
Ho una scheda ATMEGA2560 e dovrei leggere tutti e 16 gli ingressi analogici disponibili e per snellire lo sketch mi era venuto in mente di eseguire la lettura dentro un ciclo for ma non so come passare alla funzione analogRead() ad ogni ciclo for l'ingresso analogico successivo.
qualche spunto?
Grazie anticipatamente :slight_smile:

Ciao, abbastanza facile, i pin analogici A0, A1, ecc. li puoi identificare anche con la notazione numerica 55, 56, ecc. (se non rcordo male l'ultimo digitale è 54) quindi nel for parti da 55 in poi e hai risolto

... non capisco il problema ... gli ingressi analogici sono dei normali pin che hanno un numero. Dal "core" :

#define PIN_A0   (54)
#define PIN_A1   (55)
#define PIN_A2   (56)
#define PIN_A3   (57)
#define PIN_A4   (58)
#define PIN_A5   (59)
#define PIN_A6   (60)
#define PIN_A7   (61)
#define PIN_A8   (62)
#define PIN_A9   (63)
#define PIN_A10  (64)
#define PIN_A11  (65)
#define PIN_A12  (66)
#define PIN_A13  (67)
#define PIN_A14  (68)
#define PIN_A15  (69)

static const uint8_t A0 = PIN_A0;
static const uint8_t A1 = PIN_A1;
static const uint8_t A2 = PIN_A2;
static const uint8_t A3 = PIN_A3;
static const uint8_t A4 = PIN_A4;
static const uint8_t A5 = PIN_A5;
static const uint8_t A6 = PIN_A6;
static const uint8_t A7 = PIN_A7;
static const uint8_t A8 = PIN_A8;
static const uint8_t A9 = PIN_A9;
static const uint8_t A10 = PIN_A10;
static const uint8_t A11 = PIN_A11;
static const uint8_t A12 = PIN_A12;
static const uint8_t A13 = PIN_A13;
static const uint8_t A14 = PIN_A14;
static const uint8_t A15 = PIN_A15;

... quindi fai un for per l'indice che va dal pin di partenza a quello di arrivo e sei a posto.

Guglielmo

Grazie per la dritta!
Ti confermo che l'ultimo ingresso digitale è il numero 54!
:slight_smile:

LUCA_ELETTRA:
Ti confermo che l'ultimo ingresso digitale è il numero 54!

NO, è 53, infatti, come vedi dal post sopra, gli analogici partono con A0 che il 54 e terminano con A15 che è il 69.

Ti ricordo comunque che, all'occorrenza, gli analogici possono essere usati anche come pin digitali :slight_smile:

Guglielmo

Grazie Guglielmo!
Il mio problema è la poca conoscenza dell'HW e dell'IDE arduino come per esempio dove si trovano le define che hai postato :frowning:

Si trovano nella cartella "variants" (sono le varie varianti rispetto ad Arduno UNO) ...
... *arduino\hardware\arduino\avr\variants*

Guglielmo

P.S.: ... mentre il vero e proprio "core" di Arduno UNO lo trovi in **arduino\hardware\arduino\avr\cores\arduino**

:slight_smile: ci ero arrivato vicino!
Stavo guardando i vari files dentro la directory cores

Grazie ancora :slight_smile: