Как добавить входные значения для массивов в C ++? - PullRequest
0 голосов
/ 14 января 2020

Я делаю датчик расстояния, который загорается светодиодной полосой, когда что-то рядом с датчиком. Я хочу добавить последнее измеренное значение в массив и выключить светодиодную ленту, если ни одно из 20 последних значений не превышает 200 (на определенном расстоянии от датчика). Вот код:

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

Я пробовал какой-то другой код, но я не понял его и поэтому не мог адаптировать его под свой собственный код. Любая помощь?

1 Ответ

0 голосов
/ 14 января 2020

Вы можете просто создать счетчик и проверить, достигает ли он 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);
 }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...