» Électronique » Arduino »Montre Arduino avec capteur de température et sans RTS

Montre Arduino avec capteur de température et sans RTS

Montre Arduino avec capteur de température et sans RTS

Bonjour, aujourd'hui, je vais partager des instructions sur la façon de fabriquer une montre avec un thermomètre d'ambiance. La montre fonctionne Arduino L'écran graphique UNO, WG12864B est utilisé pour afficher l'heure et la température. En tant que capteur de température - DS18B20. Contrairement à la plupart des autres montres, je n'utiliserai pas RTS (Real Time Clock), mais essayez de me passer de ce module supplémentaire.

Pour cela fait maison Les composants suivants sont requis:
- Arduino UNO (ou toute autre carte compatible Arduino)
- Écran graphique WG12864B
- Capteur de température DS18B20
- Résistance 4,7 Kom 0,25 W
- Résistance 100 ohm 0,25 W
- Compartiment à piles pour 4 piles AA "type doigt"
- Boîte appropriée
- Petit fichier
- Vernis à ongles (noir ou couleur carrosserie)
- Un peu de plastique ou de carton fin
- ruban électrique
- fils de connexion
- circuit imprimé
- Boutons
- fer à souder
- Soudure, colophane
- Ruban adhésif double face

Étape 1 Préparation du boîtier.
Donc, nos montres devraient être situées quelque part. Vous devez trouver une boîte appropriée. L'essentiel est que l'écran WG12864B, Arduino et une petite carte de circuit imprimé pour les boutons y tiennent. La taille minimale de la boîte est de 7 x 7 x 10 cm. Si vous utilisez une petite carte Arduino, vous pouvez la mettre dans une boîte et une plus petite, mais je vais décrire le processus en utilisant l'Arduino UNO comme exemple. Le matériau dont la boîte est faite est de préférence en plastique, si, comme le mien, c'est du fer, il vaut la peine de prendre soin de l'isolation pour qu'il n'y ait rien à «contourner» à l'intérieur. Le plastique est préférable car il est plus facile à couper. Avec une boîte, c'est le cas de nos montres, c'est décidé. Maintenant, il faut couper une fenêtre sous l'écran de 6,5x4 cm.Si la boîte est en fer, il est extrêmement difficile de le faire avec soin. Peu importe comment vous essayez, il y aura de la peinture écaillée et de la rugosité près de la coupe. Par conséquent, nous le coupons d'abord, pour cela, vous pouvez utiliser le «broyeur», une perceuse avec une buse de coupe ou une fraise, en général, de votre choix, avec ce qui est à portée de main. Après cela, nous nettoyons les bords avec un fichier. Nous peignons toute la peinture écaillée avec du vernis à ongles, de couleur appropriée. Le résultat doit être le suivant:


Étape 2 Préparez l'écran graphique.
Avec la connexion de l'écran, à première vue, de nombreux problèmes et difficultés se posent. Mais si vous traitez d'abord avec leurs types, cela deviendra beaucoup plus facile et plus compréhensible. Il existe de nombreuses variantes et types d'écrans sur le contrôleur ks0107 / ks0108.Tous les écrans sont généralement divisés en 4 types:
Option A: HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T
Option B: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ Displays AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG1286464J-1, QY128
Option C: Shenzhen Jinghua Displays Co Ltd. Jm12864
Option D: Wintek-Cascades WD-G1906G, Wintek-GEN / WD-G1906G / KS0108B, Wintek / WD-G1906G / S6B0108A, TECDIS / Y19061 / HD61202, Varitronix / MGLS19264 / HD61202

