Capteur de température Arduino DIY (3 / 7 étapes)

Étape 3: Le code

Maintenant il est temps d’écrire le code. J’ai essayé de le garder aussi courte et simple que possible. Parce que je me sers GLCD, j’ai décidé de fonder la mise en œuvre sur les bibliothèques u8glib . Si vous souhaitez utiliser des caractères LCD, les bibliothèques d’Arduino LCD standard doivent être utilisés, et le code doit être ajusté selon eux.

Voici le code :

/*

Thermomètre issu des maximes DS600u + puce

*/

#include « U8glib.h »
#include < math.h >

U8GLIB_ST7920_128X64_4X u8g (8, 9, 10, 11, 4, 5, 6, 7, 18, 17, 16) ;   8 bit Com: D0... D7 : fr 8,9,10,11,4,5,6,7 = 18, di = 17, rw = 16

void u8g_prepare(void) {}
u8g.SetFont(u8g_font_6x10) ;
u8g.setFontRefHeightExtendedText() ;
u8g.setDefaultForegroundColor() ;
u8g.setFontPosTop() ;
}

void setup(void) {}
Flip écran, si nécessaire
u8g.setRot180() ;
assignez la valeur de couleur par défaut
Si (u8g.getMode() == U8G_MODE_R3G3B2)
u8g.setColorIndex(255) ;     blanc
ElseIf (u8g.getMode() == U8G_MODE_GRAY2BIT)
u8g.setColorIndex(3) ;         intensité max
ElseIf (u8g.getMode() == U8G_MODE_BW)
u8g.setColorIndex(1) ;         pixel sur
u8g.setContrast(0x30) ;
pinMode (13, sortie) ;
digitalWrite (13, HIGH) ;
u8g_prepare() ;
}

void draw(void) {}
flotteur d’alimentation = 4,91; L’espèce doit être entré dans la tension mesurée de la carte arduino
lire la tension de sortie du capteur
lecture int = analogRead(0) ;
float v_out = (lecture * approvisionnement) /1.024;
afficher sur l’écran LCD de la température
flotteur de température = (v_out - 509) / 6,45 ;
temp de char [5] ;
dtostrf(temperature,5,1,Temp) ;
u8g.drawStr(4,24,"Temperature:") ;
u8g.drawStr(76,24,Temp) ;
u8g.drawStr (108,24,"\260C") ;
}

void loop(void) {}

boucle de photo
u8g.FirstPage() ;
{}
Draw() ;
} tout en (u8g.nextPage()) ;

reconstruire l’image avec un certain retard
Delay(1000) ;
}

Il y a quelques points difficiles dans le code.
Je les ai mis en gras.

1) parce que l’ADC Atmega interne utilise la tension d’alimentation de référence pour mesurer les potentiels de tension analogique, qui n’est pas métrique de rapport à la tension d’alimentation, mais fixé par la puce du capteur, si la tension d’alimentation varie, une erreur peut se produire. Calcul approximatif dit que 50mV approvisionnement variation peut provoquer erreur de température de 1 degré. La solution pour améliorer la précision consiste à mesurer la tension exacte sur la carte Arduino dans la façon dont il doit être utilisé - si vous avez l’intention d’utiliser le thermomètre de l’Arduino alimenté par le port USB, vous devez mesurer la tension d’alimentation de Conseil dans ce cas ; et, respectivement, si vous avez l’intention d’utiliser le thermomètre comme stand-alone appareil fourni par adaptateur AC/DC - puis, la tension d’alimentation de la pension + bouclier doit être mesurée dans cette condition. Dans mon cas l’appareil est alimenté par le port USB, et j’ai mesuré 4.91V sur les broches de Arduino "5V". Alors j’ai mis cette valeur dans le sketch.
2) il est bon que sur l’écran LCD vous pouvez voir le symbole degré « ° ». Le problème ici est que les différents affichages ont différentes tables ASCII, et quel est exactement le nombre octal correspondant au symbole est difficile à dire. Il y a deux solutions possibles :
A) pour lire la fiche technique du module LCD / pilote si il ne reçoivent aucune table ASCII
B) d’écrire un sketch pour afficher toute la table ASCII écrite dans la ROM de LCD, pour voir où le symbole s’affiche et à calculer/Voir le nombre décimal correspondant à elle. Plus loin pour convertir cette valeur en nombre octal et mettre dans le croquis.
J’ai utilisé la deuxième approche... et dans le plus simple:-) - il y a « Exemples » dans la bibliothèque u8glib. Le programme « GraphicsTest » imprime deux tables ASCII stockés dans la puce de conducteur ROM. Là, j’ai trouvé que le symbole nécessaire a la 260 nombre octal en nombre équivalent.

Les gars, qui veulent mettre en place ce projet sur l’Arduino Due, je voudrais des conseils pour insérer dans le code également la ligne suivante :
analogReadResolution(12) ;
dans la procédure d’installation, puis au lieu de diviser sur 1.024 à diviser sur 4.096. Cela permettra d’améliorer la résolution de l’ADC et en quelque sorte aussi la précision du thermomètre.

Articles Liés

Capteur de température Arduino

Capteur de température Arduino

toujours voulu lire la température avec votre arduino ? Heres un grande manière comment à l'aide de 4 fils ! Avec le TC74!!La température est précise à ±2 ° CÉtape 1: Vous aurez besoin... Les choses dont vous avez besoin sont :-Un Arduino (Im utilisa
Kit de capteur de température Arduino

