Raspberry Pi Lcd Menu #piday #raspberrypi @Raspberry_Pi

Menu System for LCD Plates, shared on the Adafruit Forums:

A menu driven application template for the Adafruit LCD Plates on a Raspberry Pi.

It provides a simple way to navigate a nested set of menus, and run various functions, by pressing the buttons on the Adafruit LCD Plate. Included is a way to determine the IP address of the Pi when running headless. Also, allows the user to select from a large list of choices (using List Selector), by cycling through letters vertically and horizontally. It uses an XML file to configure the menu structure, and processes tags to enable different options. XML element support includes:

  • folders, for organizing menus.
  • widgets, which are really just functions to call in the code.
  • run, which allows you to run any command and see the output on the LCD.

It assumes the user has the LCD Plate from Adafruit already attached. It is also possible to make a quick modification to the LCD libraries to detect if the LCD is attached before progressing into the app. Support is included also to turn on the LCD to different colors. (at least for the 16×2 positive LCD plate) You can also launch the Python based application from /etc/init.d using the provided init file. In that mode, you can launch right into the application without keyboard or monitor, yet still determine the IP address, change networks if you like, or any other capability you build in. Obviously double check the content of the provided init file before use. Also note that once you put it in init.d, if you don’t actually connect the LCD, you may find lots of error messages. You may want to test for presence of the LCD before running it. Included also is an approach to switch networks from the UI, in case you want to switch between different network layouts if you travel with it.

Some of the canned menu items are functional, but other are place holders to spawn ideas. Such as using gphoto2 to trigger camera operations. Or using the ephem library to do astronomy calculations.

BTW, the ListSelector relies on using the LCD plate’s blink cursor capability. As of this writing, it had a bug, where you need to modify the LCD code to define a blink method, similar to the other cursor methods. Notice there are two noBlinks, so change one to blink and change the code to do the right thing.

Written by Alan Aufderheide

Read more.

Featured Adafruit Product


Adafruit RGB Positive 16×2 LCD+Keypad Kit for Raspberry Pi: This new Adafruit Pi Plate makes it easy to use an RGB 16×2 Character LCD. We really like the RGB Character LCDs we stock in the shop. (For RGB we have RGB negative and RGB positive.) Unfortunately, these LCDs do require quite a few digital pins, 6 to control the LCD and then another 3 to control the RGB backlight for a total of 9 pins. That’s nearly all the GPIO available on a Pi! With this in mind, we wanted to make it easier for people to get these LCD into their projects so we devised a Pi plate that lets you control a 16×2 Character LCD, up to 3 backlight pins AND 5 keypad pins using only the two I2C pins on the R-Pi! The best part is you don’t really lose those two pins either, since you can stick i2c-based sensors, RTCs, etc and have them share the I2C bus. This is a super slick way to add a display without all the wiring hassle. (read more)

998Each Friday is PiDay here at Adafruit, be sure to check out our posts, tutorials and new Raspberry Pi related products. Have you tried the new “Adafruit Raspberry Pi Educational Linux Distro” ? It’s our tweaked distribution for teaching electronics using the Raspberry Pi. But wait, there’s more! Try our new Raspberry Pi WebIDE! The easiest way to learn programming on a Raspberry Pi.

We now have Raspberry Pi Model B with 512MB RAM in stock and shipping now!

Adafruit publishes a wide range of writing and video content, including interviews and reporting on the maker market and the wider technology world. Our standards page is intended as a guide to best practices that Adafruit uses, as well as an outline of the ethical standards Adafruit aspires to. While Adafruit is not an independent journalistic institution, Adafruit strives to be a fair, informative, and positive voice within the community – check it out here: adafruit.com/editorialstandards

Join Adafruit on Mastodon

Adafruit is on Mastodon, join in! adafruit.com/mastodon

Stop breadboarding and soldering – start making immediately! Adafruit’s Circuit Playground is jam-packed with LEDs, sensors, buttons, alligator clip pads and more. Build projects with Circuit Playground in a few minutes with the drag-and-drop MakeCode programming site, learn computer science using the CS Discoveries class on code.org, jump into CircuitPython to learn Python and hardware together, TinyGO, or even use the Arduino IDE. Circuit Playground Express is the newest and best Circuit Playground board, with support for CircuitPython, MakeCode, and Arduino. It has a powerful processor, 10 NeoPixels, mini speaker, InfraRed receive and transmit, two buttons, a switch, 14 alligator clip pads, and lots of sensors: capacitive touch, IR proximity, temperature, light, motion and sound. A whole wide world of electronics and coding is waiting for you, and it fits in the palm of your hand.

Have an amazing project to share? The Electronics Show and Tell is every Wednesday at 7pm ET! To join, head over to YouTube and check out the show’s live chat – we’ll post the link there.

Join us every Wednesday night at 8pm ET for Ask an Engineer!

Join over 36,000+ makers on Adafruit’s Discord channels and be part of the community! http://adafru.it/discord

CircuitPython – The easiest way to program microcontrollers – CircuitPython.org

Maker Business — “Packaging” chips in the US

Wearables — Enclosures help fight body humidity in costumes

Electronics — Transformers: More than meets the eye!

Python for Microcontrollers — Python on Microcontrollers Newsletter: Silicon Labs introduces CircuitPython support, and more! #CircuitPython #Python #micropython @ThePSF @Raspberry_Pi

Adafruit IoT Monthly — Guardian Robot, Weather-wise Umbrella Stand, and more!

Microsoft MakeCode — MakeCode Thank You!

EYE on NPI — Maxim’s Himalaya uSLIC Step-Down Power Module #EyeOnNPI @maximintegrated @digikey

New Products – Adafruit Industries – Makers, hackers, artists, designers and engineers! — #NewProds 7/19/23 Feat. Adafruit Matrix Portal S3 CircuitPython Powered Internet Display!

Get the only spam-free daily newsletter about wearables, running a "maker business", electronic tips and more! Subscribe at AdafruitDaily.com !

No Comments

No comments yet.

Sorry, the comment form is closed at this time.