подключение дисплея M269 к Arduino
- Войдите на сайт для отправки комментариев
Чт, 31/08/2017 - 19:48
заметка для новичков
дисплей M269 фирмы Clover Display Ltd
подключается 4 контактами питание и I2C
мне очень помогла статья http://meandr.org/archives/27766
но почемуто по переработаному коду автора не заработало
вот код подключения с коммертариями
#include <Wire.h> // подключаем библиотеку "Wire"
void setup() {
Wire.begin();
}
byte v = 0; // значение для передачи экрану (для проб)
void loop() {
Wire.beginTransmission(59); // начало передачи устройству с адресом "44" (0x2c)
Wire.write(byte(0x80));
Wire.write(byte(0x34));
Wire.write(byte(0x80));
Wire.write(byte(0x0c));
Wire.write(byte(0x80));
Wire.write(byte(0x06));
Wire.write(byte(0x80));
Wire.write(byte(0x35));
Wire.write(byte(0x80));
Wire.write(byte(0xff));
Wire.write(byte(0x80 ));
Wire.write(byte(0x9c));
Wire.write(byte(0x80));// 80
Wire.write(byte(0x03)); //03
Wire.write(byte(0x80));
Wire.write(byte(0x04));// переворот контраст и пр
Wire.write(byte (0x80));
Wire.write(byte (0x08)); // переворот контраст и пр
Wire.write(byte(0x80));
Wire.write(byte(0x34));
Wire.endTransmission();
delay (200);
Wire.beginTransmission(59);
Wire.write(byte(0x80));
Wire.write(byte(0x80));
Wire.write(byte(0x40));
Wire.write(byte(49)); //1 ряд 1 символ
Wire.write(byte(49));// 1 ряд 2 символ
Wire.write(byte(49));// 1 ряд 2 символ
Wire.write(byte(49));// 1 ряд 2 символ
Wire.write(byte(49));// 1 ряд 2 символ
Wire.write(byte(0x35));// малый верхний ряд 1 символ
Wire.write(byte(0x35));// малый верхний ряд 2 символ
Wire.write(byte(0x35));// малый верхний ряд 3 символ
Wire.write(byte(0x35));// малый верхний ряд 4 символ
Wire.write(byte(55));// малый верхний ряд 5 символ
Wire.write(byte(55));//малый нижний ряд 1 символ
Wire.write(byte(55));// малый нижний ряд 2 символ
Wire.write(byte(0x20));
Wire.endTransmission();
delay (150);
Wire.beginTransmission(59);
Wire.write(byte(0x80));
Wire.write(byte(0xc0));
Wire.write(byte(0x40));
Wire.write(byte(49)); //2 ряд 1 символ
Wire.write(byte(50));//2 ряд 2 символ
Wire.write(byte(51));//2 ряд 3 символ
Wire.write(byte(49)); //2 ряд 4 символ
Wire.write(byte(49)); //2 ряд 7 символ
Wire.write(byte (49));//2 ряд 5 символ
Wire.write(byte(50)); //2 ряд 6 символ
Wire.write(byte(49)); //малый нижний ряд 3 символ
Wire.write(byte(49)); //малый нижний ряд 4 символ
Wire.write(byte(49)); //малый нижний ряд 5 символ
Wire.write(byte(49)); //2 ряд 8 символ
Wire.write(byte(49)); //2 ряд 9 символ
Wire.endTransmission();
delay (150);
Wire.beginTransmission(59);
Wire.write(byte(0x80));
Wire.write(byte(0x80));
Wire.write(byte(0x80));
Wire.write(byte(0x40));
Wire.write(byte(0x40)); //мигание нижнего ряда 80 вместо 40
Wire.write(byte(0x60)); // мигае левый набор символов
/* 01 стакан
02 палка
03 палка со стаканом
04 дворник
05 дворник и пустой стакан
06 палка и дворник
07 палка стакан дворник
08 "ofset"
09 "ofset" и стакан
10 "MEAS"
11 "MEAS" и стакан
12 "MEAS" палка*/
Wire.write(byte(0x00)); //mts err ATC
/*00 пусто
01 ATC
02 MTC
03 ATC+ MTC
04ERR
05 ERR+ATC*/
Wire.write(byte(0x80)); //setup и точка "реле 3"
/*01 setup
02 точка в "реле 3"
10 Redy
redy setup
redy setup.*/
Wire.write(byte(0x80)); //ready rel3 кружек 3 реле и точка 4рел
/*HOLD
REL3
REL30
*/
Wire.write(byte(0)); // точки 1 ряда
Wire.write(byte(0x00)); // точки 2 ряда
Wire.write(byte(0x20)); // тире в верхнем правом углу
Wire.write(byte(0x20));
Wire.endTransmission();
delay (150);
/*Wire.beginTransmission(59);// этот модуль на экран не выводится
Wire.write(byte(0x80));
Wire.write(byte(0x80));
Wire.write(byte(0x80));
Wire.write(byte(0x60));
Wire.write(byte(0x40));
Wire.write(byte(0x00));
Wire.write(byte(0x00));
Wire.write(byte(0x00));
Wire.write(byte(0x00));
Wire.write(byte(0x00));
Wire.write(byte(0x00));
Wire.write(byte(v)); //замените подбором
Wire.write(byte(0x00));
Wire.endTransmission();
*/
delay (150);
Wire.beginTransmission(59);
Wire.write(byte(0x80));
Wire.write(byte(0x35));
Wire.write(byte(0x80));
Wire.write(byte(0x03)); // разные режимы работы дисплея
Wire.write(byte(0x00));
Wire.write(byte(0x03)); // разные режимы работы дисплея
Wire.write(byte(0x70)); //если установить 80 то дисплей мигает
Wire.write(byte(0x00));
Wire.endTransmission();
delay (350);
v++;
if (v>255) v=0;
}
:)