#include <Adafruit_GFX.h>
#include <Adafruit_PCD8544.h> // https://github.com/adafruit/Adafruit-PCD8544-Nokia-5110-LCD-library/blob/master/
// Software SPI
// Adafruit_PCD8544 display = Adafruit_PCD8544(3, 4, 5, 7, 6); // CLK, DIN, DC, CS, RST
// Hardware SPI
// SCK 13
// DIN 11
Adafruit_PCD8544 display = Adafruit_PCD8544(5, 7, 6); // DC, CS, RST
// monochrome 16x16 bitmap editor
// https://www.espboards.dev/tools/monochrome-bitmap-tool/
static const unsigned char PROGMEM heart[] =
{ B00111100, B00111100,
B01000010, B01000010,
B10000001, B10000001,
B10000000, B00000001,
B10000000, B00000001,
B10000000, B00000001,
B10000000, B00000001,
B01000000, B00000010,
B01000000, B00000010,
B00100000, B00000100,
B00100000, B00000100,
B00010000, B00001000,
B00001000, B00010000,
B00000100, B00100000,
B00000010, B01000000,
B00000001, B10000000,
};
void setup() {
Serial.begin(9600); // start serial comms
display.begin(); // start display instance
display.clearDisplay(); // clears display buffer
display.display(); // show buffer
display.clearDisplay(); // must start with clearDisplay() to "home" pixel cols/rows
display.print("drawPixel()");
display.drawPixel(20, 20, BLACK); // ONE pixel. "BLACK = 1 = ON"
display.drawPixel(20, 20, BLACK); // ONE pixel. "BLACK = 1 = ON"
display.display();
delay(1000);
display.clearDisplay();
display.setTextSize(1); // smallest font size
display.setTextColor(BLACK);
display.setCursor(0, 0);
for (int j = 0; j < 3; j++) {
display.clearDisplay();
for (int i = j * 84 ; i < 84 + j * 84; i++) { // 84 characters (14 cols x 6 rows)
if (i == '\n') continue; // remove CR and LF
display.write(i);
}
display.display();
delay(2000);
}
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(0, 0);
display.println("Hello, world!");
display.setTextColor(WHITE, BLACK); // 'inverted' text
display.println("INVERSE");
display.setTextSize(2);
display.setTextColor(BLACK);
display.print("0x");
display.println(0xFEED, HEX);
display.display();
delay(2000);
display.clearDisplay();
display.setRotation(1);
display.setTextSize(1);
display.setTextColor(BLACK);
display.setCursor(0, 0);
display.println("Rotation");
display.display();
display.setRotation(0); // reset rotation
delay(2000);
display.clearDisplay();
display.setCursor(5, 5);
display.setTextSize(2);
display.print("PPM: ");
display.drawBitmap(5, 25, heart, 16, 16, 1); // x, y, bitmap, sizeX, sizeY, color
display.display();
}
void loop() {}Loading
nokia-5110
nokia-5110