Описание: Простой робот на микроконтроллере (Часть2) Робот с фотодатчиком |
| Поиск в теме | Версия для печати |
| ilnur888 |
Отправлено: 16 Ноября, 2010 - 21:47:19
|

Маршал

Сообщений всего: 103
Дата рег-ции: Окт. 2010
|
mihail пишет:ilnur888 пишет:Аааа, вы ж не писали раньше про PD1. Я не проявил должного внимания и поленился заглянуть в datasheet ATmega8. Вы, судя по всему, тоже. Прочитав результаты последних измерений я задумался над тем, что же такое логическая единица и логический ноль для ATmega8. Ответ был найден в datasheet ATmega8 (Figure 155, Figure 156 и Figure 157).
На PD1 постоянно присутствует логический ноль вне зависимости от того нажата кнопка или нет. Подробности смотрите в datasheet ATmega8 (Figure 155, Figure 156 и Figure 157).
Если Вы отсоедините от схемы фотодиод и оставите на PD1 только кнопку, то все будет
работать.
К сожалению, все также плохо...
Как я вас понял, делаю так:

Н-И-Ч-Е-Г-О не происходит!!! 
Для полного счастья сделал вот так вот и пробовал по-разному: все равно одно и то же колесо вертится, толку нет

В чем же может быть причина, а???
mihail, огромное вам спасибо за то, что находите время и терпение отвечать на мои вопросы и решать эту проблему с роботом! 
Добавление
Кстати, а вот эта таблица в даташите не показывает значения низкого/высокого на МК???

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
killgur пишет:программа явно работает но считает что на линии 1 порта D всегда "1"
можно попробовать оставшиеся три линии на порте D
можно не включать подтягивающие резисторы на порте D и посмотреть появится ли на второй линии порта С "0"
скорее всего какой то глюк при компиляции или прошивке
Попробовал я значит все эти линии только что, ноль реакции...
(Добавление)
cjA пишет:естественно после
ddrd=0
он должен реагировать на изменение напряжения на ножке, ну вот читает он с ножки 0 (а там у вас всегда ноль нажимайте , не нажимайте вы эту кнопку) и что ему выбрать "0" с ножки или "1" с portd1?
я думаю он выберет ноль с ножки разуж сказано ddrd=0 ?
чтобы было понятнее- чему равен aux=portd ?
логически по даташиту (но еще раз говорю я точно не знаю)
portx и pinx - это разные регистр, а вот что передано на шину физически (и на внешние ножки) из этих двух регистров - зависит от состояния ddrx и команды in\out
pled- это фототранзистор и есть, долго писать.
PLED - ясно, спасибо за уточнение!
ddrd=0 задается в начале, а потом из них PD1 программно меняется на "1", а я же его цепляю на "0" => т.к. порты D (все) настроены на прием, то МК должен вроде как понять.
Честно говоря сам запутался, сейчас буду глубже думать...(Отредактировано автором: 16 Ноября, 2010 - 22:23:12) |
| |
|
| ilnur888 |
Отправлено: 16 Ноября, 2010 - 22:28:57
|

Маршал

Сообщений всего: 103
Дата рег-ции: Окт. 2010
|
cjA пишет:(ну сейчас то с двумя кнопками
portd1=1
уже не нужно писать?)
Ну значит при попытке сменить направление\двигатель идет помеха и МК рестартует. (это уже говорилось)
на моторчики полезно посадить конденсаторы, на питание МК любой дросель и тоже пару кондеров.
(TR обычно у нас пишут, у них Q, и соответственно PTR и PQ (PLED не очень граммотно, но это и не я придумал  ))
какие конденсаторы, емкость, вольт?
А вот что такое дросель и кондер буду сейчас искать по NETу.
(Добавление)
кондер и есть конденсатор?
(Добавление)
Да
Дросель - катушка индуктивности? Если да, то какую мне ставить?(Отредактировано автором: 16 Ноября, 2010 - 22:32:42) |
| |
|
|
| Поиск в теме | Версия для печати |
| Страниц (6): « 1 2 3 [4] 5 6 » |
| « С чего начать? » |
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
|
  |
|
|
|