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

Arduino Temp. Moniteur et horloge en temps réel avec affichage 3.2

Composants et fournitures

Arduino Due
× 1

Applications et services en ligne

Arduino IDE

À propos de ce projet

Présentation

Chers amis, bienvenue dans un autre tutoriel ! C'est Nick de educ8s.tv et aujourd'hui nous allons voir comment développer cette horloge en temps réel et moniteur de température ! Commençons !

Il y a quelques semaines, j'ai testé cet écran TFT couleur de 3,2 pouces pour Arduino avec Arduino Mega et Due. L'affichage fonctionne bien et j'ai construit un projet simple avec. C'est un moniteur de température et une horloge en temps réel. Comme vous pouvez le voir en haut, nous pouvons voir la date et l'heure actuelles, nous pouvons voir la température en ce moment, et en bas, l'Arduino enregistre la température minimale et maximale qu'il a mesurée. J'ai également essayé de concevoir une interface utilisateur de base avec des formes simples. Comme vous pouvez le voir, tout fonctionne bien, et c'est un projet très facile et utile à construire. Voyons comment faire !

Étape 1 :Obtenez toutes les pièces

Les pièces nécessaires pour construire ce projet sont les suivantes :

  • Arduino Due
  • Un écran TFT couleur de 3,2 pouces
  • Module RTC DS3231
  • En-têtes masculins
  • Fils

Le coût du projet est d'environ 24$. Il vous faut environ 14$ pour l'Arduino Due, 8$ pour l'affichage et environ 2$ pour le module RTC.

Étape 2 :Le module d'horloge temps réel DS3231

Le module horloge temps réel DS3231 est comme son nom l'indique une horloge temps réel. Grâce à sa batterie, il peut garder l'heure pendant des années car sa consommation d'énergie est minimale.

Le DS3231 est une horloge en temps réel (RTC) I2C extrêmement précise et peu coûteuse avec un oscillateur à cristal compensé en température (TCXO) et un cristal intégrés. L'appareil intègre une entrée de batterie et maintient un chronométrage précis lorsque l'alimentation principale de l'appareil est interrompue. L'intégration du résonateur à cristal améliore la précision à long terme de l'appareil et réduit le nombre de pièces dans une ligne de fabrication.

Le RTC conserve les informations sur les secondes, les minutes, les heures, le jour, la date, le mois et l'année. La date de fin de mois est automatiquement ajustée pour les mois de moins de 31 jours, y compris les corrections pour les années bissextiles. L'horloge fonctionne au format 24 heures ou 12 heures avec un indicateur AM/PM. Deux alarmes d'heure du jour programmables et une sortie d'onde carrée programmable sont fournies. L'adresse et les données sont transférées en série via un bus bidirectionnel I2C.

Le coût du module est extrêmement bas; il coûte environ 2$ avec la batterie !

Obtenez-le ici.

Nous allons l'utiliser pour garder l'heure et obtenir des lectures de température !

Étape 3 :L'écran TFT couleur 3,2" (HX8357C ou HX8357B)

J'ai toujours voulu avoir un grand écran pour mes projets Arduino. Donc, il y a quelques semaines, j'ai décidé d'acheter cet écran TFT couleur de 3,2 pouces pour Arduino Mega et Arduino Due parce que le prix est tellement tentant ! Moins de 10$ pour un écran TFT couleur 3.2'. Avec ce prix, vous ne pouvez pas vous tromper.

Obtenez-le ici.

L'écran a une résolution de 480x320 pixels et dispose d'un adaptateur de carte SD à l'arrière. Je n'ai pas encore utilisé la fonctionnalité de la carte SD. Je vais essayer de l'utiliser à l'avenir. Si vous regardez attentivement, vous pouvez voir que l'écran utilise également un régulateur de 3,3 V, il fonctionne donc bien avec des niveaux logiques de 5 V et 3,3 V.

L'affichage se décline en deux variantes. L'un d'eux utilise le contrôleur HX8357C et l'autre le contrôleur HX8357B. Heureusement, nous pouvons utiliser la même bibliothèque pour les deux.

AFFICHEZ la bibliothèque.

Après avoir téléchargé la bibliothèque, vous devez ouvrir la ligne de commentaire du fichier User_Setup.h 13 et décommenter la ligne 14 si l'écran que vous avez utilise le pilote HX8357C, comme le mien.

Étape 4 :connexion des pièces

Je vais utiliser l'Arduino Due pour construire ce projet, bien que je puisse utiliser l'Arduino Mega légèrement moins cher mais plus lent. Arduino Due est beaucoup plus rapide que l'Arduino Mega et il a beaucoup de mémoire, c'est pourquoi je le préfère pour ce projet.

