Страница 1 из 2
Изменение скорости мигиния диода через меню на LCD
Добавлено: Вс дек 07, 2008 14:25:47
Spirit412
Имеется демо-плата - Батерфляй....
С простейшим примером мигания светодиода вроде всё более...менее понятно.
Но вот какой вопрос... есть ли где-нибудь пример, как написать что-то типа меню управления частотой мигания диода... т.е. длительность горения в милисек и длительностью паузы когда диод выключен... выбираем в меню нужный параметр, устанавливаем значение... и сохраняем....через меню?
В Батерфляе... когда был только куплен... была прошита программа управления динамиком... часами, календарём и прочим через меню. Имеется джойстик.
Какой принцип написания таких меню?
Как я понимаю... мне через меню нужно менять прерывание... и записывать нужный параметр в память...
Помогите плиз разобраться....
Добавлено: Пн дек 08, 2008 20:10:14
Aheir
Один из самых простых вариантов - по нажатию кнопок (или что там у Вас есть) изменять значение параметра-переменной mode (например). Далее, в зависимости от значения этого параметра switch'ем делаем вывод того или иного содержимого на экран, а внутри case'а этого switch'а м.б. изменение другого параметра и т.д., т.е. получаем многоуровневое меню. Простой пример этого можете посмотреть в моем проекте простейшего предусилителя с цифровым управлением в статьях.
Добавлено: Пн дек 08, 2008 21:10:08
Spirit412
не-не-не!
мне-бы какой примерчик... с описанием... с кодом в Си
Говоришь у тебя есть пример... посмотрю... надеюсь поможет

Добавлено: Вт дек 09, 2008 01:52:59
Sounds
А в чём конкретно проблема? Что именно ты не можешь реализовать?
Добавлено: Вт дек 09, 2008 08:05:16
Spirit412
Sounds писал(а):А в чём конкретно проблема? Что именно ты не можешь реализовать?
Проблема в том что только-только начал разбираться с МК.
А уроков с написанием меню... с возможностью сохранения в постоянную память параметров - ненашел.
Допустим есть пример - мигание светодиода.
В тексте программы настр. тайминги и прочее... диод мигает с определённой скоростью.
Но что бы изменить скорость - нужно перепрошивать!!! А зачем? Если в плате
http://sub.chipdoc.ru/html.cgi/txt/app/ ... htm?fid=32 есть LCD с джойстиком....
Было бы удобно реализовать этот простейший пример с использованием LCD.
Взял... зашел в меню... изменил время горения с.диода... и время в потухшем состоянии... сохранил...... И всё...
Но примеров как вообще писать меню.... не нашёл

[/url]
Добавлено: Вт дек 09, 2008 10:55:51
BerZerK-ku
Spirit412 писал(а):Sounds писал(а):А в чём конкретно проблема? Что именно ты не можешь реализовать?
Проблема в том что только-только начал разбираться с МК.
А уроков с написанием меню... с возможностью сохранения в постоянную память параметров - ненашел.
Допустим есть пример - мигание светодиода.
В тексте программы настр. тайминги и прочее... диод мигает с определённой скоростью.
Но что бы изменить скорость - нужно перепрошивать!!! А зачем? Если в плате
http://sub.chipdoc.ru/html.cgi/txt/app/ ... htm?fid=32 есть LCD с джойстиком....
Было бы удобно реализовать этот простейший пример с использованием LCD.
Взял... зашел в меню... изменил время горения с.диода... и время в потухшем состоянии... сохранил...... И всё...
Но примеров как вообще писать меню.... не нашёл

[/url]
Мда... тут дело глухо. А не пробовали на шаги задачу разбить? Типа:
1. Мигать светодиодом.
2. Управление светодиодом с помощью кнопок.
3. Вывод информации на ЖК.
4. Создание меню на ЖК.
5. Работа с EEPROM.
А по другому тут никак... Разве что перед другими похвастаться, показав чужую работу. С чужими исходниками будет разобраться не легче, чем с нуля все самому сделать.
Добавлено: Вт дек 09, 2008 11:03:27
Spirit412
Да, наверное так и сделаю...
А не подскажите...
Существует ли схемка АВР Батерфляя для отладки в Протеусе????
Я уже всё обыскал... многих спрашивал...
Можно и самому нарисовать по описанию конечно..

