Рисунок на колесе

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Аватара пользователя
1995kenny
Вымогатель припоя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков
Контактная информация:

Сообщение 1995kenny »

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

// External Interrupt(s) initialization
// INT0: Off  // INT1: On
// INT1 Mode: Low level

//GICR|=0x80;
//MCUCR=0x00;
GIFR=0x80;
GICR=0b10000000;
MCUCR=0b00001100;
Написал, чтоб по этому прерыванию загорался светодиод-он не загорается в протеусе :( . к ИНТ1 входу подключено 5гц.
Аватара пользователя
SeamaNCOS
Встал на лапы
Сообщения: 107
Зарегистрирован: Ср дек 10, 2008 15:10:59
Откуда: KPACHO9PCK
Контактная информация:

Сообщение SeamaNCOS »

Попробуй без
//GICR|=0x80;
//MCUCR=0x00;
GIFR=0x80;
Чем больше думаеш, тем дольше уснуть не можеш...
Аватара пользователя
1995kenny
Вымогатель припоя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков
Контактная информация:

Сообщение 1995kenny »

Все равно то-же самое :-(
Аватара пользователя
SeamaNCOS
Встал на лапы
Сообщения: 107
Зарегистрирован: Ср дек 10, 2008 15:10:59
Откуда: KPACHO9PCK
Контактная информация:

Сообщение SeamaNCOS »

Ну в С я пока не помошник.
На асме это пишется так:
ldi Temp1,0b10000000
out gicr,Temp1 ;разрешить прерывание компаратора

ldi Temp1,0b00001100
out MCUCR,Temp1 ;

ldi Temp1,0b10000000
out SREG,Temp1
Чем больше думаеш, тем дольше уснуть не можеш...
Аватара пользователя
1995kenny
Вымогатель припоя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков
Контактная информация:

Сообщение 1995kenny »

Теперь INT1 срабатывает, а таймеры все еще нет.

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

// Timer/Counter 1 initialization
TCCR1A=0x10;
TCCR1B=0x02;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x40;
OCR1BH=0x00;
OCR1BL=0x00;
// Timer/Counter 2 initialization
ASSR=0x00;
TCCR2=0x02;
TCNT2=0x00;
OCR2=0x00;
// External Interrupt(s) initialization
// INT1: On
GICR=0b10000000;
MCUCR=0b00001100;
SREG=0b10000000;
Кстати, что происходит с функцией main при переходе к обработчику прерывания и выходу из него? Она перезапускается или продолжаетс или не идет уже?
Аватара пользователя
SeamaNCOS
Встал на лапы
Сообщения: 107
Зарегистрирован: Ср дек 10, 2008 15:10:59
Откуда: KPACHO9PCK
Контактная информация:

Сообщение SeamaNCOS »

Нужно разрешить прерывания по таимеру 2

// Timer/Counter 1 initialization

TCCR1B=0x02; ;делитель
TCNT1H=0x00; ;обнуление счетчика
TCNT1L=0x00; ;обнуление счетчика

// Timer/Counter 2 initialization
Timsk=0b10000000 ;разрешить прерывание компаратора Timer/Counter 2
TCCR2=0x02; ;делитель
TCNT2=0x00; ;обнуление счетчика
OCR2=0xFF; ;выставляем максиммальное число сравнения
Чем больше думаеш, тем дольше уснуть не можеш...
Аватара пользователя
1995kenny
Вымогатель припоя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков
Контактная информация:

Сообщение 1995kenny »

Думаю теперь работает... вот посмотрите мой ужасный проект в протеусе... :roll:
Вложения
UUUR.zip
все для протеуса
(25.31 КБ) 335 скачиваний
Аватара пользователя
SeamaNCOS
Встал на лапы
Сообщения: 107
Зарегистрирован: Ср дек 10, 2008 15:10:59
Откуда: KPACHO9PCK
Контактная информация:

Сообщение SeamaNCOS »

А прошивка где ?
Чем больше думаеш, тем дольше уснуть не можеш...
Аватара пользователя
1995kenny
Вымогатель припоя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков
Контактная информация:

Сообщение 1995kenny »

Должны быть в архиве файлы: Autopov.c ; Autopov.hex.

Вообщем починю(один...Иван отламал 2 светодиода), подключу геркон(разъем для него уже есть)и проверю в реале.
Аватара пользователя
Инженер
Прорезались зубы
Сообщения: 232
Зарегистрирован: Сб ноя 24, 2007 09:03:29
Откуда: Ульяновск

Сообщение Инженер »

SeamaNCOS писал(а):Две линейки на колесо, на каждой по Тиньке...

Почему никто нигде не хочет ставить 2 (или три) линейки с ОДНИМ контроллером. 2 датчика холла (при их точном расположении) обеспечат 2х точность во время ускорения или торможения колеса.

Глянул на долгие мучения с программой. А все потому что блок схему не нарисовали, с ней раза в 2 раза быстрее отладка. Я за 2 вечера написал. 8 светодиодов с одной стороны (печатка от другого проекта осталась) Ну это все баловство. Надо хотябы 16-24 штуки. Анимацию и быстую смену картинок.

Свои схемы, прошивки кто-нибудь собирается выкладывать или мне проще самому дописать? Кто-нибудь реализовал анимацию? Быструю смену заранее прошитых картинок/анимаций кнопочкой?
ps1x
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт окт 07, 2008 10:31:41
Откуда: Московская область
Контактная информация:

Сообщение ps1x »

Я написал.

- Мега 8
- 20 светодиодов (4 просто нет на плате, хотя прошивкой поддерживаются)
- до 8 кадров, время между сменой кадров ес-но настраиваеца (анимация из 8 кадров)
- автоподстройка под скорость вращения колеса (ИЗОБРАЖЕНИЕ СТОИТ КАК ВКОПАНОЕ)
- используется датчик Холла
- размер кадра 20х256 (прошивкой поддерживается 24х256) по умолчанию
- используется 3 сдвиговых регистра с защелкой 74HC595
- автоматическое отключение светодиодов при скорости, меньшей скорости нормального отображения (~12 км/ч)
- ЕСТЬ АЛГОРИТМ ПЕРЕГОНА КАРТИНОК ИЗ ФОТОШОПА

В планах:
- картинка 32х256 (т.е. вообще на все колесо горного велосипеда)
- может быть внешняя память для картинок (тогда можно фильмы крутить :shock: )

Все об устройстве ждите в течении 2х недель на моем сайте http://begeek.ru
А пока отвечу на вопросы публики ;)
ps1x
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт окт 07, 2008 10:31:41
Откуда: Московская область
Контактная информация:

Сообщение ps1x »

На 32 светодиодах:
Изображение
На 20 светодиодах:
Изображение

На 20 светиках в тыщу раз хуже.

Вот так это выглядит, если приглядется к картинке, видно что изображение "развернуто" вокруг центра.
Вложения
kotvkolese2.jpg
А вот так оно выглядит на 20 светодиодах
(41.43 КБ) 482 скачивания
kotvkolese.jpg
Вот собственно как бы это выглядело на 32 светодиодах (не учитывая то что в центре колеса нет светодиодов (около 6 в диаметре)
(41.79 КБ) 630 скачиваний
Аватара пользователя
константин_KoSS_89
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Пн дек 29, 2008 01:40:28
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)

Сообщение константин_KoSS_89 »

Класс Класс Класс, Хочу Хочу Хочу,. Канструкция суппер, С нетерпением жду схем, прошивок и другой инфы.
Аватара пользователя
SeamaNCOS
Встал на лапы
Сообщения: 107
Зарегистрирован: Ср дек 10, 2008 15:10:59
Откуда: KPACHO9PCK
Контактная информация:

Сообщение SeamaNCOS »

Я тоже сделал чтоб индикация срабатывала при 6км/ч. До 6 огонек бегает туда сюда :) в протеусе работает нормально, а в железе при индикации бывает пробегает этот огонек то на одной полоске то на другой. Еще делал чтоб мотоциклист по кругу ездил правда чем больше скорость тем быстрее едет.
Ps1x в чем писал в C или в асме?
Аватара пользователя
Инженер
Прорезались зубы
Сообщения: 232
Зарегистрирован: Сб ноя 24, 2007 09:03:29
Откуда: Ульяновск

