-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
103 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,58 @@ | ||
# RGB-LED-IR-Control-RPi | ||
Control RGB-LED-Stripes with a Raspberry Pi using LIRC and Python | ||
# RGB-LED IR-Steuerung | ||
RGB-LED-Stripes per Raspberry Pi mit LIRC und Python steuern. | ||
|
||
## Hardware Vorbereitung | ||
An GPIO24 wird eine IR-LED angeschlossen. Andere Ports sollten auch funktionieren, jedoch muss die Config später angepasst werden. \ | ||
Optimal: Mit einem Transistor lässt sich die Reichweite erhöhen. \ | ||
Optimal: Zusätzlich kann ein IR-Receiver (an GPIO23) angeschlossen werden, um neue IR-Signale anzulernen. | ||
|
||
#### Schaltplan | ||
![Schaltplan](schematics.png) | ||
|
||
## Software | ||
- Paketquellen aktualisieren: `sudo apt update` | ||
|
||
#### LIRC installieren | ||
Folgende Anleitungen können hilfreich sein: | ||
- [https://indibit.de/raspberry-pi-mit-lirc-infrarot-befehle-senden-irsend/](https://indibit.de/raspberry-pi-mit-lirc-infrarot-befehle-senden-irsend/) | ||
- [https://gist.github.com/billpatrianakos/cb72e984d4730043fe79cbe5fc8f7941](https://gist.github.com/billpatrianakos/cb72e984d4730043fe79cbe5fc8f7941) | ||
|
||
Diese Schritte sind nötig: | ||
- LIRC installieren: `sudo apt install lirc` | ||
|
||
- Boot-Config anpassen: `sudo nano /boot/config.txt` | ||
|
||
Die beiden Zeilen werden einkommentiert: | ||
``` | ||
dtoverlay=gpio-ir,gpio_pin=23 | ||
dtoverlay=gpio-ir-tx,gpio_pin=24 | ||
``` | ||
Gegenfalls hier die Ports anpassen. | ||
|
||
- LIRC-Config anpassen: `sudo nano /etc/lirc/lirc_options.conf` | ||
|
||
``` | ||
driver = default | ||
device = /dev/lirc0 | ||
``` | ||
*/dev/lirc0* ist der Sender. \ | ||
*/dev/lirc1* ist der Empfänger. | ||
|
||
- `sudo mv /etc/lirc/lircd.conf.d/devinput.lircd.conf /etc/lirc/lircd.conf.d/devinput.lircd.conf.dist` | ||
|
||
- LIRC-FB-Config kopieren: Die Datei [rgbled.lircd.conf](rgbled.lircd.conf) wird in den Ordner _/etc/lirc/lircd.conf.d/_ kopiert. Gefunden habe ich die Datei [hier](https://raw.githubusercontent.com/bitboxx/raspberry-pi-lirc-rgbled-remote-emulator/master/etc/lirc/nec-rgb-led.conf). | ||
|
||
- Raspberry Pi neustarten: `sudo reboot` | ||
|
||
#### Optimal: IR-Empfänger testen (wenn angeschlossen) | ||
- LIRC-Service stoppen: `sudo systemctl stop lircd` | ||
- `mode2 -d /dev/lirc1` | ||
- Wenn nun Buttons auf einer IR-Fernbedienung in der Nähe gedrückt werden sollte eine Ausgabe erscheinen. | ||
- Das Anlernen neuer Fernbedienungen mit `irrecord` ist in den beiden verlinkten Anleitungen beschrieben. | ||
- LIRC-Service wieder starten: `sudo systemctl start lircd` | ||
|
||
#### IR-Sender testen | ||
- LIRC-Service starten: `sudo systemctl start lircd` | ||
- Gespeicherte Buttons ausgeben: `irsend LIST rgbled ""` | ||
- Einzelne Codes senden: `irsend SEND_ONCE rgbled <Button-Name>` also z.B. `irsend SEND_ONCE rgbled ON` | ||
- Sollte das nicht funktionieren ist die Fernbedienungsconfig nicht geeignet, sodass die Fernbedienung manuell angelernt werden muss. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,45 @@ | ||
# RGB LED Remote (NEC protocol) LIRC configuration file | ||
|
||
begin remote | ||
|
||
name RGBLED | ||
bits 16 | ||
flags SPACE_ENC|CONST_LENGTH | ||
eps 30 | ||
aeps 100 | ||
header 8997 4495 | ||
one 553 1689 | ||
zero 553 568 | ||
ptrail 550 | ||
repeat 8999 2253 | ||
pre_data_bits 16 | ||
pre_data 0xFF | ||
gap 107669 | ||
toggle_bit_mask 0x0 | ||
|
||
begin codes | ||
ON 0xF7C03F | ||
OFF 0xF740BF | ||
|
||
WHITE 0xF7E01F | ||
RED 0xF720DF | ||
GREEN 0xF7A05F | ||
BLUE 0xF7609F | ||
|
||
ORANGE 0xF710EF | ||
YELLOW_DARK 0xF730CF | ||
YELLOW_LIME 0xF708F7 | ||
YELLOW_GREENISH 0xF728D7 | ||
|
||
TURQUOISE 0xF7906F | ||
TURQUOISE_LIGHT 0xF7B04F | ||
BLUE_LIGHT 0xF78877 | ||
BLUE_PASTEL 0xF7A857 | ||
|
||
BLUE_PURPLE 0xF750AF | ||
PURPLE_DARK 0xF7708F | ||
PURPLE_PINKISH 0xF748B7 | ||
PINK 0xF76897 | ||
end codes | ||
|
||
end remote |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.