Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Horloge à persistance rétinienne (POV) style analogique — Arduino Nano 17 LEDs

Principe POV

Une barre de LEDs tournant rapidement affiche une image par balayage angulaire. L'œil intègre les points successifs en une image continue (persistance rétinienne ~1/25 s).

Matériel

Organisation des LEDs (broches Arduino)

GroupeLEDsBrochesRôle
AiguillesLED1–LED11D2–D12Heures (7), Minutes (9), Secondes (11)
MarqueursLED12–LED16A1–A5Quarts (2), Heures (2), Minutes (1)
Cercle intérieurLED1 (D2)D2Repère central

Code principal (extrait)


byte hours = 12, minutes = 15, seconds = 0;
unsigned long previousTime = 0;
unsigned int propeller_posn = 30; // position angulaire 0–59
int n = 0;

void loop() {
  // Attente front montant Hall (début de tour)
  while (digitalRead(A0) == LOW);
  while (digitalRead(A0) == HIGH);

  // Mise à jour heure chaque seconde réelle
  if (millis() >= previousTime) {
    previousTime += 1000;
    if (++seconds == 60) { seconds = 0; if (++minutes == 60) { minutes = 0; if (++hours == 12) hours = 0; } }
  }

  // Balayage 60 positions par tour
  n = 0; propeller_posn = 30;
  while (n < 60) {
    drawMinuteMarker();           // LED16
    if (propeller_posn % 5 == 0)  drawHourMarker();      // LED15+14
    if (propeller_posn % 15 == 0) drawQuarterMarker();   // LED13+12
    if (propeller_posn == hours * 5) drawHoursHand();    // LED1–7
    if (propeller_posn == minutes)   drawMinutesHand();  // LED1–9
    if (propeller_posn == seconds)   drawSecondsHand();  // LED1–11

    delayMicroseconds(140); // largeur pixel (ajuster selon vitesse moteur)
    displayClear();
    drawInner_Circle();     // LED1 pulse 30 µs
    delayMicroseconds(600); // espace inter-pixels
    n++;
    propeller_posn = (propeller_posn + 1) % 60;
  }
}

Réglage critique : delayMicroseconds

Les deux valeurs (140 µs et 600 µs) dépendent de la vitesse de rotation. Augmentez pour moteur lent, diminuez pour moteur rapide. Un capteur Hall + aimant sur l'axe donne une référence angulaire précise (top-de-début-de-tour).

Difficultés rencontrées

Évolutions

Processus de fabrication

  1. Séquenceur LED avec timer 555 et compteur 4017 — Division de fréquence et anti-rebond
  2. L'Horloge à Coucou : Histoire, Artisanat et Évolution Moderne
  3. Construisez votre propre LUMAZOID : Visualiseur musical DIY Arduino
  4. Horloge POV Arduino : Construire un affichage LED à persistance rétinienne
  5. Dispositif de mesure précis de pression et débit d'air avec capteur analogique
  6. Créer votre propre jeu de roulette à 37 LED avec Arduino Nano
  7. Construire une horloge maître LED personnalisée avec alarme – Visible à 12 mètres
  8. Horloge 3D RGB Arduclock – Montre LED Bluetooth avec horloge temps réel
  9. Construisez une molette de trim d'élévateur compacte pour FlightGear avec Arduino Nano