Сообщение Инженер »

В принципе все хорошо, но
ps1x писал(а):- автоподстройка под скорость вращения колеса (ИЗОБРАЖЕНИЕ СТОИТ КАК ВКОПАНОЕ)

Непрвавда! Я сам лично проверял с 1 датчиком нифига оно на месте не стоит, при ускорении и торможении значительно смещается, а если картинка полноразмерная (на все колесо - киска) а не сектор (как у меня) то сразу получим проблемы сведения и твои улучшения (32 светодиода) коту под хвост. Т. е. в области датчика получим либо расхождение (ускорение) лобо наложение (торможение) картинки
ps1x писал(а):- используется 3 сдвиговых регистра с защелкой 74HC595

У Mega8 куча ножек - нерационально использовать 3 регистра сдвига достаточно 1 (16 светиков обслужит контроллер) и еще 8 регистр. Программа несколько сложнее зато схема проще.
ps1x писал(а):- ЕСТЬ АЛГОРИТМ ПЕРЕГОНА КАРТИНОК ИЗ ФОТОШОПА

Круто, поделишься?

Я считаю что на велик нужно:
3 линейки (расположение спиц таково что 2 линейки симметрично расположить не получается)
3 датчика холла
1 контроллер
количество светодиодов в линейке зависит от величины бюджета проекта. Перекрывать все колесо считаю необязательным.
Питание от 3х пальчиковых аккумуляторов.

И еще если мы вдруг захотим вывести например текст? То мы столкнемся с проблемой текст можно вывести либо направо либо налево, с обратной стороны он будет написан задом-наперед. И если мы захотим вывести текст одновременно на обе стороны то мы должны будем придумать способ раздельного управления диодами правой и левой стороны.

