通过光敏电阻获得adc的值,NodeMCU只有一个adc针脚,A0
。关于ESP8066
电压电流的问题,ESP8266低功耗、电流注意问题描述的大概需要输入5V,500mA的样子,至于多大的电流会烧坏电路,还真没提。
外接电路参考了别人的电路图,可一时半会找不到了。主要是在测量光敏电阻的阻值变化对串联电路中的另一个电阻电压的adc输入的时候。目测是个0 ~ 1024的值。
#define OFF LOW
#define ON HIGH
#define LED_PIN D0
#define RR_PIN D5
#define RR_MODE_READ INPUT
#define RR_GET HIGH
void set_led_on(){
digitalWrite(LED_PIN,ON);
}
void set_led_off(){
digitalWrite(LED_PIN,OFF);
}
void init_led_with_on(){
pinMode(LED_PIN,OUTPUT);
set_led_on();
}
void init_red_receiver(){
init_led_with_off();
pinMode(RR_PIN,RR_MODE_READ);
}
int last_red_receiver_status = -1;
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
delay(2000);
Serial.println("\n===================");
Serial.println("Start up...");
init_red_receiver();
Serial.println("System is OK!\n");
}
void loop() {
int v = analogRead(A0);
int rr_v = digitalRead(RR_PIN);
if(v > 1020 && rr_v == RR_GET ){
set_led_on();
}else{
set_led_off();
}
}