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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Встал на лапы
Сообщения: 86
Зарегистрирован: Пт фев 17, 2012 20:51:12

Сообщение nikola_man »

люди добрые, сделайте пожайлуста .hex , пытался сам сделать AVR Studio ошибки выдает.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 4446
Зарегистрирован: Вт мар 02, 2010 17:05:19
Откуда: Белоруссия, Минск

Сообщение ublhjnt »

Боюсь, другие МК не потянут такую задачу
Это можно реализовать на простой логике 561 серии, к примеру.
Для МК это не проблема.
Всё можно наладить,если вертеть в руках достаточно долго!
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 124
Зарегистрирован: Сб окт 20, 2012 14:07:16

Сообщение Yusff »

nikola_man писал(а):люди добрые, сделайте пожайлуста .hex , пытался сам сделать AVR Studio ошибки выдает.
А какие ошибки?
Ловите кекс
Вложения
6545.hex
(590 байт) 351 скачивание
Встал на лапы
Сообщения: 86
Зарегистрирован: Пт фев 17, 2012 20:51:12

Сообщение nikola_man »

спасибо.
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 '('
Реклама
Эиком - электронные компоненты и радиодетали
Опытный кот
Аватара пользователя
Сообщения: 882
Зарегистрирован: Ср фев 22, 2012 01:25:21

Сообщение shads »

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

Я писал в AVRStudio4+GCC
Реклама
Модератор
Аватара пользователя
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля

Сообщение Аlex »

ublhjnt писал(а):Для МК это не проблема.
Неужели ? Буду знать, спасибо 8)
Контактная информация:
Реклама
Друг Кота
Сообщения: 4550
Зарегистрирован: Чт май 05, 2011 21:26:34
Откуда: Украина, Славутич

Сообщение Alexeyslav »

"не проблема" - только если не использовать для этого операционную систему и фреймворки... а так да, задача выполнима только на PIC32... в другие просто операционка не влезет.
Контактная информация:
Открыл глаза
Сообщения: 73
Зарегистрирован: Ср июн 17, 2015 20:20:44

Сообщение dasich »

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

Код: Выделить всё

            if (LedPORT & LedLine1)            
                LedPORT = LedLine2;               
				
                if (LedPORT & LedLine2)            
					LedPORT = LedLine1;         
					LedPORT = LedLine2;
					
					if (LedPORT & LedLine1 & LedLine2) 
						LedPORT = LedLine1;
И вопрос по фьюзам, оставить по умолчанию?
Самсусамыч

Сообщение Самсусамыч »

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

Сообщение dasich »

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

Сообщение Самсусамыч »

Так после второго нажатия и так уже включены обе нагрузки. Чот я не пойму логики… :dont_know: Или при втором нажатии первая нагрузка должна отключатся?
Открыл глаза
Сообщения: 73
Зарегистрирован: Ср июн 17, 2015 20:20:44

Сообщение dasich »

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

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

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

Сообщение Самсусамыч »

Вот так и надо подробно расписывать алгоритм. Чтобы не додумывать… :dont_know:
Button_V2.hex
Мой исходник для Вас будет непонятен… пишу на Algorithm Builder :)
Открыл глаза
Сообщения: 73
Зарегистрирован: Ср июн 17, 2015 20:20:44

Сообщение dasich »

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

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

Сообщение dasich »

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

Сообщение Самсусамыч »

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

Сообщение OKF »

Ой, не видели вы ещё исходники у профессионалов. Иной раз просто диву даёшься.(
Открыл глаза
Сообщения: 73
Зарегистрирован: Ср июн 17, 2015 20:20:44

Сообщение dasich »

Вот и снова я вернулся в эту тему.
Подскажите, у нас свободно еще два вывода pb3 и pb4, можно на них повешать кнопки для увеличения и уменьшения яркости? Естественно диоды подключаются через n канальные транзисторы. И добавить память режима яркости.
VNS
Говорящий с текстолитом
Аватара пользователя
Сообщения: 1627
Зарегистрирован: Пт дек 10, 2021 12:48:46
Откуда: Тюмень

Сообщение VNS »

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

Вернуться в «Разные вопросы по МК»