#3 'Äpple' jord Fuktsensor (6 / 6 steg)
Steg 6: Arduino koder
Smutsa Fuktsensor av TL. Zhang
Publicera på
förbrukaren namn: bluestar179
2015.10.30
byte data.
int luftfuktighet;
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;
byte digitSeg [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() {
fukt = 109-analogRead (SENSORpin) / 10;
anlog singal handlar om 80(in water) till 1000(in air), ändra anlog singal från 0% (i luft) ~ 99% (i vatten)
om (luftfuktighet < 8)
fukt = 0;
om (luftfuktighet > 99)
fukt = 99.
humidity_A = fukt/10; få tio siffror
humidity_B = luftfuktighet % 10. få ensiffriga
Serial.Print("humidity=");
Serial.println(humidity);
för (int jag = 0; jag < 100; i ++) {
100 betyder att få fukt singal 2s/tid = 2 * försening * 100
Skicka tio siffror till LED
digitalWrite(LATCHpin,LOW);
data = digitSeg [humidity_A];
shiftOut(DATApin,CLOCKpin,MSBFIRST,data);
digitalWrite(LATCHpin,HIGH);
digitalWrite(SELECTpin_A,LOW);
digitalWrite(SELECTpin_B,HIGH);
Delay(10);
Skicka ensiffriga till LED
digitalWrite(LATCHpin,LOW);
data = digitSeg [humidity_B];
shiftOut(DATApin,CLOCKpin,MSBFIRST,data);
digitalWrite(LATCHpin,HIGH);
digitalWrite(SELECTpin_A,HIGH);
digitalWrite(SELECTpin_B,LOW);
Delay(10);
}
}
shiftOut funktionen handledning se https://www.arduino.cc/en/tutorial/ShiftOut