Изменение скорости мигиния диода через меню на LCD

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Имеется демо-плата - Батерфляй....
С простейшим примером мигания светодиода вроде всё более...менее понятно.
Но вот какой вопрос... есть ли где-нибудь пример, как написать что-то типа меню управления частотой мигания диода... т.е. длительность горения в милисек и длительностью паузы когда диод выключен... выбираем в меню нужный параметр, устанавливаем значение... и сохраняем....через меню?

В Батерфляе... когда был только куплен... была прошита программа управления динамиком... часами, календарём и прочим через меню. Имеется джойстик.
Какой принцип написания таких меню?
Как я понимаю... мне через меню нужно менять прерывание... и записывать нужный параметр в память...

Помогите плиз разобраться....
Контактная информация:
Реклама
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Один из самых простых вариантов - по нажатию кнопок (или что там у Вас есть) изменять значение параметра-переменной mode (например). Далее, в зависимости от значения этого параметра switch'ем делаем вывод того или иного содержимого на экран, а внутри case'а этого switch'а м.б. изменение другого параметра и т.д., т.е. получаем многоуровневое меню. Простой пример этого можете посмотреть в моем проекте простейшего предусилителя с цифровым управлением в статьях.
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

не-не-не!
мне-бы какой примерчик... с описанием... с кодом в Си
Говоришь у тебя есть пример... посмотрю... надеюсь поможет :)
Контактная информация:
Прорезались зубы
Аватара пользователя
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

А в чём конкретно проблема? Что именно ты не можешь реализовать?
Реклама
Эиком - электронные компоненты и радиодетали
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Sounds писал(а):А в чём конкретно проблема? Что именно ты не можешь реализовать?
Проблема в том что только-только начал разбираться с МК.
А уроков с написанием меню... с возможностью сохранения в постоянную память параметров - ненашел.

Допустим есть пример - мигание светодиода.
В тексте программы настр. тайминги и прочее... диод мигает с определённой скоростью.
Но что бы изменить скорость - нужно перепрошивать!!! А зачем? Если в плате http://sub.chipdoc.ru/html.cgi/txt/app/ ... htm?fid=32 есть LCD с джойстиком....
Было бы удобно реализовать этот простейший пример с использованием LCD.
Взял... зашел в меню... изменил время горения с.диода... и время в потухшем состоянии... сохранил...... И всё...
Но примеров как вообще писать меню.... не нашёл :([/url]
Контактная информация:
Реклама
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

Сообщение BerZerK-ku »

Spirit412 писал(а):
Sounds писал(а):А в чём конкретно проблема? Что именно ты не можешь реализовать?
Проблема в том что только-только начал разбираться с МК.
А уроков с написанием меню... с возможностью сохранения в постоянную память параметров - ненашел.

Допустим есть пример - мигание светодиода.
В тексте программы настр. тайминги и прочее... диод мигает с определённой скоростью.
Но что бы изменить скорость - нужно перепрошивать!!! А зачем? Если в плате http://sub.chipdoc.ru/html.cgi/txt/app/ ... htm?fid=32 есть LCD с джойстиком....
Было бы удобно реализовать этот простейший пример с использованием LCD.
Взял... зашел в меню... изменил время горения с.диода... и время в потухшем состоянии... сохранил...... И всё...
Но примеров как вообще писать меню.... не нашёл :([/url]
Мда... тут дело глухо. А не пробовали на шаги задачу разбить? Типа:
1. Мигать светодиодом.
2. Управление светодиодом с помощью кнопок.
3. Вывод информации на ЖК.
4. Создание меню на ЖК.
5. Работа с EEPROM.
А по другому тут никак... Разве что перед другими похвастаться, показав чужую работу. С чужими исходниками будет разобраться не легче, чем с нуля все самому сделать.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Да, наверное так и сделаю...

А не подскажите...
Существует ли схемка АВР Батерфляя для отладки в Протеусе????
Я уже всё обыскал... многих спрашивал...

Можно и самому нарисовать по описанию конечно.. :) Но зачем велосипед изобритать
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

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

Мой уютный бложик... заходите!
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Вчём то вы правы!
Но... если в будущем захочется соорудить управление чемто более масштабным...нежели диодом! то былобы не плохо иметь схемку...
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Spirit412 писал(а):Вчём то вы правы!
Но... если в будущем захочется соорудить управление чемто более масштабным...нежели диодом! то былобы не плохо иметь схемку...
неужели уже на 2 светодиода замахиваетесь?! не страшно? ;)

а разве на плате батерфляя нет макетной области? что протеус - софТВАРЬ бездушная... а железочка - она тепло рук любит, ласку... кому попало не отдается...
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Там нет макетной части как таковой....
есть дырки под разъёмы... напаял разъемов...остальное навесом.
Платка паханькая.

По поводу дальнейшего.... хочу в итоге сделать управление на газовый электромагнитный клапан, который управляет затвором. Регулировка времени с точностью до 5мсек.
Есть заводская плата... с управлением от меги48... но снеё никак прошивку не скачать... и управление настроек осуществляется без LCD.

Для программирования используются две кнопки: кнопка питания и кнопка программирования (серая кнопка на схемной плате, которую можно увидеть, сняв боковую панель ). Обратная связь с пользователем обеспечивается посредством двух индикаторов, расположенных на печатной плате – желтый и красный индикаторы.

Нажатие кнопки программирования проходит через цикл шести режимов настройки. Выбранный режим программирования определяет ту настройку, которая будет устанавливаться. А различные вариации мигания и горения индикаторов указывают на эти настройки:

Постоянно горящий индикатор – настройка задержки затвора

Мигающий индикатор - настройка ROF Delay

