Светодиодная матрица - МОДЖЕТ (антигаджет)
О происхождении слова
Противоречия бушуют в каждом человеке. Иногда побеждают добрые, иногда не очень. Кто-то живёт стереотипами, и таковых большинство, а кто-то делает вызов и побеждает своим нестандартным поступком, мышлением или делом. Когда мне на глаза попалась светодиодная матрица 8х8, первая мысль была такой – куплю много, сделаю бегущую строку. Вторая – много стоит много… а тугриков мало… Третья – куплю одну и сделаю круче, чем строка. Противоречие наступило! Минимум в конструкции и максимум в функциях! Мысль пошла работать, руки так и раздваивались в попытке обхватить паяльник и клавиатуру, ноги носились от ванночки с хлорным железом к коробочкам с мелочёвкой. Наступил момент истины – устройство ожило! После оно стало взрослеть и получило ещё несколько полезных функций. Настал черёд дать название этому чуду. И вот тут опять стандартные решения, предлагаемые современной модой. По своему функционалу и назначению больше всего подходит «гаджет», но их кругом полно, этих гаджетов… Ничего другого, после того как вложены в устройство все силы на ум не пришло, как «антигаджет».
Чтобы дать определение слову «антигаджет», для начала необходимо разобраться с его предком – «гаджетом». Всезнающая Википедия даёт такое определение: Гаджет (англ. gadget — приспособление) — оригинальное, нестандартное техническое приспособление. Сегодня гаджетом можно считать любой цифровой прибор, достаточно небольшой, чтобы надеть на руку или подключить. Функциональность гаджета - помимо ожидаемых функций (например, индикация времени для часов), содержит произвольный набор дополнительных функций (в часы может быть встроен радиоприёмник, микрокомпьютер, плеер и т.п.). Любители компьютеров используют гаджеты для более эффектного моддинга (от англ. modding - modifying модификация), т.е. индивидуального художественного оформления корпуса ПК. В программном обеспечении гаджет — небольшое приложение, предоставляющее дополнительную информацию, например, прогноз погоды или курс валют. В простонародье есть такое красивое русское слово - ПРИБАМБАС. Вот это оно и есть. Если у человека уже все имеется, но хочется еще чего-то, он идет и покупает (или делает) гаджет.
Если исходить из этого, то «антигаджет» должен быть неоригинальным, стандартным и нетехническим приспособлением, громоздким и без возможности подключения. О нашем устройстве этого не скажешь. Поэтому от такого определения отталкиваться нельзя. Но есть и другие определения слова «гаджет». Самое удачное, на мой взгляд, определение, которое я встретил в сети - это когда купил безделушку, назвал ее цену своей жене, а она непременно тебе ответила: "ну и ГАД ЖЕ Ты!.." ;) Это более интересное определение, и от него уже можно оттолкнуться. Итак, в нашем случае «антигаджет» - непременно самодельное, а не покупное устройство, достаточно дешёвое и простое в изготовлении, представляющее из себя МОДдинговый прибамбас для компьютера, ну и самое главное – чтобы при его виде жена произнесла - "ну и МОлоДец ЖЕ Ты!.." ;) Вот такая цепочка мыслей и породила название МОДЖЕТ!
В нём заложено несколько полезных определений. С одной стороны, это симбиоз двух слов – моддинг и гаджет. В принципе, так оно и есть. С другой – как написано выше – оценка жены. Ну и с третьей – оценка друзей и коллег - МОдЖЕТ!
Так что возможно, это определение приживётся в кругах тех, кого не могут оставить равнодушным подобные прибамбасы.
О функционале
Перейдём от лирического вступления к практическому описанию. Устройство позволяет реализовывать несколько полезных или развлекательных функций:
Часы
Спектро анализатор звука
Калейдоскоп
Бегущая строка
Прогноз погоды (практически на все значимые населённые пункты мира!) – с сайта http://informer.gismeteo.ru/xml/
Курсы валют России и Украины – с сайтов http://www.cbr.ru/ и http://bank.gov.ua/
Переключение между функциями осуществляется переключением соответствующих вкладок. На каждой из вкладок можно настроить тот или иной режим отображения в зависимости от желания пользователя. Текст из внешнего файла выводится в виде бегущей вертикальной или горизонтальной строки. Его можно выводить в инверсном отображении, также есть режим только строчных букв. Также в режиме бегущей строки отображаются курсы валют, прогноз погоды и часы. Часы кроме того могут выводиться покадрово. После выхода из программы она запоминает своё состояние для следующего сеанса. Программу можно запускать или вручную, или прописать в автозагрузку – ADD Autostart для её автоматического запуска после старта операционной системы. DEL Autostart - удаляет программу из автозагрузки. Небольшое количество элементов матрицы не позволяет выводить сразу всё слово целиком, но простота и дешевизна конструкции компенсируют некоторое неудобство считывания информации. Через некоторое время к этому привыкаешь и уже не обращаешь внимания.
О конструкции
Устройство принадлежит к классу USB-HID (Human interface device). Светодиодная матрица RL-M1588 размером 38х38 мм физически организована как 8х8=64 светодиода. Можно использовать матрицу другого размера с соответствующей корректировкой платы. Микроконтроллер ATMEGA8-16PU в корпусе DIP. Прототип был собран на макетной плате, затем перенесён на печатную плату. Диоды служат для снижения напряжения питания контроллера. Это позволяет согласовать уровни USB и самого контроллера, а также отказаться от ограничительных сопротивлений для светодиодной матрицы (а ля China!). Конструкция достаточно простая и при использовании исправных деталей и правильно прошитом контроллере и установке фьюзов в наладке не нуждается. При первом подключении к компьютеру система обнаружит новое устройство - LED MATRIX 8x8, и сама установит для него стандартные драйверы HID. Для работы со звуком необходимо, что бы был включен стерео микшер.
О программном обеспечении
Со стороны контроллера – BASCOM AVR
Благодаря тому, что появилась чудная библиотека господина Оллопа - http://mcselec.com/index.php?option=com_content&task=view&id=271&Itemid=57, можно делать HID – устройства на контроллерах AVR и писать программы к нему на широко распространённом языке бейсик! Контроллер осуществляет связь с компьютером и выводит принятую информацию на светодиодную матрицу. Это осуществляется при помощи динамической развёртки со скважностью 1:8. Основа программы может служить примером для других подобных конструкций.
Со стороны компьютера – VBNET
Программа осуществляет формирование необходимой информации, которая отображается на форме и параллельно передаётся в контроллер. При переходе на прогноз погоды или курса валют может происходить небольшая задержка. Это связано с тем, что информация вычитывается из интернета. Программное обеспечение может использоваться как по своему прямому назначению, так и в учебных целях:
- работа с USB HID устройствами
- помещение и удаление программы в автозагрузку
- сериализация элементов управления
- работа с графикой
- работа с библиотекой bass.dll (http://www.un4seen.com/) для получения спектра звука
- сворачивание программы в трей
- запрет запуска второй копии программы
- таблица символов 8х8.
О модернизации
Так как код открыт и достаточно прокомментирован, никто не мешает осуществить ваши пожелания в реальности. Для этого есть несколько идей. Например, проводить мониторинг железа ПК и выводить информацию, разработать программируемые пользователями световые эффекты, написать простую игру типа тенниса, крестиков-ноликов или тетриса. И это всё можно делать без переделки железа! Успехов!