potentiometre.ino

GD32F103 (GigaDevice) — chip + placas compatibles Blue Pill · Archivo : potentiometre.ino · Lenguaje : Arduino · Uso : Visualiser un potentiomètre sur l'ADC 12 bits

El ADC del GD32 es 12 bits nativo: el potenciómetro se lee en 4096 niveles y el formato «bruto ; voltios» alimenta directamente el trazador serie del IDE. El promedio de 8 muestras limpia el ruido.

Hardware necesario

Una placa de desarrollo GD32F103C8T6 (Cortex-M3 a 108 MHz, compatible pin a pin con Blue Pill), alimentada a 3,3 V/5 V, con un adaptador ST-Link o serie. 1 potenciómetro de 10 kΩ (cursor en PA0, patas a 3,3 V y GND).

Cableado

Cursor en PA0; nunca más de 3,3 V en un pin ADC (la placa es de 3,3 V, no de 5 V).

Funcionamiento

analogReadResolution(12) explicita el ancho nativo; el reloj ADC se ajusta para precisión. El promedio software divide el ruido por √8, suficiente para un sensor lento. Con Arduino: instale el core « STM32F1 » (Roger Clark, gestor de placas) y elija la placa « GD32F103C »; el LED de usuario es PC13 (activo en LOW). En C: biblioteca de firmware GD32F10x + ST-Link.

Para ir más lejos

Piloten la respiración del sketch anterior con este potenciómetro (map() entre ADC y 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);
}

← Volver a la ficha