Тестируем OLED дисплей 0.96” 6 пинов с Arduino Mega 2560 R3
Дисплей имеет низкое энергопотребление, так как OLED дисплее не нуждаются в подсветки. Вместо подсветки светят отдельно каждый пиксель. Дисплей имеет разрешение 128*64 пикселя и выполнен на чипе SSD1306.
На Ардуино Мега расположение пинов SPI отличается от других плат семейства.
Поэтому подключим дисплей следующим образом:
Распиновка:
Пин дисплея |
Назначение |
Пин Arduino Mega |
1 GND | питание «-» | GND |
2 VCC | питание «+»3.3V | 3.3v |
3 SCL | CLK Clock | 52 |
4 SDA | MISO | 50 |
5 RES | MOSI | 51 |
6 DC | data / command | 10 |
Подключаем дисплей к Ардуино.
Должно получится так:
Скачиваем библиотеку u8glib_arduino и загружаем скетч:.
#define OLED_SCL 52 #define OLED_SDA 50 #define OLED_RES 51 #define OLED_DC 10 #define FPS 12 #include U8glib.h unsigned long last_refresh = 0; unsigned long interval = 1000 / FPS; int angle = 0; // https://carduino.ru/product_info.php?products_id=2141 U8GLIB_SSD1306_128X64 u8g_spi(OLED_SCL, OLED_SDA, U8G_PIN_NONE, OLED_DC, OLED_RES); void setup() { } unsigned int maxFPS = 0; void loop() { if ((unsigned long)(millis() - last_refresh) >= interval) { angle -= 6; if (angle <= 0) { angle = 360 + angle; } last_refresh = millis(); u8g_spi.firstPage(); do { draw(u8g_spi, angle, maxFPS); } while( u8g_spi.nextPage() ); maxFPS = 1000 / (millis() - last_refresh); } } const int cx = 110; const int cy = 20; const int r = 15; const int x = cx + 0; const int y = cy - r + 3; void draw(U8GLIB u8g, int angle, int maxFPS) { // graphic commands to redraw the complete screen should be placed here u8g.setFont(u8g_font_unifont); u8g.drawStr(0, 20, "MAX FPS: "); u8g.setPrintPos(70, 20); u8g.print(maxFPS); u8g.drawCircle(cx, cy, r); float radians = 0.01745329251 * angle; // Pi/180 * angle float c = cos(radians); float s = sin(radians); int nx = (c * (x - cx)) + (s * (y - cy)) + cx; int ny = (c * (y - cy)) - (s * (x - cx)) + cy; u8g.drawLine(cx, cy, nx, ny); u8g.drawStr(20, 63, "CARDUINO.RU"); }
Смотрим что получилось
Просмотров: 5357
Дата: Суббота, 25 Февраля 2017