Homepage Wiki Forum Buy

Relais

Aus GNUBLIN

Schwierigkeitsgrad Voraussetzung Gnublin Familie
Gnublin logo easy.png Grundkenntnisse Konsole Alle

Inhaltsverzeichnis


Mit dem Relaismodul ist es möglich 8 Relais in sein Projekt einzubinden, welche bequem über zwei Programme (gnublin-relay, gnublin-pca9555) oder über das Gpio-Sysfs angesteuert werden können.

MODULE-RELAY schraeg.jpg


Ansteuerung mit gnublin-relay

Die einfachste Ansteuerungsmöglichkeit bietet das Programm gnublin-relay.Es wird folgendermaßen aufgerufen:

root@gnublin:~# gnublin-relay -o 1 -p 1

oder

root@gnublin:~# gnublin-relay -o 0 -p 1

Bzw. mit -p 1 oder -p 2 bis maximal -p 8.

Um den aktuellen Zustand eines Relais abzufragen, verwendet man -r als Parameter:

root@gnublin:~# gnublin-relay -p 1 -r


Sollte das Modul nicht an der Standard-I2C-Adresse 0x20 liegen, so muss die entsprechende Adresse mit angegeben werden.

root@gnublin:~# gnublin-relay -a 0x22 -o 1 -p 2

Die Hilfe gibt einem einen Überblick über alle vorhandenen Parameter.

root@gnublin:~# gnublin-relay -h
This program was designed to easily interact with the relay module for GNUBLIN.
-h show this help
-p <Y> specify the relay number (1-8)
-o <value> set pin as output with given <value>(0= low / 1 = high)
-a <Address> specifiy the module address (default is 0x20)
-j show output in json format
-b show output in raw format
Examples:
Set relay 1 high
gnublin-relay -p 1 -o 1
Set relay 1 on a Module connected to Address 0x21 low
gnublin-relay -a 0x21 -p 1 -o 0

Ansteuerung mit gnublin-pca9555

Die Ansteuerung kann auch auf eine andere Methode (Gnublin Distribution ab 18.1.13) mit

root@gnublin:~# gnublin-pca9555 -o 1 -p 0

oder

root@gnublin:~# gnublin-pca9555 -o 0 -p 0

erfolgen. Bzw. mit -p 1 oder -p 2 bis maximal -p 7.

Die Adresse des Moduls kann auch hier wieder angegeben werden, sollte sie vom Standardwert abweichen.

root@gnublin:~# gnublin-pca9555 -a 0x21 -o 1 -p 1

Ansteuerung über gnublin-gpio

Zuerst muss der Treiber folgendermaßen geladen werden, falls man das Relais mit dem Programm gnublin-gpio ansteuern möchte:

root@gnublin:~# modprobe pca953x cnt=<Int> addr1=<I2C-Adresse>
  1. cnt gibt die Anzahl der angesteckten Port-Expanders an (default=1)
  2. addr1 gibt die I2C-Adresse des ersten Port-Expanders an (Hex)
  3. addr2 gibt die I2C_Adresse des zweiten Port-Expanders an (Hex)
  4. addr3, addr4 , und addr5 analog zu addr1

Hat man zum Beispiel eine Relais-Karte an der Adresse 0x20 hängen so tippt man folgendes ein:

root@gnublin:~# modprobe pca953x addr1=0x20

Hat man zum Beispiel zwei Relais-Karten an den Adressen 0x20 und 0x24 hängen, so tippt man folgendes ein:

root@gnublin:~# modprobe pca953x cnt=2 addr1=0x20 addr2=0x24

Die Adressen der Relais-Karte ergeben sich, je nachdem wie die Adressjumper gesteckt sind.

Mit i2cdetect -y 1 kann man sich die Adressen der angeschlossenen und erkannten I2C-Geräte anzeigen lassen. Wobei die Relais-Karten im Bereich von 0x20 und 0x27 liegen.

Relais als Ausgang

Den Wert eines Relais lässt sich nun folgendermaßen setzten:

root@gnublin:~# gnublin-gpio -o 1 -p 98

Dieser Befehl setzt Relais 0 als Ausgang und den Pegel auf HIGH.

Mit

root@gnublin:~# gnublin-gpio -o 0 -p 98

kann man den Pegel wieder auf LOW bringen.

Relais Wert auslesen

Denn Wert eines Relais kann man wie folgt auslesen:

root@gnublin:~# gnublin-gpio -i -p <pin>

Der Wert <pin> steht für den zu verwendeten GPIO Pin. Im nächsten Abschnitt sind die Relais und die dazugehörigen Werte für <pin> notiert.


Relais und Werte für Gpio-sysfs

Hier ist eine Tabelle für die Relais und der dazugehörigen Nummer im gpio-sysfs. Die Ansteuerung erfolgt analog zu dem Beispiel mit gpio98.

PCA9555 Pin Wert für /sys/class/gpio/export
Relais 0 98
Relais 1 99
Relais 2 100
Relais 3 101
Relais 4 102
Relais 5 103
Relais 6 104
Relais 7 105
In anderen Sprachen