Étape 3: Code
Cette partie est également assez explicite. Une grande partie du code de la thermistance venue ici. J’ai commenté le code afin d’essayer de le rendre plus facile à comprendre. La ligne en gras indique où entrer vos valeurs de A, B et C pour la sonde thermique :#include < math.h >
led1 int = 7 ; Réglez les numéros de broche d’entrée
led2 int = 8 ;
led3 int = 9 ;
led4 int = 10 ;
DEL5 int = 11 ;
led6 int = 12 ;
double thermistance (int RawADC) {}
double Temp ;
Temp = log(((10240000/RawADC) - 10000)) ;
Temp = 1 / (0.000760464581576 + (0.000231192417594 + (0.000000072965780 * Temp * Temp)) * Temp); Cela va afficher la température en Kelvin
Temp = Temp - 273.15 ; Convertir Kelvin en Celcius
Return Temp ;
} / / Fonction pour convertir des données de tension de thermistance pour les températures en degrés Celsius en utilisant
l’équation de Steinhart-Hart
void setup() {}
Serial.Begin(115200) ;
pinMode (led1, sortie) ; Spécifiez les broches comme sorties
pinMode (led2, sortie) ;
pinMode (DEL3, sortie) ;
pinMode (led4, sortie) ;
pinMode (DEL5, sortie) ;
pinMode (led6, sortie) ;
}
void loop() {}
int Temp = Thermistor(analogRead(0)) ; Définissez la variable Temp égal à la lecture de broche analogique 0
int tempdata [6] ; Créer tableau blanc
pour (int i = 0; i < 6; i ++) {}
TempData [i] = (Temp >> je) & 1 ;
} / / Afficher successivement le nombre binaire, enregistrant chaque lieu sous une entrée dans un tableau
Serial.println(int(temp)) ; Affichage température dans serial monitor
Si (tempdata [0] == 1) {}
digitalWrite (led1, HIGH) ;
} / / If/Else instructions passent par le tableau avec les chiffres binaires et la LED s’allume si l’entrée = 1 et assombrit la LED si l’entrée = 0
else {}
digitalWrite (led1, faible) ;
}
Si (tempdata [1] == 1) {}
digitalWrite (led2, HIGH) ;
}
else {}
digitalWrite (led2, faible) ;
}
Si (tempdata [2] == 1) {}
digitalWrite (DEL3, HIGH) ;
}
else {}
digitalWrite (DEL3, faible) ;
}
Si (tempdata [3] == 1) {}
digitalWrite (led4, HIGH) ;
}
else {}
digitalWrite (led4, faible) ;
}
Si (tempdata [4] == 1) {}
digitalWrite (DEL5, HIGH) ;
}
else {}
digitalWrite (DEL5, faible) ;
}
Si (tempdata [5] == 1) {}
digitalWrite (led6, HIGH) ;
}
else {}
digitalWrite (led6, faible) ;
}
Delay(100) ; Attendre 100 millisecondes
}