Difference between revisions of "MyMenu"

From Land Boards Wiki
Jump to navigation Jump to search
Line 68: Line 68:
  
 
* [https://github.com/douggilliland/lb-Arduino-Code/tree/master/libraries/LandBoards_MyMenu MyMenu library on GitHub]
 
* [https://github.com/douggilliland/lb-Arduino-Code/tree/master/libraries/LandBoards_MyMenu MyMenu library on GitHub]
* Can download the ZIP file and use the ZIP library installer
+
** Can download the ZIP file and use the ZIP library installer
 
* Card requires the Arduino Adafruit MCP23008 library
 
* Card requires the Arduino Adafruit MCP23008 library
* Needs to be installed separately from the MyMenu library
+
** Needs to be installed separately from the MyMenu library
* MCP23008 is the I2C interface chip that communicates with the buttons and LEDs
+
** MCP23008 is the I2C interface chip that communicates with the buttons and LEDs
* Tested with Adafruit MCP23008 library version 1.0.1
+
** Tested with Adafruit MCP23008 library version 1.0.1
* Driver is used to talk to the buttons/LEDs on the MyMenu card
+
** Driver is used to talk to the buttons/LEDs on the MyMenu card
* 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]
  

Revision as of 13:36, 25 January 2020

MyMenu-CCA-X3 5793-800px.jpg

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

Data Sheet

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.

  1. GND
  2. VCC
  3. SDA
  4. SCL
  5. INT

The card has a 4-pin, 0.1" spacing connector for daisy-chaining. The connector has I2C connections (CLK and DATA).

  1. GND
  2. VCC
  3. SDA
  4. 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

Driver/Example code

Parts List