Сломался у меня телефон Siemens CX65, остался от него дисплей, 132х176 точек, 16бит цвет (остальное тоже осталось, но интереса вызывает меньше). Его описание нашлось у нашего немецкого товарища Christian Kranz. которое он сделал аж в 2005 году. В общем там (Using the Siemens S65 в формате PDF) все просто, будем грузить в дисплей картинку с PC через USB интерфейс на основе библиотеки VUSB Objective Development Software GmbH . Схема:
Схема типовая, подобные я реализовывал в проектах например IR дистанционное управление компьютером, плеером Media Player Classic или эмулятор лямбда зонда (датчика кислорода) Chery Tigo, к коим и отсылаю за подробностями. В отличии от схемы Christian Kranz, питание дисплея так же заведено на порт C , что позволяет им манипулировать. Подсветка дисплее требует от 10в до 15в, для формирования этого напряжения используется стандартная схема, в качестве генератора используется аппаратный ШИМ ATMega8. Более подробно смотри исходник. Программирование прошивкой - через USB HIDboot (кнопка "Prog" именно за тем, смотри) или ISP. В железе это выглядит так:
Устройство опознается ОС Windows как стандартное HID Device, никаких драйверов не нужно!.
Со стороны PC дисплеем управляет программа hid_lcd. Аргументы командной строки программы hid_lcd: power - управление питанием дисплея и его подсветки, true - включает, false - выключает. По умолчанию power=true. picture - картинка в формате bmp или jpg, для загрузки в дисплей. Имя файла с путем и расширением. Размер картинки может быть любым, программа сама его подгонит под размеры дисплея. Если картинку загрузить и обработать не удалось, в дисплей будет загружено тестовое изображение. brightness - управление уровнем подсветки дисплея (от 0 до 100) в %%. По умолчанию уровень не задается. После включения дисплея уровень подсветки около 40%. show_form - по умолчанию, программа тихо стартует, отрабатывает и закрывается, если хочется посмотреть подробности обмена с дисплеем, show_form=true Примеры использования: hid_lcd.exe - если дисплей выключен, он будет включен и инициализирован, картинка никакая не грузится. hid_lcd.exe power=false - не важно в каком режиме дисплей, его питание будет отключено, и подсветка тоже. hid_lcd.exe picture=1.jpg - если дисплей выключен, он будет включен и инициализирован, картинка 1.jpg грузится. hid_lcd.exe brightness=100 - если дисплей выключен, он будет включен и инициализирован, яркость установлена на 100% картинка никакая не грузится. hid_lcd.exe picture=с:\temp\temp.jpg power=true brightness=100 show_form=true - включение дисплея, установка яркости на 100%, загрузка картинки с:\temp\temp.jpg с показом на экране всего процесса.
Самая серьезная проблема этой реализации - низкая скорость. В дисплей грузится 47кб данных (176x132x2 + служебные посылки), что занимает около 15сек.
Устройство в работе:
Скачать файлы проекта (~500кб.)
|