7 Septembre 2025
Quantité : 13
Propriétés :
Cet afficheur 4 digits est compatible Grove et n'a besoin que de 2 sorties pour être commandé par une carte Arduino ou Seeeduino.
Ce module se raccorde sur une sortie du Grove Base Shield ou du Mega Shield via un câble 4 conducteurs inclus.
Référence Seeedstudio: 104030003 (remplace LED05291P)
Pour le faire fonctionner :
Ajouter à la librairie :
Télécharger le dossier zippé ci-dessous :
voir ci-dessous :
Le montage :
On branche l'afficheur sur D2 sur la base Shield Grove.
Interrupteur sur 5V
Programme test : copier/coller dans arduino
#include "TM1637Display.h"
// Broches du port Grove D2 (D2 = CLK, D3 = DIO)
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
void setup() {
display.setBrightness(0x0f); // Luminosité max
}
void loop() {
int number = 1234;
display.showNumberDec(number);
delay(1000);
for (int i = 0; i < 10000; i++) {
display.showNumberDec(i, true); // true = zéros à gauche
delay(100);
}
}
Programme chronomètre : copier/coller dans arduino
#include <TM1637Display.h>
// Broches du module Grove 4-Digit Display
#define CLK 2
#define DIO 3
TM1637Display display(CLK, DIO);
unsigned long previousMillis = 0;
int seconds = 0;
bool running = false; // indique si le chrono tourne ou non
void setup() {
Serial.begin(9600);
display.setBrightness(0x0f); // Luminosité maximale
display.showNumberDecEx(0, 0b01000000, true); // Affiche 00:00
Serial.println("Appuie sur Entrée pour démarrer le chronomètre...");
}
void loop() {
// Vérifie si l'utilisateur a appuyé sur Entrée dans le moniteur série
if (Serial.available() > 0) {
String input = Serial.readStringUntil('\n'); // Lecture jusqu’à la touche Entrée
if (input.length() == 0) { // Si juste "Entrée"
running = true;
seconds = 0;
previousMillis = millis();
Serial.println("Chronomètre démarré !");
}
}
// Si le chronomètre est en marche
if (running) {
unsigned long currentMillis = millis();
if (currentMillis - previousMillis >= 1000) {
previousMillis = currentMillis;
seconds++;
}
int minutes = seconds / 60;
int secs = seconds % 60;
int displayTime = minutes * 100 + secs;
display.showNumberDecEx(displayTime, 0b01000000, true); // ":" activé
}
}