La liste n'est pas complète, il y en a beaucoup. Le WG12864B3 V2.0 le plus courant et, à mon avis, pratique. L'écran peut être connecté à l'Arduino via un port série ou parallèle. Lorsqu'il est utilisé avec Arduino UNO, il est préférable de choisir une connexion de port série - alors nous n'avons besoin que de 3 sorties du microcontrôleur, au lieu d'un minimum de 13 lignes lorsqu'il est connecté via un port parallèle. Tout est connecté simplement. Il y a une nuance de plus, en vente, vous pouvez trouver deux versions d'écrans, avec un potentiomètre intégré (pour régler le contraste) et sans lui. J'ai choisi, et je vous conseille de faire de même, avec intégré.


Cela réduit le nombre de pièces et le temps de soudage. Il convient également de mettre une résistance de limitation de courant de 100 Ohms pour le rétro-éclairage. En connectant directement 5 volts, il y a un risque de brûler le rétro-éclairage.
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - à travers la résistance - + 5V
20 (BLK) - GND

La chose la plus pratique est de collecter tout derrière l'écran et d'en sortir 5 fils pour se connecter à l'Arduino UNO. Le résultat devrait être quelque chose comme ceci:


Pour ceux qui choisissent encore une connexion parallèle, je donnerai un tableau de connexion.


Et la disposition des écrans de l'option B:


Étape 3 Connectez le capteur de température.
Comme je l'ai dit, nous utiliserons le capteur intégré DS18B20 pour mesurer la température. Je l'ai choisi pour sa grande précision de mesure, l'erreur n'est pas supérieure à 0,5 ° C. Le capteur est calibré au moment de la fabrication, aucun réglage supplémentaire n'est requis. Plage de mesure de température -55 ... + 125 ° C. Il existe deux modes de fonctionnement: avec une source d'alimentation externe et «puissance parasite». En fonctionnement en mode d'alimentation externe, la connexion est la suivante:


Lors de l'utilisation de "puissance parasite", le capteur reçoit de l'énergie de la ligne de communication. Dans ce mode, deux fils suffisent pour connecter le ds18b20 au microcontrôleur. Le condensateur interne du capteur est chargé en raison de l'énergie sur la ligne de communication à un niveau bas sur le bus. Le mode "nutrition parasitaire" possède de nombreuses fonctionnalités et je ne recommande donc pas de l'utiliser. Mais si vous décidez toujours de l'utiliser, voici le schéma:


Ou vous pouvez utiliser un schéma de câblage amélioré lors de l'utilisation de "puissance parasite":


Plusieurs capteurs peuvent être inclus sur une même ligne de communication. Pour nos montres, une seule suffit. Nous connectons le fil de la broche «DQ» ds18b20 à la «broche 5» Arduino UNO.

Étape 4 Préparation d'un tableau avec des boutons.
Pour régler l'heure et la date sur la montre, nous utiliserons trois boutons. Pour plus de commodité, souder les trois boutons sur la carte de circuit imprimé et câbler.


Nous nous connectons comme suit: le fil commun aux trois boutons est connecté à l'Arduino «GND». Le premier bouton, il sert à entrer dans le mode de réglage de l'heure et à basculer sur l'heure et la date, se connecter à "Pin 2". Le second, le bouton pour augmenter la valeur, est sur "Pin 3", et le troisième, le bouton pour diminuer la valeur, est sur "Pin 4".

Étape 5 Assembler le tout.
Pour éviter un court-circuit, isolez l'écran. Dans un cercle, nous enveloppons avec du ruban adhésif, et sur le dos, nous attachons à un ruban adhésif double face, coupé sur mesure, une bande de matériau isolant. Un carton épais ou un plastique mince convient. J'ai utilisé du plastique provenant d'une tablette en papier. Il s'est avéré ce qui suit:


Sur le devant de l'écran le long du bord, nous collons un ruban adhésif double face sur une base de mousse, de préférence noire.


Nous connectons l'écran à Arduino:


De plus, nous nous connectons du compartiment de la batterie à l'Arduino «VIN», moins au «GND». Nous le plaçons derrière l'Arduino. Avant d'installer dans le boîtier, n'oubliez pas de connecter le capteur de température et la carte avec des boutons.


