Странные данные с датчика arduino LDR

Я получаю странные данные от моего датчика LDR.

Без каких-либо существенных изменений свет постоянно переходит от 0 к своему максимальному значению 1023 и обратно.

В чем может быть проблема? Возможно ли, что мой датчик LDR сломан?

Код:

int ldr = 0;             //analog pin to which LDR is connected
int ldr_value = 0;        //variable to store LDR values

void setup()
{
  Serial.begin(9600);   //start te serial monitor
}

void loop()
{
  ldr_value = analogRead(ldr);          //reads the LDR values
  Serial.println(ldr_value);                 //prints the LDR values to serial monitor
  delay(1000);                  //wait
}

Выход:

0
0
0
0
0
26
102
206
349
505
643
813
957
1023
1023
1023
964
821
633
434
249
83
0
0
0
0

и так далее

Можешь показать схему как ты его подключил?
Как это communityofrobots.com/sites/default/files/images/u1/… Редактировать: Нет, это неправда, я потерял провод. Глупый тупой тупой. Спасибо, в любом случае!

Ответы (1)

Это говорит о том, что вы не правильно подключили его. Я предполагаю, что у вас есть LDR, подключенный к земле, и последовательный резистор, который образует делитель для Vcc. Если значение равно нулю, это будет означать, что сопротивление LDR меньше 1/1000 последовательного резистора. Это возможно. Но тогда 1023 невозможен, потому что это означало бы, что сопротивление LDR более чем в 1000 раз превышает последовательное сопротивление, а у LDR нет диапазона> 1000 000 между световым и темным сопротивлением.

Если у вас есть мультиметр, измерьте темновое и светлое сопротивление LDR и выберите последовательное сопротивление между этими значениями. Последовательное сопротивление идет между Vcc и входом АЦП, LDR между входом АЦП и землей.

edit
Вы говорите, что контакт не был подключен, и все же у вас есть эти варианты ввода. Если вы начертите их, вы получите идеальный синус:

введите описание изображения здесь

Не исключено, что АЦП уловил это из-за шума, излучаемого сетью. Синус намного медленнее, чем частота сети, но это артефакт, который вы можете получить с субдискретизацией.

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