clignotante.ino
Un premier programme pour vérifier que la carte fonctionne : la LED intégrée de la broche 13 clignote une fois par seconde. Le code utilise millis() plutôt que delay() pour rester réactif, et affiche chaque changement d'état sur le moniteur série à 9600 bauds.
Matériel requis
Une Arduino Pro Mini (ATmega328P, existe en 5 V/16 MHz et 3,3 V/8 MHz) reliée à un convertisseur USB-série (FTDI) ou un programmeur ICSP. Aucun composant externe nécessaire, la LED de la carte suffit.
Câblage
Rien à câbler : la LED utilisateur est déjà reliée à la broche 13 (via une résistance interne).
Fonctionnement
La boucle compare millis() (temps en ms depuis le démarrage) à la dernière bascule. Toutes les secondes, l'état de la broche est inversé avec digitalWrite et un message est envoyé sur le port série.
Exécution
Choisissez « Arduino Pro Mini » dans l'IDE (5 V/16 MHz ou 3,3 V/8 MHz selon votre modèle), le processeur ATmega328P, le bon port, puis Téléverser. Le convertisseur doit être câblé DTR-DTR, RX-TX, TX-RX, VCC-VCC, GND-GND.
Variantes
Remplacez millis() par delay(500) pour une version plus simple, ou branchez une LED externe avec résistance 330 Ω sur une autre broche.
clignotante.ino
// Clignotement de la LED intégrée (broche 13 sur la plupart des cartes Arduino).
const int LED = 13; // LED_BUILTIN est aussi définie par le core
const long PERIODE = 1000; // ms entre deux changements d'état
bool etat = false;
unsigned long dernierChangement = 0;
void setup() {
pinMode(LED, OUTPUT);
Serial.begin(9600);
Serial.println(F("Clignotement demarre"));
}
void loop() {
unsigned long maintenant = millis();
if (maintenant - dernierChangement >= PERIODE) {
dernierChangement = maintenant;
etat = !etat;
digitalWrite(LED, etat ? HIGH : LOW);
Serial.println(etat ? F("LED ON") : F("LED OFF"));
}
// millis() et non delay() : la boucle reste libre pour d'autres taches.
}