подключение дисплея 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; }
:)