You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
RPi_WS2812b_LED/README.md

128 lines
4.0 KiB

# tickerPi
4 years ago
tickerPi is a Python Program to handle WS281X LED interactions on a Raspberry Pi
* WS2812b has only been tested at this time
## Authors
* **Justin Healy**
* **Vin Presciutti**
## Requirements
1. Python 3 - As Python 2 support is no longer available
2. Python 3 PIP
3. Python SMBus
4. RPI.GPIO
5. Adafruit Blinka
6. Adafruit Neopixel
7. RPI WS281X Libraries
8. Adafruit PixelFramebuffer
## Installation
1. Standard Updates for Raspberry Pi:
```
sudo apt-get update
sudo apt-get upgrade
sudo pip3 install --upgrade setuptools
```
* If this fails, try this and repeat step 1
```
sudo apt-get install python3-pip
```
* Recommended, but may not be required, setting your Python install to default with Python 3. There are multiple ways to do this, here's an example:
```
sudo apt-get install -y python3 git python3-pip
sudo update-alternatives --install /usr/bin/python python $(which python2) 1
sudo update-alternatives --install /usr/bin/python python $(which python3) 2
sudo update-alternatives --config python
```
2. Enabling I2C and SPI, which is only required to be done **once** for **each** Raspberry Pi:\
**Only Required if you are using multiple devices on your Raspberry Pi, if not, move to step 3**\
**Important:**
> If you are using a GPIO wiring setup for the LEDs that does not support I2C, you will not see anything show up for the LEDS.\
> Again, this is only for if you have **OTHER** devices you plan on hooking up to make sure they still show up under I2C
* Enabling I2C:
* From Command Line:
```
sudo apt-get install -y python-smbus
sudo apt-get install -y i2c-tools
sudo raspi-config
```
* Interfacing Options > I2C > Enable > Yes
> If you did not hit "finish" you can repeat these steps but change out the I2C for the SPI
* Enabling SPI:
* From Command Line:
```
sudo raspi-config
```
* Interfacing Options > SPI > Enable > Yes
* Click "Finish"
* Reboot your Raspberry Pi
```
sudo reboot
```
* Testing I2C and SPI after reboot:
* I2C Testing:
```
sudo i2cdetect -y 1
```
* If you do not get anything back from the above command, try seeing which I2C is being used under Dev:
```
ls /dev/i2c*
```
> Whichever number is after the "-" in "/dev/i2c-(X) is what you should replace the number in the command with
>> Example: /dev/i2c-3 = "sudo i2cdetect -y 3"
* SPI Testing:
```
ls -l /dev/spidev*
```
> This should return a device for each SPI bus (two)
3. Installing Python Support Libraries:
* GPIO - If not already installed:
```
sudo pip3 install RPI.GPIO
```
* Adafruit Blinka:
```
sudo pip3 install adafruit-blinka
```
* RPi WS281X and Neopixel:
```
sudo pip3 install rpi_ws281x adafruit-circuitpython-neopixel
sudo python3 -m pip install --force-reinstall adafruit-blinka
```
* PixelFramebuffer:
```
sudo pip3 install adafruit-circuitpython-pixel-framebuf
```
4. Changing Conflicting HDMI Settings:\
**Important:** Only do this if you are having issues with the LEDs, this is not always needed!\
```
sudo nano /boot/config.txt
```
* If it doesn't already exist, add:
```
hdmi_force_hotplug=1
hdmi_force_edid_audio=1
```
* Save and exit the file (ctrl + x > y)
* Reboot Raspberry Pi
```
sudo reboot
```
## Usage
TBD
## Contributing
TBD
## License
* [MIT](https://choosealicense.com/licenses/mit/)
> A copy of this can be found in the root directory of this project under "LICENSE"