arduino:displays_for_classic_arduinos:nokia_5110_displays_and_classic_arduinos_speed_test
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
arduino:displays_for_the_arduino_uno:nokia_5110_display_and_arduino_uno_speed_test [2018/01/27 03:39] – mithat | arduino:displays_for_classic_arduinos:nokia_5110_displays_and_classic_arduinos_speed_test [2018/01/28 21:39] – [Tests] mithat | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Nokia 5110 displays and Arduino Uno: speed test ====== | + | ====== Nokia 5110 displays and classic Arduinos: speed test ====== |
- | I used [[https:// | + | ===== Summary evaluation ===== |
- | Speed will probably roughly double with a 16 MHz board, but there are no 16 MHz 3.3V boards, so that means you'd have to complicate things a bit with level shifters. | + | For general information on this display, see [[arduino: |
- | <file c++ display_nokia_5110_u8g2_counter.ino> | + | One might expect this 84×48 display with 1 bit color depth to be updateable pretty quickly even with a torpid Uno/ |
- | #include <U8g2lib.h> | + | |
- | /* | + | ===== Tests ===== |
- | | + | |
- | | + | |
- | * 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. | + | |
- | */ | + | |
- | /* | + | I used [[https://github.com/olikraus/u8g2/wiki | U8g2]] with a Nokia 5110 display and a 3.3V 8 MHz Arduino Pro Mini. The module came from an Asian source. This one has white LED illumination. Some have blue. |
- | * Pin assignments: | + | |
- | * RST: 8 | + | |
- | * CE/CS/SCE: 10 | + | |
- | * DC/"D/C": 9 | + | |
- | * DIN/DN/ | + | |
- | * CLK/ | + | |
- | * VCC: 3.3V | + | |
- | * LIGHT/LED: ground through 330 ohm resistor | + | |
- | * GND: ground | + | |
- | */ | + | |
- | const unsigned int CLOCK_PIN = 13, | + | The frame update time of 100 ms (the inverse of the fps noted in the [[display_nokia_5110_u8g2_counter.ino | source code]]) is respectable, and |
- | DATA_PIN = 11, | + | character change artifacts are not objectionable. The frame update time is expected to halve with a 16 MHz board, but there are no 16 MHz 3.3V boards, so that means you'll have to complicate things a bit with level shifters. Memory use is 42% of program storage and 24% of dynamic memory. |
- | | + | |
- | | + | |
- | | + | |
- | // | + | The glare on the edges is an artifact from the four LEDs used to backlight the display. In real life the arifact doesn' |
- | U8G2_PCD8544_84X48_1_4W_HW_SPI disp = U8G2_PCD8544_84X48_1_4W_HW_SPI(U8G2_R0, | + | |
- | unsigned int counter | + | {{youtube> |
- | char dispStr[4]; | + | |
- | void setup(void) { | + | [[display_nokia_5110_u8g2_counter.ino | source code]] |
- | 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, | ||
- | |||
- | disp.setFont(u8g2_font_logisoso38_tr); | ||
- | String(counter).toCharArray(dispStr, | ||
- | disp.drawStr( 0, 47, dispStr); | ||
- | } while ( disp.nextPage() ); | ||
- | |||
- | // inherent frame rate is about 10 fps (without additional delay). | ||
- | delay(500); | ||
- | } | ||
- | </ |
arduino/displays_for_classic_arduinos/nokia_5110_displays_and_classic_arduinos_speed_test.txt · Last modified: 2018/02/01 20:06 by mithat