Двойное мигание индикатора – режим работы затвора на нажатие (одиночный одно нажатие - один раз открылся и закрылся затвор), полный автомат (пока нажата кнопка... затвор откр/закр))

Цвет мигающего или горящего индикатора указывает на то, как настройки будут устанавливаться:

Желтый - повышение значения настройки

Красный – снижение значения настройки

Идиотская система :(
Хотелосьбы в итоге иметь LCD для отоброжения настроек и значений.
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Ср июн 20, 2007 18:46:54
Откуда: Красноярск

Сообщение Степаныч »

А вы имеете знания СИ или Ассемблера! Если вы не имеете знаний в языках и планы у вас большие вы должны хотя бы курс какой нибудь почитать(Хотя бы товарища Tich-a) или здешнюю обучалку. P/S Просто не думаю что под такую задачу вы найдете примеры готовых исходников . :wink:
IN GOD WE TRUST
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Степаныч писал(а):А вы имеете знания СИ или Ассемблера! Если вы не имеете знаний в языках и планы у вас большие вы должны хотя бы курс какой нибудь почитать(Хотя бы товарища Tich-a) или здешнюю обучалку. P/S Просто не думаю что под такую задачу вы найдете примеры готовых исходников . :wink:
Пока опыт основывается на "мигающем" диоде...
Читаю книгу "Написание программ для микроконтроллеров AVR"

Готовые исходники действительно не найду.... это и понятно.
Контактная информация:
Открыл глаза
Аватара пользователя
Сообщения: 68
Зарегистрирован: Ср июн 20, 2007 18:46:54
Откуда: Красноярск

Сообщение Степаныч »

Тогда еще можно вам предложить поискать исходники отдельно по задачам как предлогал Berkzerk . Тогда можно потом собрать все в кучу подправить все ок! Но лучше изучить самостоятельно(по своему небольшому опыту знаю) :) ! А что книгу читаете это оч хорошо :))
IN GOD WE TRUST
Контактная информация:
ARV
Ум, честь и совесть. И скромность.
Аватара пользователя
Сообщения: 18783
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск

Сообщение ARV »

Spirit412, а че у вас за объект такой, которым вы собираетесь управлять? уж не горелка для воздушного шара случайно? :) любопытно стало - затворы какие-то, горелки...

второе: баттерфляй-то вам зачем? какова цель: сделать именно на собственном оригинальном ЖКИ, или все равно на каком? может, вам проще будет использовать ЖКИ со встроенным контроллером, с ними точно возни меньше будет в смысле меню и т.п. а по задаче судя (точнее, по вашим словам) там и attiny2313 много будет, а вы на таком мощном контроллере собрались делать... денег не жалко?
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

ARV писал(а):Spirit412, а че у вас за объект такой, которым вы собираетесь управлять? уж не горелка для воздушного шара случайно? :) любопытно стало - затворы какие-то, горелки...

второе: баттерфляй-то вам зачем? какова цель: сделать именно на собственном оригинальном ЖКИ, или все равно на каком? может, вам проще будет использовать ЖКИ со встроенным контроллером, с ними точно возни меньше будет в смысле меню и т.п. а по задаче судя (точнее, по вашим словам) там и attiny2313 много будет, а вы на таком мощном контроллере собрались делать... денег не жалко?
Данный агрегат применяется в электронных пеинтбольных маркерах, типа ИОН!
Мне удобнее работать с Батерфляем...т.к. там уже всё есть. Да и потом... мне не нужно это делать в промышленных масштабах!!!

В маркере есть электромагнитный клапан... также есть "глаза"... представляющие собой ИК датчик присутствия шара в стволе, ну и соотв. курок(кнопка огня)
Логика действия такова... нажимаем курок... идёт опрос глаз... если шар в стволе... то производится выстрел!... если нет... то не производится.... пока глаза не дадут положительный результат!
это если стоит режим полного автоматического огня... т.е. пока нажат курок... маркер стреляет.
Если полуавтомат... то нужно делать цикл опроса курка.. на предмет того был-ли он отжат...а потом опять нажат!

Плюс возможность сохранять настройки.
LCD... наиболее подходящий вариант - очень мленький... в одну строчку. имволов нужно... примерно 8-12ть.


Пока эксперементирую с Батерфляем....
Честноговоря... нет времени сьездить и купить МК attiny2313 под который уже написано куча уроков.... и макетку что бы спаять плату.
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

В общем... разобрался :)
Оказывается катушка электромагнита управляется МК посредством ШИМ.
Катушка подключена через полевой транзистор.

Может кто подскажет.... Что за LCD в AVR Butterfly стоит? И какой у него контроллер????

Просто в описании написано "120 сегментный ЖКИ " и всё :(
Контактная информация:
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

Насколько я помню, там стоит дисплей без контроллера, функции генерации управляющих последовательностей для этого индикатора возложены на "набортный" контроллер ЖКИ, содержащийся в меге.
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 125
Зарегистрирован: Пн авг 04, 2008 10:54:11
Откуда: Питер

Сообщение Spirit412 »

Aheir писал(а):Насколько я помню, там стоит дисплей без контроллера, функции генерации управляющих последовательностей для этого индикатора возложены на "набортный" контроллер ЖКИ, содержащийся в меге.
грубо говоря... мега выполняет также и функции контроллера?
блин... обидно...
просто к батерфляю исходники все на СИ... а я только начинаю изучать программирование. Осваиваю Ассемблер...
Может есть у кого пример вывода информации какой либо... на ЖК батерфляя... но на АССЕМБЛЕРЕ????????
Контактная информация:
Встал на лапы
Аватара пользователя
Сообщения: 111
Зарегистрирован: Сб мар 31, 2007 13:53:07
Откуда: Lviv

Сообщение 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);
на начало
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»