U8g2 ESP32
SPI med ESP hÄrdvara
#include <Arduino.h> #include <U8g2lib.h> #include <SPI.h> #define MY_LED_BUILTIN 2 //U8g2lib U8G2_ST7920_128X64_1_HW_SPI u8g2(U8G2_R0, /* CS=*/ 5, /* reset=*/ 17); //U8G2_R0 = rotation zero //1=one row buffer //HW=Hardware SPI. SÄ endast CS (ChipSelect) och reset behöver anges // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(MY_LED_BUILTIN, OUTPUT); u8g2.begin(); SPI.setClockDivider(SPI_CLOCK_DIV64); //SPI_CLOCK_DIV32 kan ocksÄ funka. } // the loop function runs over and over again forever void loop() { u8g2.firstPage(); do { // choose a suitable font för svenska tecken slutar med _tf u8g2.setFont(u8g2_font_6x13_tf); u8g2.drawStr(0, 13, "--PchButik.se---"); u8g2.drawStr(0, 28, "****-\xC5\xC4\xD6\xE5\xE4\xF6-****"); u8g2.drawStr(0, 43, "LCD: ESP32, SPI, U8g2"); u8g2.drawStr(0, 58, "och 128x64 pixlar..."); } while (u8g2.nextPage()); digitalWrite(MY_LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(100); // wait for a short blink digitalWrite(MY_LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
HW=Hardware SPI. Har som default för hög hastighet i bussen, som skÀrmen inte klarar.
setClockDivider kan sÀnka hastigheten med SPI_CLOCK_DIV64 till 250 kHz.
Fonter som slutar med "_tf" har svenska tecken Ă ĂĂ, men mĂ„ste dĂ„ skrivas i HEX.
SPI med mjukvara
#include <Arduino.h> #include <U8g2lib.h> #include <SPI.h> #define MY_LED_BUILTIN 2 //U8g2lib U8G2_ST7920_128X64_1_SW_SPI u8g2(U8G2_R0, /* clock=*/ 18, /* data=*/ 23, /* CS=*/ 5, /* reset=*/ 17); // ESP32 //U8G2_R0 = rotation zero //1=one row buffer //SW=Software SPI. SÄ alla SPI pinnar mÄste anges. void setup() { pinMode(MY_LED_BUILTIN, OUTPUT); u8g2.begin(); } void loop() { u8g2.firstPage(); do { // choose a suitable font för svenska tecken slutar med _tf u8g2.setFont(u8g2_font_6x13_tf); u8g2.drawStr(0, 13, "--PchButik.se---"); u8g2.drawStr(0, 28, "****-\xC5\xC4\xD6\xE5\xE4\xF6-****"); u8g2.drawStr(0, 43, "LCD: ESP32, SPI, U8g2"); u8g2.drawStr(0, 58, "och 128x64 pixlar..."); } while (u8g2.nextPage()); digitalWrite(MY_LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(100); digitalWrite(MY_LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(100); }
NÀr SPI som mjukvara(SoftWare) sÄ behöver inte SPI-bussen hastighet sÀnkas.
Om det Àr flera SPI moduler som klarar högre hastighet, sÄ kan SW vara bÀttre val.
MÄste byta till andra pinnar för SW om bÄde HW och SW ska anvÀndas samtidigt.
Inköpslista
Denna sida Àr konverterad med hjÀlp av AI.
En sida för dig som bygger elektronik sjÀlv, experimenterar och laborerar.
Skapad av Per-Anders Hult för PchButik.se.


