Итак, я начинаю возиться с емкостными датчиками и все потому, что это довольно классный материал.Расчет среднего значения данных датчика (емкостного датчика)
Я следил за некоторыми учебниками в Интернете о том, как настроить его и использовать библиотеку CapSense для Arduino, и у меня просто был быстрый вопрос об этом коде, который я написал здесь, чтобы получить среднее значение для этих данных.
void loop() {
long AvrNum;
int counter = 0;
AvrNum += cs_4_2.capacitiveSensor(30);
counter++;
if (counter = 10) {
long AvrCap = AvrNum/10;
Serial.println(AvrCap);
counter = 0;
}
}
Это мой оператор цикла и последовательный, кажется, как и его работа, но цифры просто выглядят подозрительно низки для меня. Я использую резистор 10M (коричневый, черный, черный, зеленый, коричневый) и касаюсь части фольги, к которой прикреплены как штыри для отправки, так и приема (изолента), и я получаю номера около 650, даю или принимаю 30.
В принципе, я спрашиваю, выглядит ли этот код правильно и если эти цифры имеют смысл ...?
Нет, это не так. 'AvrNum' используется uninitalised, поэтому приводит к Undefined Behavior. И 'counter = 10' должен быть' counter == 10'. – kaylum
и, строго говоря, код будет лучше с 'long AvrCap = AvrNum/counter;' –