Прошу помочь с проектом на ATTINY13

Обсуждаем контроллеры компании Atmel.
Ответить
SP634
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Прошу помочь с проектом на ATTINY13

Сообщение SP634 »

Добрый день, уважаемые коллеги!
Пришлось мне сделать "умную" кнопку включения на ATTINY13. За основу взял проект из сети. Алгоритм такой: устройство находится в Спящем режиме, при нажатии кнопки (вывод 6 PORT PB1) и удержании ее в течение 1 секунды логическая единица появляется на выводе 5 , а затем через еще через секунду на выводе 2. При повторном нажатии на кнопку и ее удержании в течение 1 секунды на выходах появляется лог. 0 и устройство уходит в спячку. Так работает прошивка из архива (проект CVAVR)
sleep_button_2_ch.rar
(31.5 КБ) 83 скачивания
Коллеги, прошу помочь: заменить вывод 5 (PORT PB0) на вывод 7 (PORT PB2). Т.е сначала лог.1 появляется на выводе 7, а затем на выводе 2. В остальном все выводы и алгоритм включения остается как есть. К сожалению, моих познаний в программировании недостаточно
Реклама
Игорь_396
Встал на лапы
Сообщения: 102
Зарегистрирован: Ср дек 25, 2019 21:17:31
Откуда: Саратов

Re: Прошу помочь с проектом на ATTINY13

Сообщение Игорь_396 »

В С пока не спец, но рискну ответить, раз молчание в теме.
Попробуйте так:
строчку DDRB=0x01; заменить на
DDRB=1<<PB3|1<<PB2; PB2 и PB3 на выход.
И, далее, все PORTB.0 заменить на PORTB.2.
Реклама
SP634
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Re: Прошу помочь с проектом на ATTINY13

Сообщение SP634 »

Большое спасибо.
Схема заработала, но есть одно но. К выходам 7 и 2 контроллера я подключаю светодиоды через резисторы 200 Ом. И теперь они включаются с очень малой яркостью, как будто выходной ток этих портов ограничен. Ранее такого не было, светодиоды включались с полной яркостью
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6312
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Прошу помочь с проектом на ATTINY13

Сообщение Jack_A »

Если есть осцилл - глянь что на них происходит. Может быть, программа творит там "незапланированную ШИМ".
А без осцилла заниматься МК - это как брачная ночь без невесты :(
Изображение
Реклама
Эиком - электронные компоненты и радиодетали
SP634
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Re: Прошу помочь с проектом на ATTINY13

Сообщение SP634 »

Проверил осциллографом - нет ШИМа на обоих выходах. Напряжение лог.1 - 1.8 Вольт с подключенным красным светодиодом независимо от напряжения питания, если отключить светодиод, то напряжение лог 1 увеличивается до нормального значения, равного напряжению питания. Похоже что выходы работают в режиме источника тока?
Реклама
veso74
Поставщик валерьянки для Кота
Сообщения: 1907
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Прошу помочь с проектом на ATTINY13

Сообщение veso74 »

SP634, первая догадка:включили подтягивающие резисторы вместо того, чтобы вывод стал выходом. Дайте полный код после редактирования.
Реклама
Игорь_396
Встал на лапы
Сообщения: 102
Зарегистрирован: Ср дек 25, 2019 21:17:31
Откуда: Саратов

Re: Прошу помочь с проектом на ATTINY13

Сообщение Игорь_396 »

[uquote="SP634",url="/forum/viewtopic.php?p=4591784#p4591784"]Большое спасибо.
Схема заработала, но есть одно но. К выходам 7 и 2 контроллера я подключаю светодиоды через резисторы 200 Ом. И теперь они включаются с очень малой яркостью, как будто выходной ток этих портов ограничен. Ранее такого не было, светодиоды включались с полной яркостью[/uquote]
DDR не инициализированы.. Походу дело в скобках DDRB=(1<<PB3)|(1<<PB2);
Сильно не пинать, С только осваиваю.
Можно и так попробовать: DDRB=0x0C
Последний раз редактировалось Игорь_396 Вс июн 16, 2024 14:33:32, всего редактировалось 1 раз.
SP634
Прорезались зубы
Сообщения: 246
Зарегистрирован: Пн окт 31, 2016 10:57:29
Откуда: Апрелевка

Re: Прошу помочь с проектом на ATTINY13

Сообщение SP634 »

Похоже на то. При этом лог 0 =0,65 В. Просто светодиод не светится при таком напряжении. Лог.1 с подключенным светодиодом =1,65 В
Архив с проектом
sleep_button_2_ch.rar
(32.5 КБ) 137 скачиваний
Добавлено after 3 minutes 23 seconds:
Эту строку переписал так: DDRB=1<<PORTB.3|1<<PORTB.2|1<<PORTB.0|1<<PORTB.4;
Иначе не проходила компиляция

Добавлено after 2 minutes 36 seconds:
[uquote="veso74",url="/forum/viewtopic.php?p=4591798#p4591798"]SP634, первая догадка:включили подтягивающие резисторы вместо того, чтобы вывод стал выходом. Дайте полный код после редактирования.[/uquote] очень похоже на то. Архив с проектом выложил

Добавлено after 47 minutes 47 seconds:
Игорь_396 писал(а):Можно и так попробовать: DDRB=0x0C
Попробовал.
Заработало.
Огромное спасибо
Ответить

Вернуться в «AVR»