analogRead всегда возвращает 1023 - Arduino Mega 2560
Я подключил FSR (резистор, чувствительный к силе) в соответствии с изображением(отредактированное имя, чтобы избежать несоответствия). Когда я измеряю напряжение ч/б на двух выводах fsr, напряжение меняется в зависимости от приложенного давления. Но analogRead всегда возвращает 1023. Но мой другой Мега хорошо работает с тем же кодом и конфигурациями. Может ли кто-нибудь подсказать мне, как это исправить. Заранее спасибо.
void setup() {
Serial.begin(19200);
}
void loop() {
int num1 = analogRead(A15);
Serial.println(num1);
delay(1500);
}
@Suman Ponmathan, 👍1
Обсуждение3 ответа
Похоже, ваш Arduino Mega 2560 сломан.
Если mega a работает, а mega b-нет с одной и той же схемой, то mega b должен быть разорван. – Майенко
Вы можете подтвердить эту теорию, создав схему делителя напряжения (или используя потенциометр в качестве делителя напряжения), и попросите свой Arduino Mega прочитать это. Хорошей практикой также является измерение напряжения с помощью мультиметра. Это поможет вам убедиться, что считанное напряжение соответствует измеренному напряжению, а также поможет избежать перенапряжения.
Если вы постоянно получаете 1023
, измените его на другой аналоговый вход. Если это все еще не работает, попробуйте другой Arduino Mega.
У меня была аналогичная проблема, когда я портировал свой код с Arduino Due из Arduino Mega. Я смог решить эту проблему, добавив следующий вызов в функцию настройки.
analogReference(DEFAULT);
Похоже, что в некоторых других Ардуино аналоговая ссылка будет выбрана автоматически, но, по крайней мере, Arduino Mega нуждается в этом.
У меня была та же проблема при моделировании аналогичной схемы в программном обеспечении proteus. Я смог решить эту проблему, подав питание с помощью внешнего входного терминала постоянного тока на вывод 5 В платы arduino.
- Как разделить входящую строку?
- Как использовать SPI на Arduino?
- Как сбросить или отформатировать Arduino?
- Управление скоростью вентилятора с помощью библиотеки Arduino PID
- Arduino Due vs Mega 2560
- Как получить уникальный идентификатор для всех плат Arduino?
- Почему я получаю avrdude: stk500v2_ReceiveMessage(): timeout error when uploading to Arduino Mega?
- Тайм-аут связи Arduino Mega с ошибкой программатора
1. Ваш код не проверяет тот же pin, который показан на схеме подключения. 2. Этот светодиод без резистора, ограничивающего ток, может привести к плохим последствиям для вашей платы. Возможно, это как-то связано с этим., @Delta_G
изображение только для справки. В нашем сценарии мы подключились к A15 и использовали Mega. Пожалуйста, не обращайте внимания на светодиодную часть и UNO, @Suman Ponmathan
Так что в основном картина-это просто полная ложь, которая не имеет ничего общего с вопросом? Зачем тогда его публиковать? Почему бы не опубликовать фактическую схему, которую вы использовали?, @Delta_G
Вы не можете игнорировать светодиод. Это может быть то, что вызывает ваши проблемы., @Delta_G
Я не знаю, как сделать схему такой, как описанная выше., @Suman Ponmathan
Действительно? Возьмите карандаш и лист бумаги и нарисуйте схему. сделайте снимок и загрузите его. Что в этом сложного? Это может быть не так красиво, но, по крайней мере, это будет правильно. И что, по-вашему, важнее, чтобы это было красиво или чтобы это было точно?, @Delta_G
базовая отладка включает в себя переключение компонентов ... ты это сделал? (переключите соединения +5 В и GND), @jsotola
проведите некоторые исследования о делителях напряжения, @jsotola
Если mega a работает, а mega b не работает с одной и той же схемой, то mega b должен быть разорван., @Majenko