Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在C++;?_C++_Arrays_Input - Fatal编程技术网

C++ 如何在C++;?

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);

我正在制作一个距离传感器,当传感器附近有东西时,它会点亮一个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);
  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;”。你也可以做一个比较并刷新循环中的计数器。我不明白你在寻求什么帮助。你说了你想做什么。您提供了执行所需操作的代码。那么,你准备好了,不是吗?有什么问题吗?