Difference between revisions of "MyMenu"
Jump to navigation
Jump to search
Blwikiadmin (talk | contribs) |
Blwikiadmin (talk | contribs) |
||
Line 76: | Line 76: | ||
** Driver can be installed from the Arduino IDE - search "Adafruit MCP23008" | ** Driver can be installed from the Arduino IDE - search "Adafruit MCP23008" | ||
* [https://github.com/douggilliland/lb-Arduino-Code/tree/master/libraries/LandBoards_MyMenu/examples MyMenu card example code] | * [https://github.com/douggilliland/lb-Arduino-Code/tree/master/libraries/LandBoards_MyMenu/examples MyMenu card example code] | ||
+ | |||
+ | === Display Library - V2 Version === | ||
+ | |||
+ | * V3 Version uses Oli Kraus' u8x8 library (part of u8g2 library) | ||
+ | * Oli Kraus' u8g2 OLED library | ||
+ | * Library can be installed through Arduino IDE | ||
+ | * Optional Land Board Menu System Code for OLED Displays - uses u8g2 | ||
+ | ** Sketch uses 8,354 bytes (25%) of program storage space. Maximum is 32,256 bytes. | ||
+ | ** Global variables use 780 bytes (38%) of dynamic memory, leaving 1,268 bytes for local variables. Maximum is 2,048 bytes. | ||
=== Driver/Example code === | === Driver/Example code === |
Revision as of 13:37, 25 January 2020
Contents
Features
MyMenu is a self contained menu system with these features:
- 0.96" OLED
- Menu Pushbuttons
- 5 Way Keypad (Up, Down, Left, Right, Select)
- Direction, Select buttons
- 2-wire I2C (VCC, GND, CLK, DATA) interface
- Selectable I2C address in range 0x20-0x27 (resistor install option)
- Interrupt output line on button press
- MCP23008 I2C Port Expander
- OLED connection - mounts OLED to card and shares I2C connection to Host
- 3 LEDs
- 49x49mm card with (4) 4-40 mounting holes
MCP23008 I2C Port Expander
GPIO Port Map GP0 - LED D3 GP1 - LED D2 GP2 - LED D1 GP3 - Select button 0 = pressed GP4 - Right button GP5 - Down button GP6 - Up button GP7 - Left button
OLED Display
- On ebay...
- There are several versions
- MyMenu requires
- 4-pin I2C version
- Rev X1-X3 requires pin Ordering VCC, GND,
Rev X3 Connectors
The card has a 5-pin, 0.1" spacing connector. The connector has I2C connections (CLK and DATA) plus an Interrupt line.
- GND
- VCC
- SDA
- SCL
- INT
The card has a 4-pin, 0.1" spacing connector for daisy-chaining. The connector has I2C connections (CLK and DATA).
- GND
- VCC
- SDA
- SCL
Arduino Libraries
- The Display library is decoupled from the MyMenu library and requires a separate install
MyMenu Card Library/Examples
- MyMenu library on GitHub
- Can download the ZIP file and use the ZIP library installer
- Card requires the Arduino Adafruit MCP23008 library
- Needs to be installed separately from the MyMenu library
- MCP23008 is the I2C interface chip that communicates with the buttons and LEDs
- Tested with Adafruit MCP23008 library version 1.0.1
- Driver is used to talk to the buttons/LEDs on the MyMenu card
- Driver can be installed from the Arduino IDE - search "Adafruit MCP23008"
- MyMenu card example code
Display Library - V2 Version
- V3 Version uses Oli Kraus' u8x8 library (part of u8g2 library)
- Oli Kraus' u8g2 OLED library
- Library can be installed through Arduino IDE
- Optional Land Board Menu System Code for OLED Displays - uses u8g2
- Sketch uses 8,354 bytes (25%) of program storage space. Maximum is 32,256 bytes.
- Global variables use 780 bytes (38%) of dynamic memory, leaving 1,268 bytes for local variables. Maximum is 2,048 bytes.