# RPiLCD
[](https://deepwiki.com/Exploit34/RPiLCD)
🐍📟 RPiLCD is a Python library for controlling LCD character displays on the Raspberry Pi. It's designed to be easy, flexible, and compatible with I2C interfaces, making it perfect for your hardware projects.
## Features
* **Simple Interface:** Provides an easy-to-use API for writing text, clearing the screen, and controlling the cursor.
* **I2C Support:** Works seamlessly with common I2C LCD backpack modules, saving you GPIO pins.
* **Lightweight:** Minimal dependencies, ensuring it's light on resources.
* **Flexible:** Easily integrate LCD display functionality into your Python scripts and applications running on a Raspberry Pi.
## Installation
You can install the library using pip:
```bash
pip install rpilcd
poetry install
```
The library depends on `smbus` for I2C communication and `RPi.GPIO` for pin control. These will be installed automatically.
## Usage
Here is a basic example of how to initialize an I2C LCD and write text to it.
```python
import time
from RPiLCD import LCD
# Assuming a 16x2 LCD with I2C address 0x27
# lcd = LCD(address=0x27, port=1, cols=16, rows=2)
# The library needs to be implemented. This is a placeholder for usage.
# A typical implementation would look like this:
class MockLCD:
def __init__(self, address, port, cols, rows):
print(f"Initializing LCD at address {address} on port {port} ({cols}x{rows})")
def text(self, message, line):
print(f"Writing to line {line}: {message}")
def clear(self):
print("Clearing the display.")
# Initialize the display
lcd = MockLCD(address=0x27, port=1, cols=16, rows=2)
try:
# Clear the display
lcd.clear()
# Write a message to the first line
lcd.text("Hello, World!", 1)
# Write a message to the second line
lcd.text("RPiLCD in action", 2)
time.sleep(5) # Wait for 5 seconds
lcd.clear()
except KeyboardInterrupt:
print("Program stopped.")
lcd.clear()
```
## Dependencies
* [smbus](https://pypi.org/project/smbus-cffi/) or [smbus2](https://pypi.org/project/smbus2/)
* [RPi.GPIO](https://pypi.org/project/RPi.GPIO/)
## License
This project is licensed under the GNU Lesser General Public License v2.1. See the [LICENSE](LICENSE) file for more details.
Raw data
{
"_id": null,
"home_page": null,
"name": "rpilcd_exploit34",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.10",
"maintainer_email": null,
"keywords": "raspberrypi, lcd, i2c, display",
"author": "Esteban, herrerazanecheverry@gmail.com",
"author_email": null,
"download_url": "https://files.pythonhosted.org/packages/21/d7/2ca3d9ee82c17db6ee71e9add6dd2f29e6e2462fa15823a1b9849a648a96/rpilcd_exploit34-0.1.0.tar.gz",
"platform": null,
"description": "# RPiLCD\n[](https://deepwiki.com/Exploit34/RPiLCD)\n\n\ud83d\udc0d\ud83d\udcdf RPiLCD is a Python library for controlling LCD character displays on the Raspberry Pi. It's designed to be easy, flexible, and compatible with I2C interfaces, making it perfect for your hardware projects.\n\n## Features\n\n* **Simple Interface:** Provides an easy-to-use API for writing text, clearing the screen, and controlling the cursor.\n* **I2C Support:** Works seamlessly with common I2C LCD backpack modules, saving you GPIO pins.\n* **Lightweight:** Minimal dependencies, ensuring it's light on resources.\n* **Flexible:** Easily integrate LCD display functionality into your Python scripts and applications running on a Raspberry Pi.\n\n## Installation\n\nYou can install the library using pip:\n\n```bash\npip install rpilcd\n\npoetry install\n```\n\nThe library depends on `smbus` for I2C communication and `RPi.GPIO` for pin control. These will be installed automatically.\n\n## Usage\n\nHere is a basic example of how to initialize an I2C LCD and write text to it.\n\n```python\nimport time\nfrom RPiLCD import LCD\n\n# Assuming a 16x2 LCD with I2C address 0x27\n# lcd = LCD(address=0x27, port=1, cols=16, rows=2)\n\n# The library needs to be implemented. This is a placeholder for usage.\n# A typical implementation would look like this:\n\nclass MockLCD:\n def __init__(self, address, port, cols, rows):\n print(f\"Initializing LCD at address {address} on port {port} ({cols}x{rows})\")\n\n def text(self, message, line):\n print(f\"Writing to line {line}: {message}\")\n\n def clear(self):\n print(\"Clearing the display.\")\n\n# Initialize the display\nlcd = MockLCD(address=0x27, port=1, cols=16, rows=2)\n\ntry:\n # Clear the display\n lcd.clear()\n\n # Write a message to the first line\n lcd.text(\"Hello, World!\", 1)\n\n # Write a message to the second line\n lcd.text(\"RPiLCD in action\", 2)\n\n time.sleep(5) # Wait for 5 seconds\n\n lcd.clear()\n\nexcept KeyboardInterrupt:\n print(\"Program stopped.\")\n lcd.clear()\n\n```\n\n## Dependencies\n\n* [smbus](https://pypi.org/project/smbus-cffi/) or [smbus2](https://pypi.org/project/smbus2/)\n* [RPi.GPIO](https://pypi.org/project/RPi.GPIO/)\n\n## License\n\nThis project is licensed under the GNU Lesser General Public License v2.1. See the [LICENSE](LICENSE) file for more details.",
"bugtrack_url": null,
"license": "LGPL",
"summary": "Esta librer\u00eda es para el manejo de pantallas LCD en la Raspberry Pi",
"version": "0.1.0",
"project_urls": null,
"split_keywords": [
"raspberrypi",
" lcd",
" i2c",
" display"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "e84d15c1e1f4a3d2bd6844646a4c86fbf2d915666b3e53a44c1608402d6a35ca",
"md5": "cb2f61acf910d7b194020e56af28ace0",
"sha256": "1247f672763a1a3a7759738d20de68b504b21f6bfe76fe809a3154b9b88a496f"
},
"downloads": -1,
"filename": "rpilcd_exploit34-0.1.0-py3-none-any.whl",
"has_sig": false,
"md5_digest": "cb2f61acf910d7b194020e56af28ace0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.10",
"size": 13927,
"upload_time": "2025-08-08T05:45:14",
"upload_time_iso_8601": "2025-08-08T05:45:14.068298Z",
"url": "https://files.pythonhosted.org/packages/e8/4d/15c1e1f4a3d2bd6844646a4c86fbf2d915666b3e53a44c1608402d6a35ca/rpilcd_exploit34-0.1.0-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "21d72ca3d9ee82c17db6ee71e9add6dd2f29e6e2462fa15823a1b9849a648a96",
"md5": "2bc060133ae7f33fd0593cb0730fc8f0",
"sha256": "4bdabe828161f4494e39e31de490aaa658339b7ef94385206a736652a237be74"
},
"downloads": -1,
"filename": "rpilcd_exploit34-0.1.0.tar.gz",
"has_sig": false,
"md5_digest": "2bc060133ae7f33fd0593cb0730fc8f0",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.10",
"size": 12675,
"upload_time": "2025-08-08T05:45:15",
"upload_time_iso_8601": "2025-08-08T05:45:15.460562Z",
"url": "https://files.pythonhosted.org/packages/21/d7/2ca3d9ee82c17db6ee71e9add6dd2f29e6e2462fa15823a1b9849a648a96/rpilcd_exploit34-0.1.0.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-08-08 05:45:15",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "rpilcd_exploit34"
}