Kit de capteur de température Arduino

ce kit est conçu pour avoir l'affichage de 4 x 7 segments qui affiche la température montée directement sur la carte Arduino. Le3 broches fils connecter une thermistance à une broche analogique sur l'Arduino. Une fois l'Arduino est programmé, une bat
Comment mesurer la température très précisément avec un Arduino et un Conseil de capteur de température TSYS01.

Comment mesurer la température très précisément avec un Arduino et un Conseil de capteur de température TSYS01.

Alors qu'il étudiait à l'Université, nous avons été contestés dans le cadre d'un travail en cours dans la conception d'une boîte avec un contrôle très précis de la température. Si le projet devait réussir, plusieurs boîtes devaient être construits et
Capteur de température DS18B20 ESP8266, IDE Arduino, nuage de EasyIoT

Capteur de température DS18B20 ESP8266, IDE Arduino, nuage de EasyIoT

Dans ce tutoriel, nous montrerons comment construire l'enregistreur de température DS18B20 ESP8266 WiFi connecté au EasyIoT Cloud. Tout le matériel coûte moins de 5$ sur ebay.EasyIoT nuage travaille également sur téléphone mobile ou tablette. Applica
Comment utiliser le capteur de température DS18B20 - Arduino Tutorial

Comment utiliser le capteur de température DS18B20 - Arduino Tutorial

Dans ce tutoriel, vous apprendrez comment utiliser le capteur de température DS18B20 avec Arduino.La température sera imprimée sur le moniteur série de Codebender ou IDE Arduino.Vidéo de présentation :Avant de commencer nous allons voir plus d'inform
Arduino Nano - tutoriel de capteur de température TMP100

Arduino Nano - tutoriel de capteur de température TMP100

TMP100 haute précision, faible puissance, module capteur de température numérique I2C MINI. Le TMP100 est idéal pour la mesure de températures étendue. Ce dispositif offre une précision de ±1 ° C sans nécessiter d'étalonnage ou composant externe cond
Arduino Nano - tutoriel de capteur de température STS21

Arduino Nano - tutoriel de capteur de température STS21

STS21 capteur de température numérique offre une performance supérieure et une empreinte peu encombrant. Il fournit des signaux calibrés, linéarisées en format numérique, de I2C. Fabrication de ce capteur est basée sur la technologie CMOSens, qui att
À effet de serre, RACK de serveurs, AQUARIUM et autres appareils surveillant avec SMS alarme système de température en utilisant Arduino, itbrainpower.net 3G / GSM shields et capteur de température 1WIRE

À effet de serre, RACK de serveurs, AQUARIUM et autres appareils surveillant avec SMS alarme système de température en utilisant Arduino, itbrainpower.net 3G / GSM shields et capteur de température 1WIRE

Sur le projetConstruisez vous-même votre propre surveillance système avec des seuils de température maximale et minimalede la température, garder vivantes massages et pagination de SMS (oldies mais goldies comme) et système ARM/DISARM distant. Vous p
Capteur de température interne Arduino

Capteur de température interne Arduino

Source : http://www.theorycircuit.com/arduino-internal-temperature-sensor/Plupart des puces AVR (microcontrôleurs) ont un capteur de température interne, donc nous pouvons utiliser cette option pour obtenir des températures en état rare, cela pourrai
Arduino Nano - tutoriel de capteur de température SI7050

Arduino Nano - tutoriel de capteur de température SI7050

SI7050 est un capteur de température numérique qui fonctionne sur le protocole de communication I2C et offre une grande précision sur la toute tension de service et de la température ambiante. Cette grande précision du capteur est attribuée par le tr
Arduino Nano - tutoriel de capteur de température TCN75A

Arduino Nano - tutoriel de capteur de température TCN75A

TCN75A est un capteur de température série bifilaire constituée avec température-to-digital converter. Il est incorporé avec les registres programmable utilisateur qui fournissent la flexibilité pour les applications de détection de température. Les
Comment utiliser le capteur de température TMP36 - Arduino Tutorial

Comment utiliser le capteur de température TMP36 - Arduino Tutorial

Le TMP35/TMP36/TMP37 sont à basse tension, capteurs de température centigrade de précision. Ils fournissent une tension de sortie qui est linéairement proportionnelle à la Celsius (c) la température. Le TMP35 / TMP36/TMP37 ne nécessitent pas de n'imp
Capteur de température WiFi DS18B20 ESP8266 (ESP8266 de l’IDE Arduino sans Arduino)

Capteur de température WiFi DS18B20 ESP8266 (ESP8266 de l’IDE Arduino sans Arduino)

Dans ce tutoriel, nous montrerons comment construire la sonde de température ESP8266 WiFi avec DB18B20. Nous utiliserons IDE Arduino, mais sans Arduino. Données seront envoyées au serveur EasyIoT (Windows ou Raspberry Pi) pour la journalisation et af
Arduino Uno : Capteur de température avec affichage

Arduino Uno : Capteur de température avec affichage

J'ai écrit un code qui affiche la température sur un écran LCD. J'ai utilisé ces composants :Arduino Uno Conseil (rév. 3)affichage de 2 x 16 caractères LCDcarte de prototypageCapteur de température TMP36PotentiomètreÉtape 1: Étape 1: câblageCâblage d