Dans un premier temps, nous devons connecter toutes les pièces ensemble. Je vais utiliser ces en-têtes mâles afin de connecter le module RTC à l'Arduino DUE.

Nous avons besoin de quatre broches d'en-tête. Deux pour l'alimentation et deux pour l'interface I2C. Nous les plions comme ceci et nous connectons l'une à la broche 3.3V de la carte Arduino Due, l'autre à GND et les deux autres aux broches SDA et SCL de la carte. Avec quelques fils femelles, nous connectons le module à la carte. C'est ça.

Nous pouvons maintenant attacher l'écran au tableau. Vous n'êtes pas obligé de connecter ces deux broches à la carte Arduino, je vais donc les laisser flotter.

Nous sommes maintenant prêts à démarrer le projet. Comme vous pouvez le voir, ça marche bien ! C'est aussi simple que ça ! Passons maintenant à l'ordinateur pour voir le côté logiciel du projet.

Étape 5 :Le code du projet

Nous sommes maintenant prêts à jeter un œil au code. Nous utilisons deux bibliothèques dans ce projet :

  • Bibliothèque d'affichage
  • Bibliothèque DS3231

Vous devez les installer et le projet se compilera très bien !

La première chose que nous devons faire est de régler l'heure sur le module d'horloge temps réel si ce n'est déjà fait. Pour ce faire, entrez la date et l'heure actuelles dans la fonction void setRTCTime,

void setRTCTime(){ DateTime dt(2016, 4, 4, 13, 56, 30, 1); // Année, Mois, Jour, Heure, Minutes, Secondes, Jour de la semaine rtc.setDateTime(dt); } 

Décommentez l'appel à la fonction dans la fonction Setup :

void setup(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618) ; retard (100); printUI(); setRTCTime();} 

Et téléchargez le programme sur Arduino. Maintenant, l'heure est réglée. Mais nous devons ensuite commenter à nouveau l'appel de la fonction setRTCTime et télécharger à nouveau le programme sur Arduino.

void setup(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618) ; retard (100); printUI(); //setRTCTime();} 

Comme vous pouvez le voir, le code du projet est simple. Nous imprimons simplement l'interface utilisateur, puis affichons la date, l'heure et le dessus.

void loop(){ float temperature =rtc.getTemperature(); getAndPrintTime(); printTemperature(température); if(temperature>maxTemperature) { maxTemperature =temperature; updateMaxTemperature(); }if(temperature 

Vous pouvez trouver le code joint à cette étape. Vous pouvez télécharger la dernière version du code sur le site du projet ici :http://educ8s.tv/arduino-real-time-clock-32/

DueRTC.ino

Étape 6 :Réflexions finales

Comme vous pouvez le voir avec quelques lignes de code et avec un coût très faible, nous pouvons construire un projet très utile. Je vais travailler davantage sur ce projet car il deviendra une station météorologique avancée, avec plus de capteurs, de graphiques et de capacités wifi.

Étant donné que l'Arduino Due est très rapide et a une tonne de mémoire, je pense que c'est la carte Arduino idéale à utiliser. Que pensez-vous de ce projet ? Comment voulez-vous le voir évoluer ?

Veuillez publier vos commentaires ou idées dans la section commentaires ci-dessous.

Code

  • Extrait de code 2
  • Extrait de code 3
  • Extrait de code n° 4
Extrait de code #2Texte brut
configuration vide(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618) ; retard (100); printUI(); setRTCTime();}
Extrait de code n°3Texte brut
configuration vide(){ rtc.begin(); tft.init(); tft.setRotation(1); tft.fillScreen(0xC618) ; retard (100); printUI(); //setRTCTime();}
Extrait de code n°4Texte brut
void loop(){ float temperature =rtc.getTemperature(); getAndPrintTime(); printTemperature(température); if(temperature>maxTemperature) { maxTemperature =temperature; updateMaxTemperature(); }if(temperature 
Github
https://github.com/Bodmer/TFT_HX8357_Duehttps://github.com/Bodmer/TFT_HX8357_Due
Github
https://github.com/SodaqMoja/Sodaq_DS3231https://github.com/SodaqMoja/Sodaq_DS3231

Processus de fabrication

  1. Contrôler un effet avec de vrais capteurs
  2. Horloge Arduino avec heures de prière islamique
  3. Word Clock avec résolution en minutes du temps en mots
  4. Jouer avec Nextion Display
  5. Horloge numérique TM1637 avec configuration de l'heure et fonctionnalité d'alarme
  6. Voltmètre DIY avec Arduino et un écran Nokia 5110
  7. Température, humidité et pression BME280 sur l'affichage Nextion
  8. Contrôle du servomoteur avec Arduino et MPU6050
  9. Réveil simple avec DS1302 RTC