analogique.ino
El ADC de 12 bits de la GIGA muestrea a 50 Hz con promedio móvil de 32 muestras: el trazador serie muestra una curva limpia, lista para un sensor analógico real (0-3,3 V).
Hardware necesario
Un Arduino GIGA R1 WiFi (STM32H747, módulo radio 1DX: Wi-Fi b/g/n + BLE, antena u.FL incluida), alimentado por USB-C. 1 sensor analógico 0-3,3 V (cursor de potenciómetro, salida de módulo acondicionada).
Cableado
Señal en A0, GND común. Nunca superar 3,3 V: el ADC no tolera 5 V.
Funcionamiento
El búfer circular de 32 valores suaviza sin asignación; analogReadResolution alinea el ancho con el nativo del STM32H7. Muestrear a 50 Hz deja el M7 libre. En el Arduino IDE, plataforma « Arduino Zephyr-based Boards », placa « Arduino Giga R1 »; monte la antena u.FL antes de usar la radio y suba.
Para ir más lejos
Disparad una alerta fuera de rango, o enviad la media por CAN (sketch dedicado).
analogique.ino
// Capteur analogique sur A0 : ADC 12 bits + moyenne glissante.
const int CANAL = A0;
const int FENETRE = 32;
uint16_t tampon[FENETRE];
int tete = 0;
unsigned long precedent = 0;
void setup() {
analogReadResolution(12); // 0..4095 pour 0..3,3 V
Serial.begin(115200);
}
void loop() {
if (millis() - precedent < 20) return; // 50 Hz
precedent = millis();
tampon[tete] = analogRead(CANAL);
tete = (tete + 1) % FENETRE;
uint32_t somme = 0;
for (int i = 0; i < FENETRE; i++) somme += tampon[i];
float moyenne = (float)somme / FENETRE;
float volts = moyenne * 3.3f / 4095.0f;
Serial.printf("%6.1f %.3f V\n", moyenne, volts); // traceur serie
}