3 линейки дадут лучшую прорисовку при меньших скоростях, большую яркость (либо можно уменьшить втрое яркость каждой линейки если есть желание сократить потребление)
Либо если линейки разных цветов то соответственно цветную картинку

Вот сижу и думаю, вроде и цветную картинку охота и прорисовку получше, ну прям хоть три линейки RGB диодов ставь - но это же будет безумно дорого :(
Последний раз редактировалось Инженер Вт июн 23, 2009 01:52:33, всего редактировалось 2 раза.
Аватара пользователя
1995kenny
Вымогатель припоя
Сообщения: 524
Зарегистрирован: Ср авг 27, 2008 10:13:19
Откуда: Украина, Харьков
Контактная информация:

Сообщение 1995kenny »

А у мя мое не заработало... :(
ps1x
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт окт 07, 2008 10:31:41
Откуда: Московская область
Контактная информация:

Сообщение ps1x »

SeamaNCOS писал(а):Ps1x в чем писал в C или в асме?

Банальный CVAVR 1.5.9 или около того.

Инженер писал(а):В принципе все хорошо, но
Непрвавда! Я сам лично проверял с 1 датчиком нифига оно на месте не стоит, при ускорении и торможении значительно смещается, а если картинка полноразмерная (на все колесо - киска) а не сектор (как у меня) то сразу получим проблемы сведения и твои улучшения (32 светодиода) коту под хвост. Т. е. в области датчика получим либо расхождение (ускорение) лобо наложение (торможение) картинки

Видео будет сегодня вечером. Программа написана таким образом что этого эффекта почти незаметно.

Инженер писал(а):У Mega8 куча ножек - нерационально использовать 3 регистра сдвига достаточно 1 (16 светиков обслужит контроллер) и еще 8 регистр. Программа несколько сложнее зато схема проще.

Стоимость одной hc595, сравнимая со стоимостью хорошего светодиода позволяет закупить их в таком количестве которое необходимо. Это просто удобно.

Инженер писал(а):Круто, поделишься?

Обязательно, как все доделаю.

Инженер писал(а):Я считаю что на велик нужно:
3 линейки (расположение спиц таково что 2 линейки симметрично расположить не получается)
3 датчика холла
.....

На вкус и цвет....


Инженер писал(а):И еще если мы вдруг захотим вывести например текст? То мы столкнемся с проблемой текст можно вывести либо направо либо налево, с обратной стороны он будет написан задом-наперед. ....

Я для себя решил, текстом пока не заморачиваться, но вообще, что-то подсказывает мне использовать 4 дополнительных HC595 тем более что стоить это будет не больше 40 рублей.
А с программной точки зрения всего то:

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

//на одну сторону выводить 
for (i = 0; i <buffsize> 0; i--) {
}

единственное, что - 4(байта)х256 для меги8 не хватит оперативки. впрочем можно использовать, скажем 3(байта)x256 = 768 байт

UPD: что то не то с тегом [код] как будто он оптимизирует Оо. В общем смысл вывода на разные стороны колеса в том что на одной стороне выводим буфер от 0 до buffersize а на другой от buffersize до 0.
Аватара пользователя
Инженер
Прорезались зубы
Сообщения: 232
Зарегистрирован: Сб ноя 24, 2007 09:03:29
Откуда: Ульяновск

Сообщение Инженер »

ps1x писал(а):Видео будет сегодня вечером. Программа написана таким образом что этого эффекта почти незаметно.

Стоимость одной hc595, сравнимая со стоимостью хорошего светодиода позволяет закупить их в таком количестве которое необходимо. Это просто удобно.

1. Как ты программу не пиши а при ускорении ты ну никак не сможешь свести свою картинку с одним датчиком, особенно если скорость не очень большая.
2. Дело не в стоимости а в габаритах из-за лишних деталей.
ps1x
Первый раз сказал Мяу!
Сообщения: 22
Зарегистрирован: Вт окт 07, 2008 10:31:41
Откуда: Московская область
Контактная информация:

Сообщение ps1x »

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


1. Для наших нужд вполне хорошо работает, продемонстрирую сегодня, часиков в 8.

2. Даже не знаю что лучше мега вся опутаная проводниками с путаницей и прочим или +2 корпуса. Габаритные размеры платы скажу сегодня же. Хотелось бы видить разводку печатной платы при использовании всех ножек и 1 HC595.
Аватара пользователя
константин_KoSS_89
Вымогатель припоя
Сообщения: 602
Зарегистрирован: Пн дек 29, 2008 01:40:28
Откуда: (Украина, г. Стаханов, Луганская обл.) теперь Кемерово :)

Сообщение константин_KoSS_89 »

С нетерпением жду схему, и конечно прошивку....
Слижу за темой, но к сожелению путнего подскозать немогу, просто в програмировании нешарю.
Закрыто

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