Фотосенсоры отображаются как 0 на последовательном мониторе

Это проводка, которую я использовал для своего проекта Arduino.

Это код, используемый в проекте.

У меня были проблемы с этим на прошлой неделе, и все, что я делал, не работает. Я пытался заменить фотодатчики и поменять проводку, но безуспешно.

, 👍-1

Обсуждение

нет возможности проверить ваш код... никто не собирается тратить время на его ввод, чтобы проверить его.... если вам действительно нужна помощь, пожалуйста, опубликуйте текст вместо изображения текста... , используйте кнопку {} для форматирования кода, @jsotola

Не размещайте изображение вашей fritzing схемы. Опубликуйте фотографию **вашей** платы Arduino и **вашей** макетной платы, чтобы мы могли увидеть правильность ее подключения и значение согласующих резисторов., @Dougie

Если изображения верны: вы прикрепили штифт сервопривода к PIN 9, но, насколько я вижу, подключили его к PIN 2. PIN 2 не является контактом PWM. Сервопривод управляет сервоприводом с ШИМ. Поэтому я бы рекомендовал использовать PIN-код 9. И, конечно же, вы не читали значения LDR повторно в цикле, как указано в одном из данных ответов., @Peter Paul Kiefer


2 ответа


1

Последовательный резистор 220 Ом. Я думаю, что это слишком низкое значение, попробуйте резистор 10K. Фотодатчик должен был иметь более высокий последовательный резистор. /Микаэль

,

0

Что-то не так с вашим кодом. Вы не считываете значение датчика непрерывно в цикле. В коде есть несколько лазеек.

int F = analogRead(Flat);
int S = analogRead(Sharp);

Вы считываете аналоговое значение вне функции loop(). Это неправильный способ написания кода. ваш код не будет выполняться без включения кода в функции setup() или loop(). Код функции setup() будет выполняться только один раз, а код функции loop() будет выполняться многократно.

Поэтому вам нужно включить код считывания датчика в функцию loop().

,