🛠 Programmer par FTDI et dompter le bootloader

LilyPad Arduino · avance · Schéma : IMG-lilypad-avance-2-lilypad-ftdi-bootloader.svg — LilyPad reliée à un adaptateur FTDI USB-série, ligne DTR mise en évidence et quartz 8 MHz encadré à côté d'un 16 MHz barré.

Objetivos

Dominar la cadena de programación FTDI → LilyPad: controlador VCP, puerto serie, bootloader ATmegaBOOT (hex «pro 8 MHz» compatible con Optiboot), reinicio automático mediante la línea DTR, velocidad de carga de 57600 baudios para la opción ATmega328P. Y saber diagnosticar un bootloader o un reloj mal configurados.

Material

Código completo

// Test de chaîne : timing exact + série pour valider bootloader, FTDI et horloge
// Carte requise : « LilyPad Arduino » (ATmega328P @ 8 MHz, upload 57600 bauds)
const uint8_t LED = 13;

void setup {
  Serial.begin(9600);
  Serial.println(F("Boot OK — 8 MHz"));
  pinMode(LED, OUTPUT);
}

void loop {
  unsigned long t0 = micros;
  digitalWrite(LED, HIGH);
  delay(1000);                   // doit durer 1,000 s pile si F_CPU = 8 MHz
  digitalWrite(LED, LOW);
  unsigned long t1 = micros;
  Serial.print(F("delay(1000) mesure : ")); // ~1 000 000 µs attendu
  Serial.print(t1 - t0);                    // ~2 000 000 => configuré 16 MHz !
  Serial.println(F(" us"));
  delay(1000);
}

Verificación esperada

Tras la carga, el monitor serie (9600) muestra «Boot OK — 8 MHz» y luego líneas cercanas a 1 000 000 µs: el bootloader, el reloj y el FTDI son correctos. El reinicio automático funciona: cada vez que se hace clic en «Cargar», el IDE reinicia la placa sin necesidad de pulsar el botón. Un factor de 2 (≈2 000 000 µs) indica una configuración de 16 MHz.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales