Paso 6: Arduino y
Sensor de humedad de suelo por TL. Zhang
Publicar en
nombre de usuario: bluestar179
2015.10.30
datos del octeto;
humedad 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() {}
humedad = 109-analogRead (SENSORpin) / 10;
Anlog TV singal está a punto de 80(in water) 1000(in air), cambio Anlog TV singal del 0% (aire) ~ 99% (en agua)
Si (humedad < 8)
humedad = 0;
Si (humedad > 99)
humedad = 99;
humidity_A = humedad/10; Haz diez dígitos
humidity_B = humedad % 10; obtener una cifra
Serial.Print("Humidity=");
Serial.println(Humidity);
para (int i = 0; i < 100; i ++) {}
100 significa obtener humedad singal 2s/hora = 2 * delay * 100
enviar diez dígitos a LED
digitalWrite(LATCHpin,LOW);
datos = digitSeg [humidity_A];
shiftOut(DATApin,CLOCKpin,MSBFIRST,data);
digitalWrite(LATCHpin,HIGH);
digitalWrite(SELECTpin_A,LOW);
digitalWrite(SELECTpin_B,HIGH);
Delay(10);
enviar solo dígito LED
digitalWrite(LATCHpin,LOW);
datos = digitSeg [humidity_B];
shiftOut(DATApin,CLOCKpin,MSBFIRST,data);
digitalWrite(LATCHpin,HIGH);
digitalWrite(SELECTpin_A,HIGH);
digitalWrite(SELECTpin_B,LOW);
Delay(10);
}
}
tutorial de función shiftOut ver https://www.arduino.cc/en/tutorial/ShiftOut