Étape 7: Programmer l’Arduino pour contrôler la température
2. Si vous avez configuré un peu différemment vos NIP, modifiez le code en conséquence dans le croquis (voir ci-dessous)
3. Branchez votre microcontrôleur à votre ordinateur. J’ai utilisé un microUSB pour câble régulier d’USB. Le feu vert devrait scintiller au Conseil d’administration.
4. vérifier l’esquisse et si il n’y a pas de problème, téléchargez le croquis au microcontrôleur. Maintenant, le microcontrôleur dispose du programme et alimenté par exécutera le programme jusqu'à ce que vous pouvoir dissolvant.
Voici l’esquisse à utiliser. Une grande partie grâce à notre stagiaire Laura Tully-Gustafson pour mettre cela au total.
/ * faire une étuve de séchage, contrôlant une ampoule à incandescence avec un relais d’état solide s’allumer si la température est inférieure à 105 C et faire tourner si la température est plus de 109 * /
publié sous la licence GPL v3.0 par Laura Tully-Gustafson
#include < OneWire.h >
#include < DallasTemperature.h >
Onewire appareil est branché sur le port 7 sur l’Arduino
#define ONE_WIRE_BUS 7
Configurer une instance oneWire pour communiquer avec les périphériques OneWire (pas seulement la température Maxim/Dallas ICs)
OneWire oneWire(ONE_WIRE_BUS) ;
Passez notre référence oneWire à température de Dallas.
Capteurs DallasTemperature (& oneWire) ;
int currenttemp ;
int minimale = 105 ; changer la température minimale et maximale en degrés C.
int maximale = 109 ;
Sub setup(void)
{
serial port de départ
Serial.Begin(9600) ;
Démarrage de la bibliothèque
sensors.Begin() ;
pinMode (13, sortie) ; mis en place la broche 13 pour un LED d’avertissement
digitalWrite (13, HIGH) ;
pinMode (1, sortie) ;
digitalWrite (1, haut) ; mettre en place la broche 1 pour un Solid State Relay
}
Sub loop(void)
{
appel sensors.requestTemperatures() de délivrer une température planétaire
reques
t pour tous les périphériques sur le bus
Serial.Print ("requérant températures...") ;
sensors.requestTemperatures() ; Envoyer la commande pour obtenir des températures
Serial.println("Done") ;
Serial.Print ("température de l’appareil 1 (index 0) est:") ;
CurrentTemp = sensors.getTempCByIndex(0) ; changer de getTempFByIndex va changer le système à degrés F
Serial.println(sensors.getTempCByIndex(0)) ;
Si (currenttemp < minimale) {}
digitalWrite (13, HIGH) ; pour que le voyant d’avertissement s’allume
digitalWrite (1, haut) ; alors que se poursuit l’ampoule à incandescence
}
Si (currenttemp > maximale) {}
digitalWrite (13, faible) ;
digitalWrite (1, faible) ;
}
}