Но зачем велосипед изобритать
Добавлено: Вт дек 09, 2008 11:16:01
ARV
Spirit412 писал(а):А не подскажите...
Существует ли схемка АВР Батерфляя для отладки в Протеусе????
Я уже всё обыскал... многих спрашивал...
Можно и самому нарисовать по описанию конечно..

Но зачем велосипед изобритать
гм... это какой-то извращенный садомазохизм... имея в наличии живую железяку корячиться с моделью в протеусе... мда...
Добавлено: Вт дек 09, 2008 11:26:51
Spirit412
Вчём то вы правы!
Но... если в будущем захочется соорудить управление чемто более масштабным...нежели диодом! то былобы не плохо иметь схемку...
Добавлено: Вт дек 09, 2008 11:49:21
ARV
Spirit412 писал(а):Вчём то вы правы!
Но... если в будущем захочется соорудить управление чемто более масштабным...нежели диодом! то былобы не плохо иметь схемку...
неужели уже на 2 светодиода замахиваетесь?! не страшно?
а разве на плате батерфляя нет макетной области? что протеус - софТВАРЬ бездушная... а железочка - она тепло рук любит, ласку... кому попало не отдается...
Добавлено: Вт дек 09, 2008 12:56:42
Spirit412
Там нет макетной части как таковой....
есть дырки под разъёмы... напаял разъемов...остальное навесом.
Платка паханькая.
По поводу дальнейшего.... хочу в итоге сделать управление на газовый электромагнитный клапан, который управляет затвором. Регулировка времени с точностью до 5мсек.
Есть заводская плата... с управлением от меги48... но снеё никак прошивку не скачать... и управление настроек осуществляется без LCD.
Для программирования используются две кнопки: кнопка питания и кнопка программирования (серая кнопка на схемной плате, которую можно увидеть, сняв боковую панель ). Обратная связь с пользователем обеспечивается посредством двух индикаторов, расположенных на печатной плате – желтый и красный индикаторы.
Нажатие кнопки программирования проходит через цикл шести режимов настройки. Выбранный режим программирования определяет ту настройку, которая будет устанавливаться. А различные вариации мигания и горения индикаторов указывают на эти настройки:
Постоянно горящий индикатор – настройка задержки затвора
Мигающий индикатор - настройка ROF Delay
Двойное мигание индикатора – режим работы затвора на нажатие (одиночный одно нажатие - один раз открылся и закрылся затвор), полный автомат (пока нажата кнопка... затвор откр/закр))
Цвет мигающего или горящего индикатора указывает на то, как настройки будут устанавливаться:
Желтый - повышение значения настройки
Красный – снижение значения настройки
Идиотская система

Хотелосьбы в итоге иметь LCD для отоброжения настроек и значений.
Добавлено: Вт дек 09, 2008 14:58:58
Степаныч
А вы имеете знания СИ или Ассемблера! Если вы не имеете знаний в языках и планы у вас большие вы должны хотя бы курс какой нибудь почитать(Хотя бы товарища Tich-a) или здешнюю обучалку. P/S Просто не думаю что под такую задачу вы найдете примеры готовых исходников .

Добавлено: Вт дек 09, 2008 15:06:17
Spirit412
Степаныч писал(а):А вы имеете знания СИ или Ассемблера! Если вы не имеете знаний в языках и планы у вас большие вы должны хотя бы курс какой нибудь почитать(Хотя бы товарища Tich-a) или здешнюю обучалку. P/S Просто не думаю что под такую задачу вы найдете примеры готовых исходников .

Пока опыт основывается на "мигающем" диоде...
Читаю книгу "Написание программ для микроконтроллеров AVR"
Готовые исходники действительно не найду.... это и понятно.
Добавлено: Ср дек 10, 2008 13:55:17
Степаныч
Тогда еще можно вам предложить поискать исходники отдельно по задачам как предлогал Berkzerk . Тогда можно потом собрать все в кучу подправить все ок! Но лучше изучить самостоятельно(по своему небольшому опыту знаю)

