Category: компьютеры

mult

Решил попробовать новый, маленький OLED экранчик..

Такой:

New_d

Сравнение с предыдущей моделью:

плюсы:
- Хорошо/стабильно работает на высоких частотах по шины I2C (пока пробовал до 2МГц);
- Стандартный SSD1306 контроллер, полная поддержка всех режимов (а их там 3);
- Простота реализации схемы и минимальные габариты;
- Можно менять яркость отображаемой информации;
- Состояние пикселей - инвертировать содержимое или нет;
- Поворачивать изображение на 180 градусов;
- Чересстрочная развёртка (для динамических сцен полезно);
- Возможно GDDRAM имеет большее адресное пространство, чем отображается/выводится (до конца не проверял)...

минусы :
- Более сложная система графического вывода GDDRAM (требует больше ресурсов МК);
- Нет поддержка текста (нужно писать код, рисовать шрифты);
- Чересстрочная развёртка (усложняет вывод).

Сейчас вывод (алгоритм) решил сделать через линейный буфер (вначале рисую в памяти МК, а потом вывожу на дисплей), т.к. дисплей чересстрочный + вертикальная пикселизация. Потребляет 1024 байт RAM в МК (не считая переменных). Если делать отображение видео/фото или постраничный интерфейс, то можно адаптировать код для работе без буфера. Правда хочу реализовать вывод текста с разными шрифтами (размер), проще делать через линейный буфер чем реализовывать на лету. Ну и код пока не оптимизирован, впрочем для XMega - это не критично.

Пока результат такой:



А это результат на старом экране: