Светодиодная матрица 16x16

Все прочитали, вроде даже поняли, взяли паяльник - а нифига не получается? Скорее сюда! Поможем. Чем можем...
Ответить
Atz
Встал на лапы
Сообщения: 87
Зарегистрирован: Ср сен 16, 2009 22:44:40

Сообщение Atz »

По случаю раздобыл двухцветную матрицу (зеленый и красный). Управляется просто: три К155ИД3 (одна на строки и две - по каждому цвету - на столбцы).

А вот что с ней дальше сделать, я не знаю.

Бегущая строка мне как-то не нужна (насмотрелся на них в трамваях).

Пока додумался только сделать игру Го, ну а совсем для начала - просто подвигать светодидные точки по матрице кнопочками со стрелками и сделать кнопочку памяти.

Но как реализовать алгоритм?

К компу через LPT не подключишь. Нет у меня на компе LPT. И com-порта нету. И даже USB. Есть только wi-fi, bluetooth и сотовая связь, да сервисы размещения (компас и GPS), но никаких проводов... (http://www.apple.com/ru/ipad/).

А существует какая-нибудь простая микросхема, которая реализует один из этих радиоинтерфейсов и имеет на выходе что-то наподобие параллельного порта?

Программу бы я сам написал для своего компа, а вот сделать беспроводное подключение - не могу.

Есть еще идея визуализировать что-нибудь типа нейросетей, но дело упирается в то, что хочется делать расчеты именно на мобильном телефоне, который лежит в кармане, на нормальном языке программирования высокого уровня (типа Objective-C), а не на микроконтроллерах.
Реклама
Друг Кота
Аватара пользователя
Сообщения: 35639
Зарегистрирован: Вс янв 25, 2009 21:16:04
Откуда: Москва

Сообщение Brigadir »

Если матрица одна, то она бестолковая. Что такое 16 на 16, да почти ничего. Можешь нарисовать 1 букву или цифру. А что за комп такой,у которого нифига нет? ни одного порта? Может это неут бук(неут, от слова = бесполезный бук). А так, ради спортивного интереса можешь подключить 16 кнопок по вертикали и столько же по горизонтали и развлекаться :))
А поболтать?
Реклама
Друг Кота
Аватара пользователя
Сообщения: 26671
Зарегистрирован: Пт май 18, 2007 22:56:58

Сообщение Upgrader »

Atz писал(а):А существует какая-нибудь простая микросхема, которая реализует один из этих радиоинтерфейсов и имеет на выходе что-то наподобие параллельного порта?
"Модуль Bluetooth" я так понимаю... Их много всяких, можно подключить напрямую к МК. Это не одна микросхема, а готовый радио модуль с цифровым интерфейсом.
Не променяю медь на ржавую несгорайку!
Родился
Сообщения: 8
Зарегистрирован: Ср янв 05, 2011 12:59:13

Сообщение Vovan91 »

Помогите с транзисторами, а то получается так что матрица 8Х8 работает, но когда добавлаю до 16Х16 пререстаёт

Посоветуйте почему не работает если 1 свето диоду соответствует 1 ножка на МК.
Мои подозрения что просто у контроллера не хватает мошности чтоб выдать на все ножки необходимую мошьность, и я знаю что надо подключить транзисторы а вот марку не знаю, видел другие статьи но тех элементов нет в протеусе

Ошибка по чему в протеусе не работает найдена!

Дело оказывается что протеус почемут о не тянет такое количество элементов. Я пробовал просто вырезать из схемы и 14 строк оставив можно скачать на каждом порту по одному светодиоду, а остальные поставил всторонке, результата не было.
После удаление той незадействованой части диодов симуляция продолжилась успешно.

Полазив в протеусе увидил деталь светодиодная матрица 8Х8 для дальнейших ситуаций буду использовать её.

Но у меня возник следующий вопрос на практике я случайно не спалю МК? Так как на одну из ножек PORTA будет идти ток аж с 4 портов(32 ножек)
Вложения
Матрица 16Х16.JPG
Вот нарисовал какие ножки куда идут
(142.57 КБ) 826 скачиваний
16X16.zip
Программа и схема на протеусе
(115.47 КБ) 263 скачивания
Реклама
Эиком - электронные компоненты и радиодетали
Родился
Сообщения: 8
Зарегистрирован: Ср янв 05, 2011 12:59:13

