Я использую модуль XBee серии 2 для выборки значений трех датчиков, фоторезистора (LDR), датчика влажности и датчика температуры (LM35). При отсутствии яркости фоторезистор имеет максимальное значение (1023), но если вокруг очень-очень темно значение то же 1023, но другие датчики начинают нестабильно давать значения больше нормы. Может быть, проблема с выборкой XBee ADC? или может быть проблема в цепи?
Модуль XBee, который я использую для выборки, использует циклический спящий режим: он просыпается в течение 100 мс и остается в спящем режиме в течение 3 минут. Я пытался использовать большее время пробуждения, например 1 с, но проблема всегда есть.
Это схема:
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Это изображение: https://dl.dropboxusercontent.com/u/9029111/IMG_4712.JPG
Я думаю, что это проблема с питанием, потому что, если я поставлю сопротивление 1 кОм рядом с R2, датчик влажности в порядке, а температура очень мало изменится, чтобы изменить яркость.
Проверьте таблицу данных для ATmega, которая находится на вашем Arduino, для «Режима шумоподавления АЦП».
Чтобы войти в любой из шести спящих режимов, бит SE в SMCR должен быть записан в логическую единицу и должна быть выполнена инструкция SLEEP. Биты SM2, SM1 и SM0 в регистре SMCR определяют, какой спящий режим (холостой ход, шумоподавление АЦП, отключение питания, энергосбережение, режим ожидания или расширенный режим ожидания) будет активирован командой SLEEP.
К сожалению, насколько я понимаю, вам придется написать свою собственную альтернативу, analogRead();
поскольку стандартная библиотека, похоже, не поддерживает эту команду sleep.
Прочтите эту статью на arduino.cc, чтобы узнать подробности о сне.
Энди ака
Джиппи
giving values greater than normal
Никола
Никола
Джиппи
Крис Стрэттон
Марк П