potentiometre.ino

GD32F103 (GigaDevice) — puce + cartes compatibles Blue Pill · Fichier : potentiometre.ino · Langage : Arduino · Usage : Visualiser un potentiomètre sur l'ADC 12 bits

L'ADC du GD32 est 12 bits natif : le potentiomètre se lit en 4096 niveaux, et le format « brut ; volts » alimente directement le traceur série de l'IDE. La moyenne sur 8 échantillons nettoie le bruit.

Matériel requis

Une carte de développement GD32F103C8T6 (Cortex-M3 108 MHz, compatible broche à broche Blue Pill), alimentée en 3,3 V/5 V, avec un adaptateur ST-Link ou série. 1 potentiomètre 10 kΩ (curseur sur PA0, les pattes sur 3,3 V et GND).

Branchement

Curseur sur PA0 ; jamais plus de 3,3 V sur une broche ADC (la carte est en 3,3 V, pas 5 V).

Fonctionnement

analogReadResolution(12) explicite la largeur native ; l'horloge ADC se brille pour la précision. La moyenne logicielle divise le bruit par √8 — suffisant pour un capteur lent. Avec Arduino : installez le core « STM32F1 » (Roger Clark, gestionnaire de cartes) et choisissez la carte « GD32F103C » ; le LED utilisateur est PC13 (actif à LOW). En C : bibliothèque GD32F10x + ST-Link.

Pour aller plus loin

Piloter la respiration du sketch précédent avec ce potentiomètre (map() entre ADC et duty).

potentiometre.ino

// Potentiometre sur PA0 — ADC 12 bits du GD32 (0-4095 sur 0-3,3 V).
void setup() {
  Serial.begin(115200);
  analogReadResolution(12);     // explicite : 12 bits natifs du GD32
  analogReadFrequency(PA0, 200000);  // horloge ADC 200 kHz
}

void loop() {
  long brut = 0;
  for (int i = 0; i < 8; i++) brut += analogRead(PA0);
  brut /= 8;
  float volts = brut * 3.3f / 4095.0f;
  Serial.print(brut);
  Serial.print(" ; ");
  Serial.println(volts, 3);     // format trace du traceur serie
  delay(50);
}

← Retour à la fiche