Stap 6: Arduino Codes
Grond vochtigheid sensor van TL. Zhang
Publiceren op
User naam: bluestar179
2015.10.30
bytegegevens;
int de vochtigheid;
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 {}
vochtigheid = 109-analogRead (SENSORpin) / 10;
waarneemt singal gaat van 80(in water) naar 1000(in air), verandering waarneemt singal van 0% (in lucht) ~ 99% (in water)
Als (vochtigheid < 8)
vochtigheid = 0;
Als (vochtigheid > 99)
vochtigheid = 99;
humidity_A = vochtigheid/10; krijgen van tien cijfers
humidity_B = vochtigheid % 10; cijfer krijgen
Serial.Print("humidity=");
Serial.println(Humidity);
for (int i = 0; ik < 100; i ++) {}
100 betekent vochtigheid singal 2s/tijd = 2 * vertraging * 100
Tien cijfers verzenden LED
digitalWrite(LATCHpin,LOW);
gegevens = digitSeg [humidity_A];
shiftOut(DATApin,CLOCKpin,MSBFIRST,data);
digitalWrite(LATCHpin,HIGH);
digitalWrite(SELECTpin_A,LOW);
digitalWrite(SELECTpin_B,HIGH);
delay(10);
cijfer verzenden LED
digitalWrite(LATCHpin,LOW);
gegevens = digitSeg [humidity_B];
shiftOut(DATApin,CLOCKpin,MSBFIRST,data);
digitalWrite(LATCHpin,HIGH);
digitalWrite(SELECTpin_A,HIGH);
digitalWrite(SELECTpin_B,LOW);
delay(10);
}
}
shiftOut functie tutorial Zie https://www.arduino.cc/en/tutorial/ShiftOut