diff --git a/README.md b/README.md index ba9bdb0..00048ac 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,50 @@ # uv-belichter-software -A collection of programs run on a Raspberry Pi Pico to control a uv exposure unit (mainly used for exposing PCBs) \ No newline at end of file +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](https://thonny.org/), open all the files present in this repository and then save them onto a [Raspberry Pi Pico](https://www.raspberrypi.com/products/raspberry-pi-pico/) (or [Pico 2](https://www.raspberrypi.com/products/raspberry-pi-pico-2/), but it's not tested on this platform yet). 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](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](https://randomnerdtutorials.com/raspberry-pi-pico-i2c-scanner-micropython/)). + + +## Used libraries + +- PCF8574T - a driver for the i2c multiplexer used to address the 2x16 lcd display +- [ProgramChooserAdapted](https://git.privacynerd.de/BlueFox/ProgramChooser) - 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](License).