potentiomete-plot.ino
Le moniteur série de l'IDE Arduino sait tracer les courbes : si une seule valeur sort par ligne, le Nano devient oscilloscope de poche. Ce croquis moyenne 16 échantillons du potentiomètre sur A0 et ajoute une barre ASCII pour les adeptes du terminal.
Matériel requis
Un Arduino Nano classique (ATmega328P à 16 MHz, brochage DIL 30 broches sur breadboard, USB mini-B, logique 5 V, broche RESET en bas à gauche). Arduino Nano, potentiomètre 10 kΩ (curseur sur A0, les deux autres broches sur 5 V et GND).
Câblage
Curseur→A0, une extrémité→5 V, autre extrémité→GND ; tout capteur 0-5 V suit le même branchement.
Fonctionnement
La moyenne sur 16 lectures divise le bruit par quatre ; analogRead utilise le convertisseur 10 bits du 328P avec référence 5 V. L'onglet Traceur de données affiche la courbe en direct.
Exécution
Dans l'IDE Arduino, sélectionnez la carte Arduino Nano et le processeur ATmega328P, choisissez le port série puis téléversez. L'alimentation 5 V de la carte convient aux capteurs 5 V ; sinon utiliser le 3,3 V des broches adaptées.
Variantes
Changez analogReference pour INTERNAL (1,1 V) sur les petits signaux, ou envoyez le tout vers le traceur Python pour des échelles multiples.
potentiomete-plot.ino
// Potentiometre sur A0 : trace ASCII + format "trace" du plotter.
// Le moniteur serie 2.x d l'IDE affiche la valeur si une seule sort.
const int CANAL = A0;
const int MOYENNE = 16;
unsigned long dernier = 0;
void setup() {
Serial.begin(115200);
analogReference(DEFAULT); // 0-5 V par defaut sur le Nano
}
void loop() {
if (millis() - dernier < 50) return; // 20 Hz
dernier = millis();
long somme = 0;
for (int i = 0; i < MOYENNE; i++) somme += analogRead(CANAL);
int brut = somme / MOYENNE; // moyenne glissante anti-bruit
float tension = brut * (5.0 / 1023.0);
Serial.print(tension, 3); // <- seule valeur : plotter IDE
Serial.print(" ");
int barreau = map(brut, 0, 1023, 0, 40);
for (int i = 0; i < barreau; i++) Serial.print('#');
Serial.println();
}