Изменение скорости мигиния диода через меню на LCD
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Изменение скорости мигиния диода через меню на LCD
Имеется демо-плата - Батерфляй....
С простейшим примером мигания светодиода вроде всё более...менее понятно.
Но вот какой вопрос... есть ли где-нибудь пример, как написать что-то типа меню управления частотой мигания диода... т.е. длительность горения в милисек и длительностью паузы когда диод выключен... выбираем в меню нужный параметр, устанавливаем значение... и сохраняем....через меню?
В Батерфляе... когда был только куплен... была прошита программа управления динамиком... часами, календарём и прочим через меню. Имеется джойстик.
Какой принцип написания таких меню?
Как я понимаю... мне через меню нужно менять прерывание... и записывать нужный параметр в память...
Помогите плиз разобраться....
С простейшим примером мигания светодиода вроде всё более...менее понятно.
Но вот какой вопрос... есть ли где-нибудь пример, как написать что-то типа меню управления частотой мигания диода... т.е. длительность горения в милисек и длительностью паузы когда диод выключен... выбираем в меню нужный параметр, устанавливаем значение... и сохраняем....через меню?
В Батерфляе... когда был только куплен... была прошита программа управления динамиком... часами, календарём и прочим через меню. Имеется джойстик.
Какой принцип написания таких меню?
Как я понимаю... мне через меню нужно менять прерывание... и записывать нужный параметр в память...
Помогите плиз разобраться....
- Реклама
- Aheir
- Модератор
- Сообщения: 4517
- Зарегистрирован: Пн апр 03, 2006 11:43:25
- Откуда: Санкт - Петербург
- Контактная информация:
Один из самых простых вариантов - по нажатию кнопок (или что там у Вас есть) изменять значение параметра-переменной mode (например). Далее, в зависимости от значения этого параметра switch'ем делаем вывод того или иного содержимого на экран, а внутри case'а этого switch'а м.б. изменение другого параметра и т.д., т.е. получаем многоуровневое меню. Простой пример этого можете посмотреть в моем проекте простейшего предусилителя с цифровым управлением в статьях.
Оптимизм х (Опыт + Знания) = const
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Проблема в том что только-только начал разбираться с МК.Sounds писал(а):А в чём конкретно проблема? Что именно ты не можешь реализовать?
А уроков с написанием меню... с возможностью сохранения в постоянную память параметров - ненашел.
Допустим есть пример - мигание светодиода.
В тексте программы настр. тайминги и прочее... диод мигает с определённой скоростью.
Но что бы изменить скорость - нужно перепрошивать!!! А зачем? Если в плате http://sub.chipdoc.ru/html.cgi/txt/app/ ... htm?fid=32 есть LCD с джойстиком....
Было бы удобно реализовать этот простейший пример с использованием LCD.
Взял... зашел в меню... изменил время горения с.диода... и время в потухшем состоянии... сохранил...... И всё...
Но примеров как вообще писать меню.... не нашёл
- Реклама
-
BerZerK-ku
- Мучитель микросхем
- Сообщения: 492
- Зарегистрирован: Вт июл 22, 2008 08:10:54
Мда... тут дело глухо. А не пробовали на шаги задачу разбить? Типа:Spirit412 писал(а):Проблема в том что только-только начал разбираться с МК.Sounds писал(а):А в чём конкретно проблема? Что именно ты не можешь реализовать?
А уроков с написанием меню... с возможностью сохранения в постоянную память параметров - ненашел.
Допустим есть пример - мигание светодиода.
В тексте программы настр. тайминги и прочее... диод мигает с определённой скоростью.
Но что бы изменить скорость - нужно перепрошивать!!! А зачем? Если в плате http://sub.chipdoc.ru/html.cgi/txt/app/ ... htm?fid=32 есть LCD с джойстиком....
Было бы удобно реализовать этот простейший пример с использованием LCD.
Взял... зашел в меню... изменил время горения с.диода... и время в потухшем состоянии... сохранил...... И всё...
Но примеров как вообще писать меню.... не нашёл[/url]
1. Мигать светодиодом.
2. Управление светодиодом с помощью кнопок.
3. Вывод информации на ЖК.
4. Создание меню на ЖК.
5. Работа с EEPROM.
А по другому тут никак... Разве что перед другими похвастаться, показав чужую работу. С чужими исходниками будет разобраться не легче, чем с нуля все самому сделать.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18556
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
гм... это какой-то извращенный садомазохизм... имея в наличии живую железяку корячиться с моделью в протеусе... мда...Spirit412 писал(а):А не подскажите...
Существует ли схемка АВР Батерфляя для отладки в Протеусе????
Я уже всё обыскал... многих спрашивал...
Можно и самому нарисовать по описанию конечно..Но зачем велосипед изобритать
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18556
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
неужели уже на 2 светодиода замахиваетесь?! не страшно?Spirit412 писал(а):Вчём то вы правы!
Но... если в будущем захочется соорудить управление чемто более масштабным...нежели диодом! то былобы не плохо иметь схемку...
а разве на плате батерфляя нет макетной области? что протеус - софТВАРЬ бездушная... а железочка - она тепло рук любит, ласку... кому попало не отдается...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Там нет макетной части как таковой....
есть дырки под разъёмы... напаял разъемов...остальное навесом.
Платка паханькая.
По поводу дальнейшего.... хочу в итоге сделать управление на газовый электромагнитный клапан, который управляет затвором. Регулировка времени с точностью до 5мсек.
Есть заводская плата... с управлением от меги48... но снеё никак прошивку не скачать... и управление настроек осуществляется без LCD.
Для программирования используются две кнопки: кнопка питания и кнопка программирования (серая кнопка на схемной плате, которую можно увидеть, сняв боковую панель ). Обратная связь с пользователем обеспечивается посредством двух индикаторов, расположенных на печатной плате – желтый и красный индикаторы.
Нажатие кнопки программирования проходит через цикл шести режимов настройки. Выбранный режим программирования определяет ту настройку, которая будет устанавливаться. А различные вариации мигания и горения индикаторов указывают на эти настройки:
Постоянно горящий индикатор – настройка задержки затвора
Мигающий индикатор - настройка ROF Delay
Двойное мигание индикатора – режим работы затвора на нажатие (одиночный одно нажатие - один раз открылся и закрылся затвор), полный автомат (пока нажата кнопка... затвор откр/закр))
Цвет мигающего или горящего индикатора указывает на то, как настройки будут устанавливаться:
Желтый - повышение значения настройки
Красный – снижение значения настройки
Идиотская система
Хотелосьбы в итоге иметь LCD для отоброжения настроек и значений.
есть дырки под разъёмы... напаял разъемов...остальное навесом.
Платка паханькая.
По поводу дальнейшего.... хочу в итоге сделать управление на газовый электромагнитный клапан, который управляет затвором. Регулировка времени с точностью до 5мсек.
Есть заводская плата... с управлением от меги48... но снеё никак прошивку не скачать... и управление настроек осуществляется без LCD.
Для программирования используются две кнопки: кнопка питания и кнопка программирования (серая кнопка на схемной плате, которую можно увидеть, сняв боковую панель ). Обратная связь с пользователем обеспечивается посредством двух индикаторов, расположенных на печатной плате – желтый и красный индикаторы.
Нажатие кнопки программирования проходит через цикл шести режимов настройки. Выбранный режим программирования определяет ту настройку, которая будет устанавливаться. А различные вариации мигания и горения индикаторов указывают на эти настройки:
Постоянно горящий индикатор – настройка задержки затвора
Мигающий индикатор - настройка ROF Delay
Двойное мигание индикатора – режим работы затвора на нажатие (одиночный одно нажатие - один раз открылся и закрылся затвор), полный автомат (пока нажата кнопка... затвор откр/закр))
Цвет мигающего или горящего индикатора указывает на то, как настройки будут устанавливаться:
Желтый - повышение значения настройки
Красный – снижение значения настройки
Идиотская система
Хотелосьбы в итоге иметь LCD для отоброжения настроек и значений.
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Пока опыт основывается на "мигающем" диоде...Степаныч писал(а):А вы имеете знания СИ или Ассемблера! Если вы не имеете знаний в языках и планы у вас большие вы должны хотя бы курс какой нибудь почитать(Хотя бы товарища Tich-a) или здешнюю обучалку. P/S Просто не думаю что под такую задачу вы найдете примеры готовых исходников .
Читаю книгу "Написание программ для микроконтроллеров AVR"
Готовые исходники действительно не найду.... это и понятно.
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18556
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Spirit412, а че у вас за объект такой, которым вы собираетесь управлять? уж не горелка для воздушного шара случайно?
любопытно стало - затворы какие-то, горелки...
второе: баттерфляй-то вам зачем? какова цель: сделать именно на собственном оригинальном ЖКИ, или все равно на каком? может, вам проще будет использовать ЖКИ со встроенным контроллером, с ними точно возни меньше будет в смысле меню и т.п. а по задаче судя (точнее, по вашим словам) там и attiny2313 много будет, а вы на таком мощном контроллере собрались делать... денег не жалко?
второе: баттерфляй-то вам зачем? какова цель: сделать именно на собственном оригинальном ЖКИ, или все равно на каком? может, вам проще будет использовать ЖКИ со встроенным контроллером, с ними точно возни меньше будет в смысле меню и т.п. а по задаче судя (точнее, по вашим словам) там и attiny2313 много будет, а вы на таком мощном контроллере собрались делать... денег не жалко?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
Данный агрегат применяется в электронных пеинтбольных маркерах, типа ИОН!ARV писал(а):Spirit412, а че у вас за объект такой, которым вы собираетесь управлять? уж не горелка для воздушного шара случайно?любопытно стало - затворы какие-то, горелки...
второе: баттерфляй-то вам зачем? какова цель: сделать именно на собственном оригинальном ЖКИ, или все равно на каком? может, вам проще будет использовать ЖКИ со встроенным контроллером, с ними точно возни меньше будет в смысле меню и т.п. а по задаче судя (точнее, по вашим словам) там и attiny2313 много будет, а вы на таком мощном контроллере собрались делать... денег не жалко?
Мне удобнее работать с Батерфляем...т.к. там уже всё есть. Да и потом... мне не нужно это делать в промышленных масштабах!!!
В маркере есть электромагнитный клапан... также есть "глаза"... представляющие собой ИК датчик присутствия шара в стволе, ну и соотв. курок(кнопка огня)
Логика действия такова... нажимаем курок... идёт опрос глаз... если шар в стволе... то производится выстрел!... если нет... то не производится.... пока глаза не дадут положительный результат!
это если стоит режим полного автоматического огня... т.е. пока нажат курок... маркер стреляет.
Если полуавтомат... то нужно делать цикл опроса курка.. на предмет того был-ли он отжат...а потом опять нажат!
Плюс возможность сохранять настройки.
LCD... наиболее подходящий вариант - очень мленький... в одну строчку. имволов нужно... примерно 8-12ть.
Пока эксперементирую с Батерфляем....
Честноговоря... нет времени сьездить и купить МК attiny2313 под который уже написано куча уроков.... и макетку что бы спаять плату.
- Spirit412
- Встал на лапы
- Сообщения: 125
- Зарегистрирован: Пн авг 04, 2008 10:54:11
- Откуда: Питер
- Контактная информация:
грубо говоря... мега выполняет также и функции контроллера?Aheir писал(а):Насколько я помню, там стоит дисплей без контроллера, функции генерации управляющих последовательностей для этого индикатора возложены на "набортный" контроллер ЖКИ, содержащийся в меге.
блин... обидно...
просто к батерфляю исходники все на СИ... а я только начинаю изучать программирование. Осваиваю Ассемблер...
Может есть у кого пример вывода информации какой либо... на ЖК батерфляя... но на АССЕМБЛЕРЕ????????
- Lestat
- Встал на лапы
- Сообщения: 111
- Зарегистрирован: Сб мар 31, 2007 13:53:07
- Откуда: Lviv
- Контактная информация:
Re: Изменение скорости мигиния диода через меню на LCD
я делеал бы так:Spirit412 писал(а): как написать что-то типа меню управления частотой мигания диода... т.е. длительность горения в милисек и длительностью паузы когда диод выключен... выбираем в меню нужный параметр, устанавливаем значение... и сохраняем....через меню?
int pause;
int work;
...
...
...
в меню задаем pause и work.
потом
начало:
PORTB.0=0;
for(i=1;i<=pause;i++) delay_ms(1);
PORTB.0=1;
for(i=1;i<=work;i++) delay_ms(1);
на начало


