C++ 如何在C++;?
我正在制作一个距离传感器,当传感器附近有东西时,它会点亮一个LED条。我想将测量到的最新值添加到阵列中,如果20个最新值都不超过200(距离传感器一定距离),则使LED条关闭。代码如下:C++ 如何在C++;?,c++,arrays,input,C++,Arrays,Input,我正在制作一个距离传感器,当传感器附近有东西时,它会点亮一个LED条。我想将测量到的最新值添加到阵列中,如果20个最新值都不超过200(距离传感器一定距离),则使LED条关闭。代码如下: #define DO_Redled 14 int DO_RedLed = 14; //Output D5 (Red Led) int AI_Pot= 0; int PotValue = 0; int brightness = 0; void setup(){ Serial.begin(9600);
#define DO_Redled 14
int DO_RedLed = 14; //Output D5 (Red Led)
int AI_Pot= 0;
int PotValue = 0;
int brightness = 0;
void setup(){
Serial.begin(9600);
int values[20] = {};
}
void loop(){
PotValue = analogRead(AI_Pot);
analogWrite(DO_RedLed, PotValue);
Serial.println(PotValue);
delay(50);
}
我尝试了一些其他代码,但我不理解它,因此无法将其改编为我自己的代码。有什么帮助吗?您只需创建一个计数器并检查它是否达到20
#define DO_Redled 14
int AI_Pot= 0;
int PotValue = 0;
int cont=0;
int brightness = 0;
void setup(){
Serial.begin(9600);
}
void loop(){
PotValue = analogRead(AI_Pot);
if(PotValue>200)
cont+=1;
else
cont=0;
if(cont>=20){
analogWrite(DO_RedLed, HIGH);
}else analogWrite(DO_RedLed,LOW);
delay(50);
}
您可以定义一个全局计数器“int counter=0;”,并在每个循环中增加这个数字,并在每个循环中执行“values[counter]=PotValue;”。你也可以做一个比较并刷新循环中的计数器。我不明白你在寻求什么帮助。你说了你想做什么。您提供了执行所需操作的代码。那么,你准备好了,不是吗?有什么问题吗?