commande-serie.ino
Le Minima n'a pas de radio : le port USB série devient son interface de commande. Ce mini-serveur bascule la LED et ajuste le DAC 12 bits à la lettre — parfait pour tester un montage depuis un script PC.
Matériel requis
Une Arduino UNO R4 Minima (Renesas RA4M1, Cortex-M4 @ 14 MHz, 5 V, DAC 12 bits, sans radio) alimentée par USB ou 6-24 V. Aucun pour tester ; DAC A0 vers un multimètre pour la démo.
Câblage
LED sur 13 (ou LED_BUILTIN) ; A0 vers l'instrument de mesure. Moniteur série à 9600 bauds, fin de ligne "aucun".
Fonctionnement
Serial.available/read lit les caractères sans bloquer ; le switch exécute la commande et répond. analogWriteDAC0 applique la tension sur A0.
Exécution
Arduino IDE 2.x (core « Arduino UNO R4 Boards » installé), choisir « Arduino UNO R4 Minima », sélectionner le port et Téléverser. Le moniteur série est à 9600.
Variantes
Remplacer les lettres par des lignes "dac=1234" (readStringUntil), ou piloter depuis Python (pyserial) pour un banc de test automatisé.
commande-serie.ino
// Mini-serveur serie : 'l' LED, 'u'/'d' DAC, 's' etat.
const int LED = 13;
int dac = 2048; // consigne DAC 0..4095
bool ledOn = false;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
Serial.println(F("l=LED u/d=DAC s=etat"));
}
void loop() {
if (!Serial.available()) return;
char c = Serial.read();
switch (c) {
case 'l':
ledOn = !ledOn;
digitalWrite(LED, ledOn);
Serial.println(ledOn ? F("LED ON") : F("LED OFF"));
break;
case 'u':
dac = min(4095, dac + 128);
analogWriteDAC0(dac);
Serial.println(dac);
break;
case 'd':
dac = max(0, dac - 128);
analogWriteDAC0(dac);
Serial.println(dac);
break;
case 's':
Serial.print(F("LED=")); Serial.print(ledOn);
Serial.print(F(" DAC=")); Serial.println(dac);
break;
}
}