Étape 5: Code actuel avec les instructions de câblage
Voici le code tel qu’il existe aujourd'hui. J’ajoute un deuxième SHT21 pour intérieur/extérieur (moyens de piratage un deuxième canal I2C, comme le SHT21 tous ont la même adresse et ne peuvent exister sur un seul canal) de mesure, et j’attends toujours ma puce d’horloge temps réel et le capteur de pression barométrique d’arriver de Sparkfun.com (ils sont arrivés hier, et je vais travailler là-dessus le week-end - 29/09/10). J’ai migré le projet au-dessus de ma nouvelle Arduino Mega 2560 (58 i/o lignes) et installé le nouveaux IDE 0021. J’ai éditera cette instructable à mesure que le projet évolue.
Connexions :
Broche 1 de LCD à Arduino GND
Broche 2 de LCD à 5v de l’Arduino
Broche 3 (contraste) de LCD au GND
RS (broche 4 de LCD) pour Arduino axe 12
RW (broche 5 de LCD) sur la broche 11 de Arduino
activer (broche 6 de LCD) pour Arduino broche 10
Pin 15 de LCD sur Arduino pin 13
Pivot LCD 16 pour Arduino GND
LCD pins d4, d5, d6, d7 aux broches de l’Arduino 5, 4, 3, 2
Testé avec Breakout de SHT21 de Misenso
SHT21 broche SDA à la goupille de Arduino analogique 4
SHT21 pin SCL sur Arduino analogique pin 5
SHT21 broche GND pour Arduino GND
SHT21 broche VCC à Arduino 3v (pas 5v)
RGB LED
Cathode rouge sur la broche 9 de Arduino
Cathode bleu sur la broche 8 de Arduino
Cathode de vert sur la broche 7 de Arduino
Anode à résistance 270 ohms 5V
#include #include
#include
Humidité LibHumidity = LibHumidity(0) ;
Innovente lcd (12, 11, 10, 5, 4, 3, 2) ;
rétro-éclairage int = 13 ; broche 13 va contrôler le rétro-éclairage
int RedLEDPin = 9 ; LED connectée à la broche numérique 9
int BlueLEDPin = 8 ; LED connectée à la broche numérique 8
int GreenLEDPin = 7 ; LED connectée à la broche numérique 7
void setup()
{
pinMode (contre-jour, sortie) ;
digitalWrite (rétro-éclairage, HIGH) ; allumer le rétro-éclairage. Remplacez « Élevé » par « LOW » pour l’éteindre.
I2C
pinMode (16, sortie) ;
digitalWrite (16, faible) ; Broche GND
pinMode (sortie 17) ;
digitalWrite (17, HIGH) ; Broche VCC
Four / indicateur AC
pinMode (RedLEDPin, sortie) ; définit la broche numérique en sortie
pinMode (BlueLEDPin, sortie) ; définit la broche numérique en sortie
pinMode (GreenLEDPin, sortie) ; définit la broche numérique en sortie
}
void loop()
{
LCD.Begin(20,4) ; colonnes, lignes. Utilisez 16,2 pour un 16 x 2 LCD, etc..
LCD.Clear() ; Démarrer avec un écran blanc
lcd.setCursor(0,0) ; Placez le curseur à la colonne 0, ligne 0 (la première rangée)
LCD.Print ("humidité:") ; modifier ce texte à ce que vous voulez. Gardez-le propre.
LCD.Print (humidité. GetHumidity()) ;
lcd.setCursor(0,1) ; Placez le curseur à la colonne 0, ligne 1
LCD.Print ("Temp dans C:") ;
LCD.Print (humidité. GetTemperatureC()) ;
lcd.setCursor(0,2) ; Placez le curseur à la colonne 0, 2ème rang
LCD.Print ("Temp dans F:") ;
LCD.Print (humidité. GetTemperatureF()) ;
{
Si (l’humidité. GetTemperatureF() < 60)
{
digitalWrite (RedLEDPin, basse) ; définit la LED rouge sur
digitalWrite (BlueLEDPin, élevé) ; la LED bleue se met
digitalWrite (GreenLEDPin, basse) ; la LED verte se met
}
ElseIf (humidité. GetTemperatureF() > = 75)
{
digitalWrite (BlueLEDPin, basse) ; définit la LED bleue sur
digitalWrite (RedLEDPin, élevé) ; la LED rouge se met
digitalWrite (GreenLEDPin, élevé) ; la LED verte se met
}
d’autre
{
digitalWrite (GreenLEDPin, basse) ; définit la LED verte sur
digitalWrite (BlueLEDPin, élevé) ; la LED bleue se met
digitalWrite (RedLEDPin, élevé) ; la LED rouge se met
}
}
retard (20000) ;
}
Voir http://arduinotronics.blogspot.com/2010/09/our-temperature-humidity-monitor-is.html pour le code réel comme instructables cassures nos instructions include.