User Tools

Site Tools


arduino:displays_for_classic_arduinos:display_nokia_5110_u8g2_counter.ino
display_nokia_5110_u8g2_counter.ino
/*
   display_nokia_5110_u8g2_counter.ino
   Mithat Konar
 
   Test screen update speed with large solid fonts on 
   a Nokia 5110 screen that uses the PCD8544 controller.
 
   Notes:
   Consumes 42% of program storage space and
   24% of dynamic memory on a Pro Mini.
 
   String storage may not be not optimized.
 
   Frame rate without additional LOOP_DELAY is about
   10 fps with 8MHz processor.
 */
 
/*
 * Pin assignments:
 * RST: 8
 * CE/CS/SCE: 10
 * DC/"D/C": 9
 * DIN/DN/MOSI/DATA: 11
 * CLK/SCLK/SCK: 13
 * VCC: 3.3V
 * LIGHT/LED: ground through 330 ohm resistor
 * GND: ground
 */
 
#include <U8g2lib.h>
 
const unsigned int CLOCK_PIN = 13,
                   DATA_PIN = 11,
                   CS_PIN = 10,
                   DC_PIN = 9,
                   RESET_PIN = 8;
 
U8G2_PCD8544_84X48_1_4W_HW_SPI disp(U8G2_R0, CS_PIN, DC_PIN, RESET_PIN);  // HW SPI
 
unsigned int counter = 80;
char dispStr[4];    // null terminated char array used to pass to renderer.
const unsigned int LOOP_DELAY = 500; // msec of additional loop delay
 
void setup(void) {
  disp.begin();
  disp.setContrast(145);
  disp.setColorIndex(1);
}
 
void loop(void) {
  counter = (counter + 1) % 1000;
 
  // picture loop
  disp.firstPage();
  do {  
    disp.setFont(u8g2_font_5x8_tr);   
    disp.drawStr(0, 6, "PCD8544 u8g2");
 
    disp.setFont(u8g2_font_logisoso38_tr);
    String(counter).toCharArray(dispStr, 4);
    disp.drawStr( 0, 47, dispStr);
  } while (disp.nextPage());
 
//  delay(LOOP_DELAY);
}
arduino/displays_for_classic_arduinos/display_nokia_5110_u8g2_counter.ino.txt · Last modified: 2018/04/23 16:16 by mithat