КОРЗИНА
магазина
8 (499) 500-14-56 | ПН. - ПТ. 12:00-18:00
ЛЕСНОРЯДСКИЙ ПЕРЕУЛОК, 18С2, БЦ "ДМ-ПРЕСС"

Подключение неизвестного дисплея Melodate MD-2072 к Arduino

Автор урока: Георгий Гуляев

Где-то далеко, в закромах своего сарая я нашел не что иное, как два 27MHz пульта от какой-то машинки, о чем свидетельствовало изображение машинки на дисплее. Один пульт не работал, другой был тоже не нужен, ведь машинки то нету. Распаяв плату я получил резисторы и конденсаторы, но самым интересным был дисплей. Решив, что его нужно подключить к Arduino полез в Яндекс искать его. Это был самый большой провал в моей жизни... Ни Яндекс, ни Google не знают такой фирмы производящей дисплеи, как Melodate не знали. Судя по маркировке это Melodate MD-2072.

У него подключение шлейфом, а еще сзади есть два контакта под динамик, который я благополучно оторвал, из-за того, что тот пищал при любых телодвижениях на экране.



Распиновка на плате была, но...соответствовало действительности разве, что GND и VDD. Остальное, как оказалось - направления движения. Долго мучашись с постоянным прописыванием функции digitalWrite() и вспомианием, какой пин относится к какому действию я решил написать библиотеку. Подключать дисплей надо именно так, как нарисовано в титульной картинке. Но...тут не так все просто. Это во Fritzing взял, перевернул, и все прекрасно, а на самом деле пришлось немного подумать.


Точнее думать не особо-то и надо было - снял облочку, да поменял местами проводки GND и VDD.

А теперь подробнее про библиотеку, кстати вот она - Скачать

Итак, мы подключили дисплей, как надо, а теперь собственно библиотека. Всего в ней 9 комманд.

Пример:

#include <md2072.h>
MD2072 md2072;//Вместо md2072 можно указать например d, но тогда во всем коде придется поменять md2072 
//на ваше значение. Возможно, Вам будет проще
void setup() {
}
void loop() {
md2072.clear(); //Очищаем экран
md2072.forwardon(); //Задаем машинке движение вперед
md2072.righton(); //Направляем ее направо
delay(1000); //Делаем это 1 секунду
md2072.clear(); //Очищаем экран
md2072.backwardon(); //Задаем движение назад
md2072.lefton(); //Направляем налево
delay(1000); //Делаем это 1 секунду
}

Также есть команды для выключения определенных действий. Например

Отключаем частично экран:

#include <md2072.h>
MD2072 md2072; //Вместо md2072 можно указать например d, но тогда во всем коде придется поменять md2072 
//на ваше значение. Возможно, Вам будет проще
void setup() {
}
void loop() {
md2072.clear(); //Очищаем экран
md2072.forwardon(); //Задаем машинке движение вперед
md2072.righton(); //Направляем ее направо
delay(1000); //Делаем это 1 секунду
md2072.forwardoff(); //Отключаем движение вперед
md2072.backwardon(); //Задаем движение назад
delay(1000); //Делаем это 1 секунду
md2072.rightoff(); //Перестаем ехать направо
md2072.lefton(); //Едем теперь налево
delay(1000); //Делаем это 1 секунду
}

Еще есть функции:

md2072.backwardoff(); //Отключаем движение назад
md2072.leftoff(); //Снимаем движение в левом направлении

Загружаем скетч либо из примеров в библиотеке, либо скопировав отсюда (они одинаковые) в нашу *duino и видим, что все работает. Хочу также предупредить, что если у Вас, что-то идет не по коду, то скорее всего :

А. Контакты перемкнулись

Б. Неправильное подключение

В. На экран смотреть нужно сверху вниз, а не под углом

Г. Доткнуть пинцетом контакты

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




Обсуждение

Гарантии и возврат Используя сайт Вы соглашаетесь с условями