Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/gavinlyonsrepo/hd44780_lcd_pcf8574_pico
Library to support the HD44780 LCD , (I2C PCF8574 "backpack" interface) for the RPI PICO RP2040 C++ SDK
https://github.com/gavinlyonsrepo/hd44780_lcd_pcf8574_pico
hd44780 hd44780-display i2c lcd lcd-display library pcf8574 pico pico-sdk raspberry-pi raspberry-pi-pico raspberrypi rp2040 rpi rpi-pico
Last synced: about 1 month ago
JSON representation
Library to support the HD44780 LCD , (I2C PCF8574 "backpack" interface) for the RPI PICO RP2040 C++ SDK
- Host: GitHub
- URL: https://github.com/gavinlyonsrepo/hd44780_lcd_pcf8574_pico
- Owner: gavinlyonsrepo
- License: gpl-3.0
- Created: 2022-12-15T22:58:06.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-01-10T14:33:06.000Z (12 months ago)
- Last Synced: 2024-01-10T16:56:53.996Z (12 months ago)
- Topics: hd44780, hd44780-display, i2c, lcd, lcd-display, library, pcf8574, pico, pico-sdk, raspberry-pi, raspberry-pi-pico, raspberrypi, rp2040, rpi, rpi-pico
- Language: C++
- Homepage:
- Size: 36.1 KB
- Stars: 2
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
[![Website](https://img.shields.io/badge/Website-Link-blue.svg)](https://gavinlyonsrepo.github.io/) [![Rss](https://img.shields.io/badge/Subscribe-RSS-yellow.svg)](https://gavinlyonsrepo.github.io//feed.xml) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/paypalme/whitelight976)
![ lcd ](https://github.com/gavinlyonsrepo/pic_16F1619_projects/blob/master/images/LCDPCF.jpg)
# HD44780_LCD_PCF8574_PICO
## Table of contents
* [Overview](#overview)
* [Example files](#example-files)
* [Software](#software)
* [Output](#output)
* [Notes](#notes)
## Overview* Name : HD44780_LCD_PCF8574_PICO
* Description :
0. Library to support the HD44780 LCD , (I2C PCF8574 "backpack" interface)
1. C++ library for the rp2040 PICO
2. Backlight, scroll, cursor and entry-mode control.
3. Custom character support + print class for numerical data.
4. Hardware I2C using SDK functions.
5. Tested on size 16x02 + 20x04
6. Can support both I2C ports. IC20 or IC21 selected by user.* Toolchain
1. Raspberry pi PICO RP2040
2. SDK C++ compiler G++ for arm-none-eabi
3. CMAKE , VScode* Port of my Arduino library at [link](https://github.com/gavinlyonsrepo/HD44780_LCD_PCF8574).
* Author: Gavin Lyons
## Example files
The example files are in example folder.
To build the one you want, edit the Cmaketxt file
add_executable(${PROJECT_NAME} section, comment in one example file path and one only.
The default is the HelloWorld one.1. examples/HelloWorld/main.cpp Basic usage.
2. examples/TestRun/main.cpp Test sequence for 16x02 LCD.
3. examples/TestRun20X04/main.cpp Test sequence for 20x04 LCD.
## SoftwareThere are four core files to library , The "print" base class provides a way to print numerical and other data types to screen.
1. HD44780_LCD_PCF8574.hpp
2. HD44780_LCD_PCF8574.cpp
3. HD44780_LCD_PCF8574_Print.hpp
4. HD44780_LCD_PCF8574_Print.cppThe user can enable basic "printf" I2C debug messages by setting the debug flag variable.
The I2C timeout is set to 50,000 uS and can also be adjusted if necessary .
Both I2C ports can be used, IC20 or IC21 selected by user.**API**
The API (application programming interface) html documentation is at link. Hosted on github pages and generated by Doxygen software. Here the user will find lots of information on files, functions & data types. This API is for the Arduino source port. It is very similar
expect constructor, init and de-init I2C method's will be different.[Software API Url Link](https://gavinlyonsrepo.github.io/misc/software_docs/HD44780_LCD_PCF8574/index.html)
## Output
Output of custom character test in testrun example file on 16x02 display.
![ pic ](https://github.com/gavinlyonsrepo/HD44780_LCD_RPI/blob/main/extras/image/custom_output.jpg)
20x04 display.
![ pic2 ](https://github.com/gavinlyonsrepo/HD44780_LCD_PCF8574/blob/main/extras/image/2004.jpg)
## Notes
For detailed graphical description of entry modes , cursor types, custom characters
and more see here [link](http://dinceraydin.com/lcd/commands.htm)16X04 board not tested but should work.