Сообщение Vovan91 »

Я не могу найти дешифратор 4Х16 К155ИД, чем его можно заменить?
Реклама
Родился
Сообщения: 8
Зарегистрирован: Ср янв 05, 2011 12:59:13

Сообщение Vovan91 »

я что то не могу найти ошибку, привожу ниже код
или помогите написать прогу под приведёную ниже схему

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

.include "m16def.inc"

.def     Temp =R16      ;
.def     Step =R17      ;
.def     TempC=R18      ;
.def     Temp1=R19      ;
.def     Temp2=R20      ;
.def     Temp3=R21      ;

.dseg
Status:   .byte 1

.cseg                   ;обозначает начало программного сегмента

.org 0                  ;

         ldi Temp, 0b11111111    ;настройка портов
         out DDRA,Temp           ;A и С
         out DDRB,Temp           ;на выход
         out DDRC,Temp
         
		 ldi Step,0     ;
         ldi Temp,0              ;инициализация регистра
                        ;внутренней адресации массива

ReadArray:
         cpi Temp,32
         brne jump 
         ldi Temp,0             ;загрузить нач. значение

jump:

         ldi ZH,High(MyArray*2)  ;загрузка адреса 0-го
         ldi ZL,Low(MyArray*2)   ;элемента в рег. пару Z
         ldi Temp1,0
         add ZL,Temp             ;прибавление
         adc ZH,Temp1            ;внутр. адреса
         lpm                     ;загрузка из ПЗУ
         mov TempA,R0            ;копирование

         rcall Output            ;

         inc Temp              	 ;увелич. внутр. адреса



rjmp ReadArray                ;в начало цикла

Output:  cpi Step,7  ;сравнить с крайним знач.
         breq Init            ;если равно - загрузка нач. знач.

         inc Step             ;инкремент
         ldi Temp2,0b00000001
		 add Step,Temp2
         rjmp Exit            ;перейти на вывод в порт

Init:    ldi Step,0  ;загрузить нач. значение

Exit:  

         out PortB,Step			;переключаем ряд
		 out PortA,TempA        ;посылаем данные в регистр
         


         rcall Delay

         ldi Temp2,0b11111111
         out PortA,Temp2


         ret                   ;выход из обработчика

;***************************
;переключение
;***************************
Switch_reg:
		 cpi register,2  
         breq two_register   ;
		 
		 ldi Temp2,0b10000000; 
         out PortC,Temp2
		          
		 sts register,1
		 rjmp exit_switch

two_register:

		 ldi Temp2,0b01000000; 
         out PortC,Temp2		 

		 sts register,2
exit_switch:
ret                   ;
;*****************************************************
;*                  Задержка                         *
;*****************************************************
Delay:
          

          ldi Temp1,0
          ldi Temp2,0
          ldi Temp3,10

Loop:     dec Temp1
          brne Loop

          dec Temp2
          brne Loop
          

          ret
;*****************************************************
;*                    Массив                         *
;*****************************************************
MyArray:

.db 0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101
.db 0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010
.db 0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101
.db 0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010
.db 0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101
.db 0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010
.db 0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101,0b01010101
.db 0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010.0b10101010

Реклама
Друг Кота
Аватара пользователя
Сообщения: 15652
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

неплохая игрушка...
можно выводить картинки - буковки , 3 цвета с оттенками, выделение яркостной градацией, варианты "бегущей строки" , мультипликация и прочее...
возможна растровая и построчная развертки изображения...
когда-то макет для "поиграться" делал, там одна проблемка - требуется наборчик "верхних ключей" с высоковольтной развязкой...
примерный наборчик:
AT89c51/52(at89s51/52) или ATmega8515
2*ULN2803
TD62783
16*lm317
:beer:
Родился
Сообщения: 8
Зарегистрирован: Ср янв 05, 2011 12:59:13

Сообщение Vovan91 »

при повторной прошивку перестал отвечать МК, да ещё я устроил нечаяно пробой 2х свето диодов, они стали коричневые после подачи +5В. А в общем не плохо получилось. Насчёт кода мне пришлось заново переписать, так как ошибку не получилось найти. Ладно спасибо.
Тему можно закрывать
Ответить

Вернуться в «Практика»