Аналоговые входы на arduino: atmega32?
- Войдите на сайт для отправки комментариев
Не получается сделать простейший вольтметр через analogRead(), все пины уже перепробовал..
Плата: http://robozone.su/2008/06/01/universalnyjj-robo-kontroller-mrc-40.html
Бутлоадер и доработки arduino software: http://www.thaieasyelec.net/index.php/Arduino/ATmega32-Dev-Board-Arduino-Diecimila-Compatible-DIP-28-DIP-40-/p_133.html
Я правильно понимаю, что мне нужны входы ADC? Методом светодиодного тыка и digitalWrite нашел почти все пины. Не нашел PB6,PB7, PA0, PA1 (не отзываются на плате). На analogRead перепробовал все, либо 0 либо хаотичные значения в районе 60-90 из 255 (/4). Пробовал устанавливать HIGH и LOW на пин, пробовал переключать на INPUT - нет эффекта.
Что я мог упустить? Может, надо как то особым образом переключить ADC на аналоговый режим?
На analogRead перепробовал все, либо 0 либо хаотичные значения в районе 60-90 из 255 (/4).
Что я мог упустить? Может, надо как то особым образом переключить ADC на аналоговый режим?
А резисторы к выводам подключал когда искал входы (PA0-PA7 аналоговые входы) , на землю чтоб было 0 или на "+" чтоб 255? Если оставить выводы в "воздухе" как раз будет случайное значение при analogRead
На analogRead перепробовал все, либо 0 либо хаотичные значения в районе 60-90 из 255 (/4).
Что я мог упустить? Может, надо как то особым образом переключить ADC на аналоговый режим?
А резисторы к выводам подключал когда искал входы (PA0-PA7 аналоговые входы) , на землю чтоб было 0 или на "+" чтоб 255? Если оставить выводы в "воздухе" как раз будет случайное значение при analogRead
Пробовал на гнд, но не все. Надо по порядку еще раз попробовать. Я правильно понимаю, что один из ADC подтягиваю на гнд 10 ком, пишу в него цифрой HIGH и после читаю analogRead?
нет не надо HIGH, просто analogRead
Вроде так analogPin = 0 нога -40,1=нога -39, 2 =нога- 38, 3= нога- 37, 4= нога- 36 и пин 5= нога 35 всего 6 шт а PA6 и PA7 в Arduino не используются
имеет отношение к этому делу?
Вроде так analogPin = 0 нога -40,1=нога -39, 2 =нога- 38, 3= нога- 37, 4= нога- 36 и пин 5= нога 35 всего 6 шт а PA6 и PA7
ну да.. попробую.
Serial.begin()
Инициирует последовательное соединение и задает скорость передачи данных в бит/c (бод). Для обмена данными с компьютером используйте следующие значения: 300, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 или 115200. При соединение через порты вход/выхода 0 и 1 могут быть использованы другие значения скорости, требуемые устройством с которым будет осуществляться обмен данными.
В общем так..
Нога микросхемы = Название ноги = пин в АналогРеад
33 = PA7 = 0
34 = PA6 = 1
35 = PA5 = 2
x = x = 3 (не нашлась)
37 = PA3 = 4
38 = PA2 = 5
39 = PA1 = 6
40 = PA0 = 7
1) Вывод - PA4 я сжег
2) Вывод - цифровые и аналоговые пины в Ардуино номерами не совпадают при одних ногах (кто ж знал!)
Пойдем дальше. Нужен вольтметр. Вот как работает:
Вопрос: как в математике теперь учесть резистор делителя, который будет втыкаться между измеряемым + и входом, при наличии шунтирующего?
Разобрался, спасибо интернету и школьному курсу математики.