! А что книгу читаете это оч хорошо

Добавлено: Ср дек 10, 2008 14:36:37
ARV
Spirit412, а че у вас за объект такой, которым вы собираетесь управлять? уж не горелка для воздушного шара случайно?

любопытно стало - затворы какие-то, горелки...
второе: баттерфляй-то вам зачем? какова цель: сделать именно на собственном оригинальном ЖКИ, или все равно на каком? может, вам проще будет использовать ЖКИ со встроенным контроллером, с ними точно возни меньше будет в смысле меню и т.п. а по задаче судя (точнее, по вашим словам) там и attiny2313 много будет, а вы на таком мощном контроллере собрались делать... денег не жалко?
Добавлено: Ср дек 10, 2008 16:48:06
Spirit412
ARV писал(а):Spirit412, а че у вас за объект такой, которым вы собираетесь управлять? уж не горелка для воздушного шара случайно?

любопытно стало - затворы какие-то, горелки...
второе: баттерфляй-то вам зачем? какова цель: сделать именно на собственном оригинальном ЖКИ, или все равно на каком? может, вам проще будет использовать ЖКИ со встроенным контроллером, с ними точно возни меньше будет в смысле меню и т.п. а по задаче судя (точнее, по вашим словам) там и attiny2313 много будет, а вы на таком мощном контроллере собрались делать... денег не жалко?
Данный агрегат применяется в электронных пеинтбольных маркерах, типа ИОН!
Мне удобнее работать с Батерфляем...т.к. там уже всё есть. Да и потом... мне не нужно это делать в промышленных масштабах!!!
В маркере есть электромагнитный клапан... также есть "глаза"... представляющие собой ИК датчик присутствия шара в стволе, ну и соотв. курок(кнопка огня)
Логика действия такова... нажимаем курок... идёт опрос глаз... если шар в стволе... то производится выстрел!... если нет... то не производится.... пока глаза не дадут положительный результат!
это если стоит режим полного автоматического огня... т.е. пока нажат курок... маркер стреляет.
Если полуавтомат... то нужно делать цикл опроса курка.. на предмет того был-ли он отжат...а потом опять нажат!
Плюс возможность сохранять настройки.
LCD... наиболее подходящий вариант - очень мленький... в одну строчку. имволов нужно... примерно 8-12ть.
Пока эксперементирую с Батерфляем....
Честноговоря... нет времени сьездить и купить МК attiny2313 под который уже написано куча уроков.... и макетку что бы спаять плату.
Добавлено: Вт янв 13, 2009 11:04:50
Spirit412
В общем... разобрался

Оказывается катушка электромагнита управляется МК посредством ШИМ.
Катушка подключена через полевой транзистор.
Может кто подскажет.... Что за LCD в AVR Butterfly стоит? И какой у него контроллер????
Просто в описании написано "120 сегментный ЖКИ " и всё

Добавлено: Вт янв 13, 2009 19:01:24
Aheir
Насколько я помню, там стоит дисплей без контроллера, функции генерации управляющих последовательностей для этого индикатора возложены на "набортный" контроллер ЖКИ, содержащийся в меге.
Добавлено: Вт янв 13, 2009 20:19:26
Spirit412
Aheir писал(а):Насколько я помню, там стоит дисплей без контроллера, функции генерации управляющих последовательностей для этого индикатора возложены на "набортный" контроллер ЖКИ, содержащийся в меге.
грубо говоря... мега выполняет также и функции контроллера?
блин... обидно...
просто к батерфляю исходники все на СИ... а я только начинаю изучать программирование. Осваиваю Ассемблер...
Может есть у кого пример вывода информации какой либо... на ЖК батерфляя... но на АССЕМБЛЕРЕ????????
Re: Изменение скорости мигиния диода через меню на LCD
Добавлено: Ср янв 14, 2009 23:55:12
Lestat
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);
на начало