Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить

Re: Управление нагрузками одной кнопкой.

Пн июл 01, 2013 18:25:31

люди добрые, сделайте пожайлуста .hex , пытался сам сделать AVR Studio ошибки выдает.

Re: Управление нагрузками одной кнопкой.

Пн июл 01, 2013 19:39:04

Боюсь, другие МК не потянут такую задачу

Это можно реализовать на простой логике 561 серии, к примеру.
Для МК это не проблема.

Re: Управление нагрузками одной кнопкой.

Пн июл 01, 2013 21:52:24

nikola_man писал(а):люди добрые, сделайте пожайлуста .hex , пытался сам сделать AVR Studio ошибки выдает.

А какие ошибки?
Ловите кекс
Вложения
6545.hex
(590 байт) Скачиваний: 314

Re: Управление нагрузками одной кнопкой.

Вт июл 02, 2013 18:11:47

спасибо.
error: Cannot find include file: util/delay.h
error: Cannot find include file: avr/io.h
error: char: Unknown instruction or macro
error: BtnGet: Unknown instruction or macro
error: syntax error, unexpected '('

Re: Управление нагрузками одной кнопкой.

Вт июл 02, 2013 20:37:11

А в чем компилируете?

Я писал в AVRStudio4+GCC

Re: Управление нагрузками одной кнопкой.

Вт июл 02, 2013 22:14:07

ublhjnt писал(а):Для МК это не проблема.
Неужели ? Буду знать, спасибо 8)

Re: Управление нагрузками одной кнопкой.

Пн июл 08, 2013 14:38:33

"не проблема" - только если не использовать для этого операционную систему и фреймворки... а так да, задача выполнима только на PIC32... в другие просто операционка не влезет.

Re: Управление нагрузками одной кнопкой.

Вс дек 06, 2020 09:02:54

shads, подскажите, а как правильно исправить код, чтобы первое нажатие включается первая нагрузка, второе нажатие включается вторая нагрузка, третье нажатие включается и первая, и вторая нагрузка.
Мои размышления меня привели вот к такому
Код:
            if (LedPORT & LedLine1)           
                LedPORT = LedLine2;               
            
                if (LedPORT & LedLine2)           
               LedPORT = LedLine1;         
               LedPORT = LedLine2;
               
               if (LedPORT & LedLine1 & LedLine2)
                  LedPORT = LedLine1;


И вопрос по фьюзам, оставить по умолчанию?

Re: Управление нагрузками одной кнопкой.

Вс дек 06, 2020 11:39:42

Написал свой вариант, проверяйте… тини13 тактируется на заводских установках (1,2 МГц), прошивать фьюзы не нужно. РВ1 (6) – это первая нагрузка, РВ2 (7) – это вторая нагрузка. Кнопка на РВ0 (5). Между выводом 1 и 8 поставьте резистор на 10 кОм.
Button.hex

Re: Управление нагрузками одной кнопкой.

Вс дек 06, 2020 15:15:51

Самсусамыч, первое нажатие загорается первая нагрузка, второе нажатие первая и вторая нагрузка, третье нажатие выключаются нагрузки. Совсем не то...
Мне бы сначала первую, потом вторую, потом первую и вторую вместе. И так по кругу, а долгое нажатие уже выключение.

Re: Управление нагрузками одной кнопкой.

Вс дек 06, 2020 15:33:56

Так после второго нажатия и так уже включены обе нагрузки. Чот я не пойму логики… :dont_know: Или при втором нажатии первая нагрузка должна отключатся?

Re: Управление нагрузками одной кнопкой.

Вс дек 06, 2020 15:45:50

Да, после второго нажатия первую отключать.

Первое нажатие - включаем первую нагрузку, вторая выключена.
Второе нажатие первая выключается, вторая включается
Третье нажатие - включаем все нагрузки.
Следующие нажатия по кругу повторят этот цикл.
Выключение по удержанию кнопки.

Я бы еще код посмотрел, для развития... Т.к. не могу откомпилировать код в avr studio, у меня hex слишком большого размера получается. Да и неправленый код виликоват выходит.

Re: Управление нагрузками одной кнопкой.

Вс дек 06, 2020 15:52:04

Вот так и надо подробно расписывать алгоритм. Чтобы не додумывать… :dont_know:
Button_V2.hex

Мой исходник для Вас будет непонятен… пишу на Algorithm Builder :)

Re: Управление нагрузками одной кнопкой.

Вс дек 06, 2020 16:01:05

Спасибо, все работает как надо. Единственно задержка нажатия долгая, примерно 5 секунд, а можно уменьшить до 2?

Добавлено after 2 minutes 51 second:
И еще заметил, что при нажатии удержания на выключение происходит переключение на следующий режим. Можно сделать короткое нажатие на отпускание клавиши?

Re: Управление нагрузками одной кнопкой.

Вс дек 06, 2020 16:34:24

Button.hex

Re: Управление нагрузками одной кнопкой.

Пн дек 07, 2020 13:24:59

Самсусамыч, великолепно! Вы прям волшебник, теперь работает как и задумывалось.
ps посмотрел алгоритм билдер, вроде ничего сложного, если исходники не тайна, я бы посмотрел и по изучал.

Re: Управление нагрузками одной кнопкой.

Пн дек 07, 2020 15:59:56

Исходник не тайна, такое не может быть тайной… :)) я не являюсь программистом – это хобби… так что учится по моим программам не советую… :))) это ещё те "шедевры"… :facepalm: учится нужно у профессионалов… :beer:
Исходник на АВ:
dasich.zip

Re: Управление нагрузками одной кнопкой.

Пн дек 07, 2020 16:05:42

Ой, не видели вы ещё исходники у профессионалов. Иной раз просто диву даёшься.(

Re: Управление нагрузками одной кнопкой.

Сб апр 02, 2022 21:43:23

Вот и снова я вернулся в эту тему.
Подскажите, у нас свободно еще два вывода pb3 и pb4, можно на них повешать кнопки для увеличения и уменьшения яркости? Естественно диоды подключаются через n канальные транзисторы. И добавить память режима яркости.

Re: Управление нагрузками одной кнопкой.

Пн апр 04, 2022 16:20:47

Теоретически можно, а вот практически необходимо пробовать. Ознакомился с темой… и как я понял используется МК тини13 у которой всего один таймер, а значит и аппаратный ШИМ можно организовать только один. Хотя конечно можно написать и программный ШИМ, но могут по ходу возникнуть некие ограничения. Непонятен (не описан подробно) алгоритм выбора той или иной яркости для каждого канала, а так же какая градация (минимальный, разовый изменённый уровень) должна быть при установке уровня яркости? В общим хорошо бы узнать подробные хотелки в плане регулирования и нужно ли уровень яркости сохранять в EEPROM на случай полного обесточивания девайса. А то ведь перезапись EEPROM имеет ограниченный ресурс.
Ответить