Дисплей M3 и arduino

Решил я использовать внутренности китайского фитнес браслета M3 Band по максимуму. Сегодняшняя статья о том, как я подключал цветной дисплей от браслета M3 Band к arduino своими руками. Вначале разобрал браслет, отпаял дисплей. На нем была надпись: XD0913-X2. Поиск по обозначению ничего не дал, тогда начал просматривать дисплеи, у которых 13 выводов и габариты – 14х28 мм, диагональ – 0,96”. Нашел подобный дисплей с маркировкой LH096T. Он совпадал по габаритам и количеству контактов. Дисплей LH096T работает на чипе ST7735. Далее, взяв тестер и телефон с фонариком, зарисовал ориентировочно выводы своего дисплея XD0913-X2 от браслета. В большей части они совпали с выводами дисплея LH096T, из-за чего, я принял решение подключить свой дисплей по аналогии. Так же увидел модули для ардуино с дисплеем LH096T, и решил сделать из своего дисплея совместимый модуль. Для этого развел плату, со схемой включения подсветки. Подключая разные библиотеки для дисплеев на ST7735 и ST7789 мне удалось запустить только область дисплея равную 80x128 пикселей, хотя он рассчитан на вывод информации в область равную 80x160 пикселей. Более подробно об этом в видео. Разводку печатной платы и пример скетча, можно скачать ЗДЕСЬ.
Поділитись:
admin, сказав 10.09.2021 о 11:30:

При использовании скетча от пользователя "Станислав" получается следующий результат:

Добавленно позже (в 12:58 11.09.2021):

Вот рабочий код для моего дисплея, который нужно заменить на аналогичный из скетча выше:
void loop(){
pos+=dir;
if(pos>143)dir=-1;
if(pos<1)dir=1;
col=rand()*2;
area(0+pos,0,16+pos,19);
*PDC|=MDC;
*PCS &=~ MCS;
for(word i=0;i<0x580;i++){
pixel16(col);
}
*PCS |= MCS;
//delay(50);
}
void area(byte x1,byte y1,byte x2,byte y2){
writecommand(0x2A);writedata(0);writedata(x1);writedata(0);writedata(x2);
writecommand(0x2B);writedata(0);writedata(y1+24);writedata(0);writedata(y2);
writecommand(0x2C);
}

Необхідно авторизуватись, щоб мати можливість коментувати.