Étape 9: Code Preview
Prenez note
Dans ma conversion des degrés Celsius en Fahrenheit, j’ai ajouté et 4 supplémentaire. En d’autres termes, afin de convertir des C˚ en F˚ vous multipliez le C˚ par 1,8, puis vous ajoutez par 32.
/ * BRICOLAGE Miniture thermomètre
Ce circuit est petit thermomètre qui s’adapte sur le dos d’un
pile de 9V. Deux LEDs clignotent sur la température. Par exemple, si la
Temp est 75, la volonté première de led clignote 7 fois, et le deuxième LED sera
clignoter 5 fois.
Le circuit :
* Vout du capteur est relié à A3
* Entrée à partir du bouton va sur la borne 4.
Prenez note : Ceci n’est pas identique à broches physiques.
Veuillez consulter http://hlt.media.mit.edu/?p=1229 pour plus d’informations.
créé en 2013
par Daniel Nicholls
Edité par bénéficiant d’électronique
Notes supplémentaires :
L’échelle de conversion, sur que vous voyez que MTET est définie est juste pour le capteur de température LM35.
Chercher des échelle de conversion de votre propre sonde temp et changer mon numéro à tout ce qui est votre numéro.
Profitez !
*/
int PMTET ; Temp en C˚
int digit10s ; Chiffre de temp 10 s
int digit1s ; Chiffre de Temp 1 s
temp de flotteur ; Temp en F˚
int tempPin = 3 ; Brutes envoyées par la sonde temp
int LED10 = 1 ; LED pour flasher les 10 chiffres
int LED1 = 0 ; LED clignote 1 chiffre
bouton int = 4 ; Entrée numérique de la touche
int bPress ; Variable qui nomme l’état du bouton
temps d’int = 250 ; Cette variable « temps » est le délai entre les clignotements de la LED.
ainsi si les LEDs sont très trop lent ou trop rapide, vous pouvez
Réglez-le ici et il va changer le retard partout.
void setup()
{/ / Vous devez savoir ce que tout cela est: P
pinMode (LED10, sortie) ;
pinMode (LED1, sortie) ;
pinMode (bouton, entrée) ;
pinMode (tempPin, entrée) ;
}
void loop()
{
MTET = analogRead(tempPin) ; Okaydokey, nous mettons « MTET » à la lecture d’anlog à tempPin. N’oubliez pas ce que tempPin est ?
MTET = MTET * 0.48828125 ; Convertir la tension analogique depuis le capteur de température en Celsius. Il s’agit uniquement pour le LM35
Remarque : Ce nombre peut être un peu large pour le LM35. Il semble fonctionner OK cependant.
Temp = (MTET * 9 / 5) + 36 ; Maintenant, c’est pour convertir le Celsius lecture (MTET) à une température de Fahrenheit.
Nous établissons « temp » à la nouvelle F˚ de lecture.
bPress = digitalRead(button) ; Définition de « bPress » à une lecture numérique à bouton. Si vous vous souvenez « bouton » est définie à la borne 4.
/ *** DÉBUT DE PLAINE COMPLIQUÉ! *** /
Si (bPress == haut) / / le poing si déclaration. Aucun du code ci-dessous s’exécutera que si cette condition est remplie.
{
digit10s = int(temp / 10) ; trouver les 10 chiffres de la temp. Si votre temp a 26.89 alors il deviendra 2.689 (division par 10) et l’instruction int() puis il jette en entier tout après la décimale puis en vous laissant avec digit10s = 2
digit1s = int (temp - (digit10s * 10)) ; trouver les 1 chiffre. Nous utiliser le 10sdigit d’en haut et multiplier par dix, ce qui donne 20 que soustraire de notre temp (26.89) nous laissant avec 6,89, puis cela casté en int réduisant à 6.
tandis que (digit10s! = 0) //do un certain temps en boucle alors que digit10s n’est pas égal à 0
{
analogWrite (LED10, 75) ;
Delay(Time) ;
analogWrite (LED10, 0) ;
Delay(Time) ;
digit10s--; Decrement, digit10s par 1
} / / fin du while instruction
Delay(1000) ;
tandis que (digit1s! = 0) //do un certain temps en boucle alors que digit1s n’est pas égal à 0
{
analogWrite (LED1, 75) ;
Delay(Time) ;
analogWrite (LED1, 0) ;
Delay(Time) ;
digit1s--; Decrement, digit1s par 1
} / / fin du while instruction
} / / bouton cocher
else / / maintenant, vous vous souvenez de notre instruction IF ? Il testait le bouton. Ainsi, si le insn't bouton enfoncé, éteindre toutes les LEDs.
{
digitalWrite (LED10, basse) ;
digitalWrite (LED1, faible) ;
}
Delay(10) ; C’est d’arrêter le code qui s’exécute trop souvent.
} / / void boucle