lib | ||
config.json | ||
input_tests.py | ||
lcd_big_hello.py | ||
LICENSE | ||
main.py | ||
README.md | ||
utils.py |
uv-belichter-software
A collection of programs run on a Raspberry Pi Pico to control a uv exposure unit (mainly used for exposing PCBs)
Hardware
This program is strongly customized to my needs, and my DIY exposure unit has two buttons and one switch to interact with the software (and a power switch FWIW). Also, a 16*2 display (maybe 20*4 or others do also work, but these are not tested) can show information to the user. A relais is used for switching all the LEDs.
Device Pin | Pi Pico Pin |
---|---|
BTN_1 Pin 1 | 3.3V |
BTN_1 Pin 2 | GPIO15 |
BTN_2 Pin 1 | 3.3V |
BTN_2 Pin 2 | GPIO14 |
SWITCH Pin 1 | 3.3V |
SWITCH Pin 2 | GPIO13 |
LCD SDA | GPIO8 |
LCD SCL | GPIO9 |
LCD GND | GND |
LCD VCC | 5V |
Relais control pin | GPIO21 |
Installation
To install this, use Thonny, open all the files present in this repository and then save them onto a Raspberry Pi Pico (or Pico 2, but it's not tested on this platform yet) running MicroPython. Then, given you followed above wiring, it should just be running! Then you can jump over the configuration section.
Configuration
All the configuration can be done in the config.py file, just have a look around there. Some hints for editing this file:
-
When editing the startup section strings, make sure the "STARTUP_PROJECT_NAME" and the "STARTUP_MESSAGE_FINISHED" values have the same length as your display can show (likely 16 characters). Otherwise it could be that some things won't be displayed correctly.
-
When changing Pins in the Pinout section, make sure to follow the pinout assignment of your Pi Pico board (e.g. the i2c sda and scl pins)
-
If your display doesn't work properly - the first issue might be a wrong i2c address. To find the address of your display, just follow some of the tutorials on the internet on scanning for i2c devices (e.g. here).
Used libraries
- PCF8574T - a driver for the i2c multiplexer used to address the 2x16 lcd display
- ProgramChooserAdapted - an adapted version of ProgramChooser (but I'm planning to merge my changes to the upstream Programchooser)
License
This project is licensed under GPL-3.0-or-later. See LICENSE.