commande-serie.ino

Arduino UNO R4 Minima · Fichier : commande-serie.ino · Langage : Arduino · Usage : Piloter broches et DAC depuis le moniteur série

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;
  }
}

← Retour à la fiche