1.3''OLED

Dependencies:   mbed QEI OLED_SSD1306_SH1106 I2C_SSD1306_nucleo_l432KC

Committer:
aiyazaole
Date:
Fri May 27 00:42:29 2022 +0000
Revision:
17:0da3a5978f35
Parent:
16:a72f4818d591
SD1306_SH1106

Who changed what in which revision?

UserRevisionLine numberNew contents of line
kaizen 0:81a58b2fb28e 1 #include "mbed.h"
kaizen 0:81a58b2fb28e 2 #include "Adafruit_SSD1306.h"
aiyazaole 16:a72f4818d591 3 #include "QEI.h"
bibi94 14:d7bc532b2133 4
aiyazaole 16:a72f4818d591 5 I2C i2c(PA_10,PA_9);
aiyazaole 16:a72f4818d591 6 Adafruit_SH1106_I2c myOled(i2c,NC,0x78,64,128);
bibi94 14:d7bc532b2133 7
aiyazaole 16:a72f4818d591 8 QEI EnB(D5,D6,NC,500,QEI::X4_ENCODING);//4倍编码器
aiyazaole 16:a72f4818d591 9 //QEI EnB(PA_5,PA_6,NC,500);//2倍编码器
aiyazaole 16:a72f4818d591 10 int main()
aiyazaole 16:a72f4818d591 11 {
aiyazaole 16:a72f4818d591 12 //i2c.frequency(100000);
aiyazaole 16:a72f4818d591 13 i2c.start();
aiyazaole 16:a72f4818d591 14 myOled.begin();
bibi94 14:d7bc532b2133 15 myOled.display();
bibi94 14:d7bc532b2133 16 wait(0.5);
aiyazaole 16:a72f4818d591 17 myOled.clearDisplay();
aiyazaole 16:a72f4818d591 18 //myOled.setTextColor(1);
aiyazaole 16:a72f4818d591 19 myOled.setTextSize(3);
aiyazaole 16:a72f4818d591 20 myOled.printf("Du long\r");
aiyazaole 16:a72f4818d591 21 int oldPosition = -1;
aiyazaole 16:a72f4818d591 22 int newposition;
aiyazaole 16:a72f4818d591 23 while(1) {
aiyazaole 16:a72f4818d591 24 newposition = EnB.getPulses();
aiyazaole 16:a72f4818d591 25 if (oldPosition == -1) {
aiyazaole 16:a72f4818d591 26 myOled.setTextCursor(40,32);
aiyazaole 16:a72f4818d591 27 myOled.setTextSize(2);
aiyazaole 16:a72f4818d591 28 myOled.printf("ready!\r");
aiyazaole 16:a72f4818d591 29 myOled.display();
aiyazaole 16:a72f4818d591 30 }
aiyazaole 16:a72f4818d591 31 if (newposition < 0)
aiyazaole 16:a72f4818d591 32 newposition = -newposition;
aiyazaole 16:a72f4818d591 33 if (newposition > oldPosition) {
aiyazaole 16:a72f4818d591 34 myOled.clearDisplay();
aiyazaole 16:a72f4818d591 35 oldPosition = newposition;
aiyazaole 16:a72f4818d591 36 myOled.setTextCursor(40,32);
aiyazaole 16:a72f4818d591 37 myOled.setTextSize(3);
aiyazaole 16:a72f4818d591 38 myOled.printf("%d\r",oldPosition);
aiyazaole 16:a72f4818d591 39 myOled.display();
aiyazaole 16:a72f4818d591 40 }
aiyazaole 16:a72f4818d591 41 }
aiyazaole 16:a72f4818d591 42 }