Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

Цифровой вращающийся пои – инерция зрительного восприятия дисплея

В Интернете я обратил внимание на несколько устройств, основанных на инерции зрительного восприятия и подумал, что должен собрать своё собственное устройство, чтобы опробовать необычную идею. Для этого был выделен выходной день, чтобы построить свой первый прототип. Устройство может писать текст, рисовать маленькие изображения и показывать узоры, в то время как вы будете его вращать. Оно оказывает воздействие на зрительное восприятие при вращении на верёвке или жгуте и становится похожим на огненный шар, состоя из 8 светодиодов. В одном вращении содержится примерно 600 виртуальных пикселей. С 8 пикселями по оси Y и 600-ми на оси Х (ось вращения), насчитывается 4800 пикселей на дисплее. Устройство ведёт себя, как воздушный дисплей, паря перед вами благодаря эффекту инерции зрительного восприятия. фото для пои 1Вы можете также создавать световые шары, принимающие длительные отображения пои. фото для пои 2

Проект включил в себя проектирование односторонней печатной платы, её травление, монтаж, написание кода в программе MikroC Pro для PIC и прошивка микроконтроллера. Для программирования удобен ICSP разъем при обновлении прошивки.

Файлы к проекту:

POV++_Project.zip (2.5 МБ) В zip-архиве находятся: исходный код для проекта, написанный в программе MikroC Pro для PIC, редактор таблиц в формате Excel, список деталей и схема в формате PDF.

Фотографии пои
1.POV-Display-1024x768 7.I-heart-PIC-1024x768
3.Swoop_-1024x768 10.numbers2-1024x768
4.1.Swoop-zoomed 6.Alphabet-1024x768
5.Checker-1024x768 9.numbers-1024x768
Принципиальная схема и печатная плата
1.pov-schematic-1024x576 2.PCB-Layout-1024x576
3.1.toner-transfer-1024x768 3.2.etched-board-1024x768
4.ready-to-assemble-1024x768 5.Assembled-board-1024x768
6.designing-characters-1024x576 7.MikroC-Pro-for-PIC-1024x576
Код

Код для этого проекта был написан на языке C с помощью программы MikroC Pro для PIC18F2685. Самой долгой частью этого проекта является время, которое я провел, используя редактор таблиц для проектирования каждого знака. Хитрость при создании дисплея, в подключении светодиодной дорожки к микроконтроллеру. Так как восемь светодиодов соединены с портом А микроконтроллера, мы можем использовать двоичные значения для включения / выключения каждого светодиода. Если вам нужно получить знания о двоичной системе счисления посмотрите тему на Wolfram MathWorld. Примечание: В микроконтроллере PIC18, значение для 8 светодиодов, вписанное в 8-разрядную шину данных с беззнаковой переменной, имеет числовой диапазон от 0 до 255. ( 8-битная шина данных позволяет контролировать все 8 выходов с порта.) 1Если бы я хотел выключить все 8 светодиодов сразу, я бы послал число 0 на порт А. Отправка числа 1 на порт А, включает 2-й светодиод на дисплее. Отправка числа 2 на порт А, включает первый светодиод на дисплее. Отправка числа 3 на порт А, включает первый и 2-й светодиоды на дисплее. Если бы я хотел включить все 8 светодиодов, я бы послал число 255 на порт А.

Использование редактора таблиц

Содержащий в себе знаки — ”Набор символов. xls”- проектируемые редактором таблиц, делает легче создание нового символа, позволяя сделать видимым двоичные значения для каждого из 8 светодиодов. Давайте рассмотрим процесс создания буквы А. 1 Цифры в графе А показывают двоичные значения для каждого светодиода, когда они включены. Индикатор значения 1, 2, 4, 8, 16, 32, 64, и 128. Когда мы включаем несколько светодиодов, мы просто складываем все включённые светодиоды, используя сложение. Чтобы сложить один столбец светодиодов выраженных знаками в редакторе таблиц, я использовал формулу Excel: =(С9)+(С8*2)+(С7*4)+(С6*8)+(С5*16)+(С4*32)+(С3*64)+(С2*128) На скриншоте выше показан результат использования редактора таблиц для создания 7 пикселей в ширину и 8 пикселей в высоту буквы “А”. Так как символ А имеет 7 пикселей в ширину, мне нужно было записать целые числа в каждом из 7 столбцов на светодиодном дисплее. Согласно таблице, чтобы вывести букву “А”, нужно отправить числа 31, 36, 68, 132, 68, 36, и 31 на порт А в микроконтроллер. После отправления числа на порт А, мы сообщаем микроконтроллеру о паузе с помощью команды Delay_ms(2). Это позволит сохранить каждый пиксель столбца видимым на дисплее в течение 2 мс. Вы можете изменить в Delay_ms интервал периода, чтобы соответствовать на вашем дисплее естественной скорости вращения. Код на языке С для символа “А” записывается так:

1 const char letter_A[8]= {31,36,68,132,68,36,31};

Затем мы могли бы создать простую функцию, чтобы написать символы, называемые printChar. Для простоты, я показал printChar действующий только с кодом, чтобы набрать символ А. (исходный код с загруженным проектом имеет гораздо больший набор символов.)

1

2

3

4

5

6

7

8

9

10

11

void printChar(char letter){

int n;

digit_counter++;

for(n=0;n>8;n++){ if(letter == ‘A’) PORTA = letter_A[n];

}

// 2 пустые строки пикселей

PORTA = 0;

Delay_ms(2);  // настроить обороты в минуту

 

 

} //конец функции printChar

Затем мы могли бы создать простую функцию main, которая использует функцию printChar функция.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

void main() {

 

/* Установить внутренний RC генератор PIC18F2685 на 32 МГц */ OSCCON.IDLEN = 0 ;

OSCCON.IRCF2 = 1 ;

OSCCON.IRCF1 = 1 ;

OSCCON.IRCF0 = 1 ;

OSCTUNE.PLLEN = 1 ;

 

TRISA = 0x00;                                  // Установить TRIS А для вывода

PORTA = 0x00;                                  // Выключить светодиоды порта А   /* Всегда писать букву А на экране

 

*/ while (1) {

printChar(‘A’);

}

 

}

Устройства пользователей

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

Луи из Венгрии

Луи добавил несколько интересных возможностей для своего проекта. Он адаптировал код для микроконтроллера PIC18F2620 и вырезал окно в печатной плате вокруг каждого светодиода. Это сделало светодиоды видимыми с обеих сторон печатной платы. Он также сделал прямоугольное углубление в печатной плате 9-ти вольтовой батарейки. Это уравновешивает устройство во время вращения.

1 2
3

Шафи из Малайзии

Шафи использует внешний программатор для обновления прошивки своего устройства. Как только новая прошивка заливается на микроконтроллер, он вставляет перепрограммированный pic в dip гнездо устройства. 4

Перевод Павла Блинкова (grayling3000) по заказу сайта Меандр

Оригинал статьи

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *