const float BETA = 3950;
const float GAMMA = 0.7;
const float RL10 = 50;
void setup(){
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
pinMode(6, OUTPUT);
pinMode(7, OUTPUT);
Serial.begin(9600);
}
void loop(){
int sel=analogRead(5);
sel=map(sel,0,1023,0,7);
switch(sel){
case 0:
ch0();
break;
case 1:
ch1();
break;
case 2:
ch2();
break;
case 3:
ch3();
break;
case 4:
ch4();
break;
case 5:
temp1();
break;
case 6:
temp2();
break;
case 7:
LDR();
}
delay(200);
}
void ch0(){
Serial.print("ch0=");
Serial.println(analogRead(0));
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
}
void ch1(){
Serial.print("ch1=");
Serial.println(analogRead(0));
digitalWrite(7,HIGH);
digitalWrite(6,LOW);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
}
void ch2(){
Serial.print("ch2=");
Serial.println(analogRead(0));
digitalWrite(7, LOW);
digitalWrite(6, HIGH);
digitalWrite(5,LOW);
digitalWrite(4,LOW);
}
void ch3(){
Serial.print("ch3=");
Serial.println(analogRead(0));
digitalWrite(7,HIGH);
digitalWrite(6, HIGH);
digitalWrite(5,LOW);
digitalWrite(4, LOW);
}
void ch4(){
Serial.print("ch4=");
Serial.println(analogRead(0));
digitalWrite(7,LOW);
digitalWrite(6, LOW);
digitalWrite(5,HIGH);
digitalWrite(4, LOW);
}
void temp1(){
Serial.print("Temperature1=");
Serial.println(analogRead(1));
digitalWrite(7,HIGH);
digitalWrite(6, LOW);
digitalWrite(5,HIGH);
digitalWrite(4, LOW);
int analogValue = analogRead(A0);
float celsiustemp1 = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 /
298.15) - 273.15;
Serial.print("Temperature1: ");
Serial.print(celsiustemp1);
Serial.println(" ℃");
delay(1000);
}
void temp2(){
Serial.print("Temperature2=");
Serial.println(analogRead(0));
digitalWrite(7,LOW);
digitalWrite(6, HIGH);
digitalWrite(5,HIGH);
digitalWrite(4, LOW);
int analogValue = analogRead(A2);
float celsiustemp2 = 1 / (log(1 / (1023. / analogValue - 1)) / BETA + 1.0 /
298.15) - 273.15;
Serial.print("Temperature2: ");
Serial.print(celsiustemp2);
Serial.println(" ℃");
delay(1000);
}
void LDR(){
Serial.print("ldr=");
Serial.println(analogRead(0));
digitalWrite(7,LOW);
digitalWrite(6, HIGH);
digitalWrite(5,HIGH);
digitalWrite(4, HIGH);
int analogValue2= analogRead(A5);
float voltage = analogValue2/ 1024. * 5;
float resistance = 2000 * voltage / (1 - voltage / 5);
float lux = pow(RL10 * 1e3 * pow(10, GAMMA) / resistance, (1 / GAMMA));
Serial.print("ldr=");
Serial.println(lux);
}