Étape 3: Code:-
#include « LedControl.h » / / besoin de la bibliothèqueLedControl lc=LedControl(2,1,0,1) ; LC est notre objet
broche 2 est connectée à la broche MAX7219 1
la broche 1 est connectée à la broche CLK 13
broche 0 est connectée à la broche 12 de charge
1 que nous utilisons seulement 1 MAX7219
buttonState int = 0 ; état actuel de la touche
int lastButtonState = 0 ; état antérieur du bouton
const int buttonPin = 4 ;
int tempPin = 3 ;
échantillon de flotteur ;
flotteur NC ;
flotteur tempF ;
void setup()
{
pinMode(buttonPin,INPUT) ;
pinMode(tempPin,INPUT) ;
LC.Shutdown(0,false); / / arrête, affichage permet d’économie d’énergie
lc.setIntensity(0,15); / / définit la luminosité (0 ~ 15 valeurs possibles)
lc.clearDisplay(0); / / efface l’écran
}
Sub printNumber(float num)
{
int ceux ;
int RTE ;
int centaines ;
int v = (int) NB ;
flotteur diff = num-v ;
diff = diff * 100 ;
int fones, ftens ;
OFAE = (int) diff % 10 ;
diff = diff/10 ;
ftens = (int) diff % 10 ;
diff = diff/10 ;
Ones = v % 10 ;
v = v/10 ;
des dizaines = v % 10 ;
v = v/10 ;
des centaines = v ;
Maintenant imprimer le nombre de chiffre par chiffre
lc.setDigit(0,4,(byte)hundreds,false) ;
lc.setDigit(0,3,(byte)tens,false) ;
lc.setDigit(0,2,(byte)ones,true) ;
lc.setDigit(0,1,(byte)ftens,false) ;
lc.setDigit(0,0,(byte)fones,false) ;
}
void loop()
{
buttonState=digitalRead(buttonPin) ;
échantillon = 0 ;
pour (int i = 0; i < 150; i ++)
{
échantillon += analogRead(tempPin) ; lire la valeur de la sonde
Delay(2) ;
}
échantillon = échantillon/150 ;
NC =(5.0*sample*100.0)/1023.0 ; convertir les données analogiques en température
if(ButtonState!=lastButtonState)
{
lastButtonState = buttonState ;
}
if(lastButtonState==1)
{
printNumber(tempC) ;
Delay(200) ;
}
if(lastButtonState==0)
{
tempF = ((tempC*9)/5) + 32 ;
printNumber(tempF) ;
Delay(200) ;
}
}