Table des matières:
Vidéo: Un chronomètre Arduino simple et pratique : 4 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:09
Recherchez sur le Web un chronomètre Arduino. Vous venez probablement de le faire, si vous êtes ici. Par expérience personnelle, je peux vous dire que n'importe quel chronomètre sur Internet est soit beaucoup trop complexe (en code, pour les débutants), soit beaucoup trop simplifié et pas pratique, comme ceux qui ne font que compter les secondes sans se réinitialiser.
Vous le pensez aussi, hein ? Bien devinez quoi. Je l'ai fait, et de plus, je prends directement mon entrée de la fonction millis () - une ligne de nombres sans fin (jusqu'à 49 jours, ou autre). La meilleure partie? C'est une seule ligne.
La réinitialisation est la partie difficile du chronomètre. Pour les programmeurs intermédiaires, si vous ne l'avez pas déjà fait, essayez de le faire vous-même, avec des secondes, des minutes et des heures ensemble. Vous comprendrez de quoi je parle.
Pour les débutants, lisez la suite et délectez-vous du génie de mon esprit.
Je plaisante, mais la solution que j'ai trouvée est plutôt chouette. Voici ce que c'est:
Étape 1: la solution
Le problème se réinitialise donc. Ce que nous voulons, c'est un cycle de nombres continu et répétitif, à partir d'une sortie sans fin de nombres séquentiels (millis() - il compte essentiellement des millisecondes, ou en fait 1,024 millisecondes, mais peu importe).
La première chose qui vient à l'esprit est d'utiliser la différence, comme time1 -time2 et un délai. Oublie ça. Il faut au moins six lignes de code et une instruction if pour démarrer.
Voici donc comment procéder. Nous avons une limite (59). Nous voulons que tout de 0 à 59 se répète encore et encore. Comment?
Et si… on prenait le reste… de la fonction millis divisé par 59…. Bingo !
Donc, ça devrait être comme ça:
(60 [comme valeur initiale car la limite est de 59] + millis() / 1000 [1000 millisecondes est une seconde]) % 60
Ok, laisse-moi expliquer. (%) ou module, est essentiellement un opérateur comme (+) qui trouve le reste. Comme 9 % 2 = 1.
Donc:
- reste de (60 + 0) % 60 = 0
- reste de (60 + 1) % 60 =1
- reste de (60 + 58) % 60 = 58
- reste de (60 + 59) % 60 = 59
- reste de (60 + 60) % 60 = 60
- reste de (60 + 61) % 60 = 1
Voir!
Maintenant, pour les pièces.
Étape 2: les pièces
Pas grand-chose, du tout
- N'importe quel arduino
- N'importe quel écran (j'ai utilisé l'OLED 0.96", mais vous pouvez utiliser tout ce que vous avez, assurez-vous simplement de mettre les bonnes variables dans les fonctions d'affichage de votre écran.)
C'est ça.
Étape 3: Le code
Voilà. C'est assez clairement commenté, donc il ne devrait y avoir aucun problème. Les bibliothèques et l'initialisation pour 0.96 OLED sont dans le code. Remplacez-le par votre propre écran s'il est différent.
// Bibliothèques OLED 0.96"
#comprendre
#comprendre
#comprendre
#comprendre
// 0.96 OLED Init
#define OLED_RESET 4
Affichage Adafruit_SSD1306 (OLED_RESET);
int secondes;
minutes entières;
heures entières;
void setup() {
// Un peu plus d'initialisation OLED 0.96"
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
display.clearDisplay(); display.setTextSize(2); display.setTextColor(BLANC); }
boucle vide() {
secondes = (60 + millis() / 1000) % 60;
minutes = (60 + millis() / 60000) % 60; heures = (25 + millis() / 3600000) % 25;
display.clearDisplay();
display.setCursor(0, 22); // affiche le nombre d'heures depuis la réinitialisation display.print(hours); display.print("h:");
// affiche le nombre de minutes depuis la réinitialisation
display.print(minutes);
display.print("m:");
// affiche le nombre de secondes depuis la réinitialisation display.print(seconds); display.print("s");
display.setCursor(0, 0);
display.print("Chronomètre"); display.drawLine (0, 18, 128, 18, BLANC); display.display();
}
Étape 4: Finalisation…
Alors c'est tout! Maintenant, fais ce que tu veux avec. Chronométrez des œufs ou prenez le contrôle de votre quartier.
Salut, Aarush
Conseillé:
Comment faire une pratique de cible Nintendo LABO simple: 13 étapes
Comment faire une simple pratique cible Nintendo LABO: Ma sœur et moi avons récemment acheté une Nintendo Switch. Alors bien sûr, nous avons des jeux pour l'accompagner. Et l'un d'eux était le Nintendo LABO Variety Kit. Je suis alors finalement tombé sur le garage Toy-Con. J'ai essayé des choses, et c'est à ce moment-là que j'ai
Chronomètre Arduino Leonardo : 3 étapes
Arduino Leonardo Stopwatch : Crédit : https://www.instructables.com/id/Arduino-Stopwatch… Cette conception de chronomètre provient du lien ci-dessus, qui est un chronomètre qui compte à partir de 1, alors que celui-ci compte à rebours à partir de 60 secondes . La plupart du code que j'ai utilisé suit l'original
Chronomètre numérique CloudX M633 simple : 4 étapes
Chronomètre numérique CloudX M633 simple : dans ce projet, nous allons créer une version d'une horloge numérique qui peut enregistrer les heures, les minutes et les secondes, tout comme un chronomètre sur votre téléphone portable ! Nous allons utiliser un écran LCD pour afficher l'heure
Projet Arduino - Chronomètre : 3 étapes
Projet Arduino - Chronomètre : Ce chronomètre peut être utilisé pour chronométrer tout ce que vous voulez, par exemple, le temps pris pour terminer une tâche ou vous donner une pression sur le temps utilisé pour terminer un travail. Les LED aident l'utilisateur à connaître clairement le moment du démarrage et de l'arrêt. Ce projet est à l'origine
Horloge / Chronomètre Arduino simple : 6 étapes (avec photos)
Simple horloge Arduino / chronomètre : ce "instructable" vous montrera et vous apprendra comment faire une simple horloge Arduino Uno qui agit également comme un chronomètre en quelques étapes simples