Étape 6: Arduino Codes
Capteur d’humidité du sol par TL. Zhang
Publier sur
nom d’utilisateur : bluestar179
2015.10.30
données d’octets ;
humidité int ;
int humidity_A = 1 ;
int humidity_B = 1 ;
int DATApin = 9 ;
int LATCHpin = 8 ;
int CLOCKpin = 7 ;
int SELECTpin_A = 6 ;
int SELECTpin_B = 5 ;
int SENSORpin = A0 ;
digitSeg Byte [10] = {}
B11101111, / / 0
B01000001, / / 1
B11011110, / / 2
B11011011, / / 3
B01110011, / / 4
B10111011, / / 5
B10111111, / / 6
B11000001, / / 7
B11111111, / / 8
B11111011} ; 9
void setup() {}
Serial.Begin(9600) ;
pinMode(DATApin,OUTPUT) ;
pinMode(CLOCKpin,OUTPUT) ;
pinMode(LATCHpin,OUTPUT) ;
pinMode(SELECTpin_A,OUTPUT) ;
pinMode(SELECTpin_B,OUTPUT) ;
pinMode(SENSORpin,INPUT) ; }
void loop() {}
humidité = 109-analogRead (SENSORpin) / 10 ;
ANLOG singal est tout 80(in water) de 1000(in air), changement anlog singal de 0 % (dans l’air) ~ 99 % (en eau)
Si (humidité < 8)
humidité = 0 ;
Si (humidité > 99)
humidité = 99 ;
humidity_A = humidité/10 ; obtenir à dix chiffres
humidity_B = humidité % 10 ; obtenir le chiffre unique
Serial.Print("Humidity=") ;
Serial.println(Humidity) ;
pour (int i = 0; i < 100; i ++) {}
100 signifie obtenir humidité singal 2 s/heure = 2 * retard * 100
Envoyer à dix chiffres à LED
digitalWrite(LATCHpin,LOW) ;
données = digitSeg [humidity_A] ;
shiftOut(DATApin,CLOCKpin,MSBFIRST,data) ;
digitalWrite(LATCHpin,HIGH) ;
digitalWrite(SELECTpin_A,LOW) ;
digitalWrite(SELECTpin_B,HIGH) ;
Delay(10) ;
Envoyer à un seul chiffre à LED
digitalWrite(LATCHpin,LOW) ;
données = digitSeg [humidity_B] ;
shiftOut(DATApin,CLOCKpin,MSBFIRST,data) ;
digitalWrite(LATCHpin,HIGH) ;
digitalWrite(SELECTpin_A,HIGH) ;
digitalWrite(SELECTpin_B,LOW) ;
Delay(10) ;
}
}
tutoriel de fonction shiftOut voir https://www.arduino.cc/en/tutorial/ShiftOut