Étape 6 Préparez et remplissez l'esquisse.
Un capteur de température a besoin de la bibliothèque OneWire.
onewire.rar [16.75 Kb] (téléchargements: 154)


La sortie à l'écran se fait via la bibliothèque U8glib:
u8glib.rar [906,95 Ko] (téléchargements: 156)


Pour modifier et remplir l'esquisse, installez ces deux bibliothèques. Il y a deux façons de procéder. Décompressez simplement ces archives et placez les fichiers décompressés dans le dossier «bibliothèques» situé dans le dossier avec l'IDE Arduino installé.Ou la deuxième option consiste à installer la bibliothèque directement dans l'environnement de programmation. Sans déballer les archives téléchargées, dans l'IDE Arduino, sélectionnez le menu Sketch - Connect Library. En haut de la liste déroulante, sélectionnez l'élément "Ajouter une bibliothèque .Zip". Dans la boîte de dialogue qui apparaît, sélectionnez la bibliothèque que vous souhaitez ajouter. Ouvrez à nouveau le menu Sketch - Connect Library. Tout en bas de la liste déroulante, vous devriez voir une nouvelle bibliothèque. Maintenant, la bibliothèque peut être utilisée dans des programmes. N'oubliez pas de redémarrer l'IDE Arduino après tout cela.

Le capteur de température fonctionne selon le protocole One Wire et possède une adresse unique pour chaque appareil - un code 64 bits. À chaque fois, la recherche de ce code n'est pas pratique. Par conséquent, vous devez d'abord connecter le capteur à l'Arduino, remplir le croquis situé dans le menu Fichier - Exemples - Température de Dallas - OneWireSearch. Ensuite, exécutez Tools - Port Monitor. Arduino devrait trouver notre capteur, écrire son adresse et les relevés de température actuels. Nous copions ou notons simplement l'adresse de notre capteur. Ouvrez l'esquisse Arduino_WG12864B_Term, recherchez la ligne:

octet addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // adresse de mon capteur 


Nous notons l'adresse de votre capteur entre accolades, en remplaçant l'adresse de mon capteur.

Stock:

//u8g.setPrintPos (44, 64); u8g.print (sek); // Imprimer les secondes pour vérifier l'exactitude du cours


Affiche les secondes à côté de «Données». Cela est nécessaire pour définir avec précision le cours du temps.
Si l'horloge est pressée ou en retard, vous devez modifier la valeur dans la ligne:

if (micros () - prevmicros> 494000) {// passer à un autre pour correction était 500000


J'ai déterminé expérimentalement le nombre auquel l'horloge fonctionne assez précisément. Si votre montre est pressée, vous devez augmenter ce nombre; si je suis derrière, la diminuer. Pour déterminer la précision du cours et besoin d'une conclusion secondes. Après avoir calibré avec précision le nombre, les secondes peuvent être commentées et ainsi supprimées de l'écran.

Remplissez l'esquisse.
arduino_wg12864b_term.rar [3,64 Ko] (téléchargements: 314)

7
9
5.3

Ajoutez un commentaire

    • souriresouritxaxaokne sais pasYahoonea
      patronse gratterfououioui-ouiagressifsecret
      désolédansedanse2danse3pardonaiderles boissons
      arrêteramisbonbonsifflerévanouirla langue
      fumerapplaudircraydéclarermoqueurdon-t_mentiontélécharger
      chaleurirritérire1mdaréunionmasquagenégatif
      not_ipop-cornpunirlireeffrayerfait peurrecherche
      railleriemerci_vousçato_clueumnikaigud'accord
      mauvaisabeilleblack_eyeblum3rougirse vanterennui
      censuréplaisanteriesecret2menacervictoireyusun_bespectacled
      shokrespektlolprévalubienvenuekrutoyya_za
      ya_dobryiaidene_huliganne_othodifludinterdirefermer

Nous vous conseillons de lire:

Donnez-le au smartphone ...