Страница 1 из 1

Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 10:52:42
iPolt
А помогите пожалуйста и мне =)

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

Образец как на этом популярном сайте =)
http://easyelectronics.ru/3d-led-globus.html

Вот кусочек кода из файла фрейм:

//=============
// Массив для поочерёдности вставки фреймов , кадры... отсчет начинается с нуля.
//cadrs:
//.db 0,1,2,3,3,2,1,0
;============= массивы ==========
addrs: ;адреса фреймов
.dw frame0*2,frame1*2;,frame2*2,frame3*2

frame0: ;фреймы
;.db 0xaa,0x55,0xaa,0x55
.db 192,0,0,16 ; фрейм "Глобус украины "
.db 224,0,3,244
.db 224,0,15,248
.db 224,0,23,252
.db 224,0,15,248
.db 192,0,31,244
.db 224,0,23,252
.db 192,0,39,212
.db 192,0,39,158
.db 192,0,75,74
.db 192,3,195,242
..
.db 240,0,127,248
.db 240,0,95,240
.db 240,0,31,248
.db 240,0,15,248
.db 240,0,31,254
.db 240,0,191,252
.db 240,1,127,252
.db 240,0,31,252
.db 240,49,143,248
.db 241,122,0,56
.db 240,114,0,56
.db 240,0,0,176
.db 224,0,0,80
.db 208,0,0,48
.db 193,0,0,48
.db 192,128,0,16
.db 192,0,0,16

frame1:
;.db 0x55,0xaa,0x55,0xaa
.db 0,0,0,0 ; фрейм "с новым годом 2010"

.db 0,0,1,0
.db 0,0,6,0
.db 0,0,56,0
.db 0,0,200,0
.db 0,0,4,128
.db 0,0,7,0
.db 0,0,24,0
.db 0,0,96,0
.db 0,0,0,0
.db 0,0,31,128
.db 0,0,5,0
.db 0,0,2,0
.db 0,0,4,0
.db 0,0,0,0
.....
.db 0,0,0,0
.db 0,0,0,0

;frame2:

;.db 1,2,3,4

;frame3:

;.db 8,9,10,11

Вопрос: как можно исправить фрейм №1, в котором надпись "Happy New Ear" (с ошибкой вроде) на что-то другое, например на "Привет, Натали!" =)

п.с. часть массива чтоб сократить пост выкинула - цифры,
а целиком архив с файлами тут http://easyelectronics.ru/img/readyd...animations.rar .

Пожалуйста, помогите советом, как это реализовать или где об этом почитать, очень надо! =)

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 12:46:00
iPolt
Ну посоветуйте пожалуйста, как записать числа, которые получатся при разложении графики в цифру? :(

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 12:54:48
a_skr
похоже, что каждая строчка из 4-х чисел - это один столбец из 32-х точек.
рисуем столбец точками, делим по 8 штук на байт, например:
11011010110010011110011110011001 - 32 точки
11011010 11001001 11100111 10011001 - 4 байта в двоичном виде
DA C9 E7 99 - в шестнадцатеричном
218 201 231 153 - в десятичном

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 13:05:17
Engineer_Keen
Да, так и есть, и если не ошибаюсь 70 столбцов. Удобно на листе в клеточку нужные квадратики закрасить и по 8 штук перевести в 16-е числа.

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 13:09:38
a_skr
по исходникам там по 75 столбцов. судя по глобусу, каждый столбец записывается снизу вверх.
как по мне - проще программку накидать, чем на бумажке рисовать ;-)

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 13:16:55
Engineer_Keen
Программку конечно проще... Если навык есть, но судя по теме, его-то как раз нет, так что ИМХО лучше на листочке в клеточку...

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 13:33:37
iPolt
Программку конечно проще... Если навык есть, но судя по теме, его-то как раз нет, так что ИМХО лучше на листочке в клеточку...
Пока нет =)
"Я не волшебник программист, я только учусь" (с) :))) :))) :)))

Пойду разбираться, всем огромное спасибо за помощь!!)))

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 15:31:31
a_skr
вот, набросал тут программку. сам собираюсь делать нечто подобное, так что пригодится.
кнопки:
"из картинки" - конвертировать из графического файла
"из файла" - открыть фрейм, сохраненный ранее кнопкой "генерировать"
"очистить" - очистить всю область
"залить" - заполнить всю область
"генерировать" - сохранить фрейм в ассемблерном виде в файл
включение/выключение точки - клик мышкой на нужном квадратике.
при запуске загружается файл frame.txt (если есть в текущей папке)

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 17:30:49
iPolt
Ого!!! Спасибо большое!!!

Остается вопрос, как получить полноценную папку с файлами, чтобы все сдружилось =)

Открыть файл проекта, исправить в нем в конце ссылку на обновленный теперь файл с фреймами (заменила кодировку фрейма №1 в блокноте на новую - спасибо! =) )и перекомпилировать, таким образом получится полноценный пакет файлов или еще какие-то надо добавить в папку с проектом перед компиляцией?
(смущает файл с именем macro (файл "ASM" ).

Re: Помогите с кодом для глобуса

Добавлено: Ср июн 13, 2012 17:46:45
a_skr
добавлять ничего не надо. вроде все должно собираться.
macro.asm смущать не должен.
.include"C:\AVR_maked\3D_led_Globe_with_animations\frames.inc" - да, абсолютные пути - не есть хорошо. ;-)