我的Arduino自动发光二极管';夜灯';它不起作用了
我有一个Arduino Uno,我正试图编写一个程序,如果光刻胶检测到少量光线,LED就会亮起。这是我的密码我的Arduino自动发光二极管';夜灯';它不起作用了,arduino,processing,led,arduino-ide,arduino-uno,Arduino,Processing,Led,Arduino Ide,Arduino Uno,我有一个Arduino Uno,我正试图编写一个程序,如果光刻胶检测到少量光线,LED就会亮起。这是我的密码 int led = 2; int phores = A4; int val = 0; void setup() { pinMode(led, OUTPUT); pinMode(phores, INPUT); Serial.begin(9600); } void loop() { val = analogRead(phores); if(val > 256) { d
int led = 2;
int phores = A4;
int val = 0;
void setup() {
pinMode(led, OUTPUT);
pinMode(phores, INPUT);
Serial.begin(9600);
}
void loop() {
val = analogRead(phores);
if(val > 256) {
digitalWrite(led, HIGH);
}
if(val < 256) {
digitalWrite(led, LOW);
}
Serial.println(val);
}
int led=2;
int-phores=A4;
int-val=0;
无效设置(){
引脚模式(led,输出);
pinMode(信号量,输入);
Serial.begin(9600);
}
void循环(){
val=模拟读数(单位);
如果(val>256){
数字写入(led,高电平);
}
if(val<256){
数字写入(led,低电平);
}
序列号println(val);
}
您可能需要将第二个if块放入循环函数中。我很确定这会解决问题。添加一个小的延迟可能也是一个好主意,以避免在每次迭代时进行此检查。我有一些在开始学习时使用的旧代码,这应该可以工作,而且非常简单
int sensePin = 0;
int ledPin = 9;
void setup(){
analogReference(DEFAULT);
pinMode(ledPin, OUTPUT);
}
void loop(){
int val = analogRead(sensePin);
if (val < 100) digitalWrite(ledPin, HIGH);
else digitalWrite(ledPin, LOW);
}
int sensePin=0;
int-ledPin=9;
无效设置(){
模拟参考(默认);
引脚模式(LED引脚,输出);
}
void循环(){
int val=模拟读数(sensePin);
如果(val<100)数字写入(ledPin,高);
else数字写入(ledPin,低电平);
}
我没有将第二条if语句放在if块中,添加延迟也没有帮助。我是指void循环块,而不是if块。&。。。发生了什么?它崩溃了,还是没有给出预期的答案?您期望发生什么?发生了什么?println的输出是什么?数值读数是否正确?