Relais

Funktionsweise

Das Relais ist eine Komponente, welche es ermöglichen soll mit geringen Schaltströmen grosse Lasten zu schalten. So kann beispielsweise mit dem Raspberry Pi eine grosse Lampe geschaltet werden, ohne den Raspberry Pi zu beschädigen. Um eine Last zu verkabeln, stellt das Relais drei Anschlüsse zur Verfügung. Diese sind beim CrowPi mit ´NC, NO, COM´ beschriftet. Die Anschlüsse für die Ansteuerung durch den CrowPi sind wie auch bei den anderen Komponenten bereits fertig verkabelt.

Auf dem Schaltbild des Relais ist sehr gut zu erkennen, wie das Relais zu benutzen ist. Dabei stellt das Schaltsymbol immer den stromlosen Zustand einer Komponente dar. Also der digitale Ausgang im Status LOW ist.
Schaltung des Relais Auf dem Bild stellt das Rechteck die Spule des Relais dar. Wenn die Spule unter Strom gesetzt wird, bewegt sich der Kontakt entsprechend auf die andere Position. So kann ein Stromkreis jeweils zwischen COM - NC oder COM - NO geschlossen werden.

Beim im CrowPi verbauten Relais handelt es sich um ein 24VDC/3A oder 120VAC/3A Produkt. Diese technische Spezifikation ist zwingend zu beachten. Überlastung des Relais kann den CrowPi beschädigen. Es besteht Brandgefahr!

Voraussetzungen

DIP Switches

Für diese Komponente werden keine spezifischen DIP-Switches benötigt, sodass diese in der Standardkonfiguration belassen werden können:

ON(links)12345678ON(rechts)12345678

Verwendung

Nachfolgend wird die Verwendung der Klasse com.pi4j.crowpi.components.RelayComponent Javadoc beschrieben.

Konstruktoren

KonstruktorBemerkung
RelayComponent(com.pi4j.context.Context pi4j)Initialisiert ein Relais mit dem Standard-Pin für den CrowPi.
RelayComponent(com.pi4j.context.Context pi4j, int address)Initialisiert eine Relais mit einem benutzerdefinierten Pin.

Methoden

MethodeBemerkung
void setStateOn()Schaltet das Relais ein.
void setStateOff()Schaltet das Relais aus.
boolean toggleState()Wechselt den Zustand des Relais abhängigen vom aktuellen Zustand. Gibt den neuen Zustand als boolean zurück.
void setState(boolean on)Setzt den aktuellen Zustand des Relais auf den Wert des boolean on.

Beispielapplikation

Die Beispielapplikation initialisiert kurz das Relais. Danach wird es einige Male hin und her geschaltet, um das Toggle zu demonstrieren. Alles in allem eine kurze und kompakte Anwendung. Die Herausforderung bei einem Relais liegt mehr in der richtigen Verkabelung als in der Software.

Pfad zum Codebeispiel: src/main/java/com/pi4j/crowpi/applications/RelayApp.java
Auf GitHub ansehen
package com.pi4j.crowpi.applications;

import com.pi4j.context.Context;
import com.pi4j.crowpi.Application;
import com.pi4j.crowpi.components.RelayComponent;

/**
 * This example shows how to use the relay component by creating a clock-like sound by repeatedly toggling the relay on and off.
 */
public class RelayApp implements Application {
    @Override
    public void execute(Context pi4j) {
        // Create a new RelayComponent with default Pin
        RelayComponent relay = new RelayComponent(pi4j);

        // Turn on the relay to have a defined state
        relay.setStateOn();
        sleep(1000);

        // Make a clock alike sound by toggle the relay every second once
        for (int i = 0; i < 10; i++) {
            System.out.println(relay.toggleState());
            sleep(1000);
        }

        // That's all so turn off the relay and quit
        relay.setStateOff();
        System.out.println("off");
        sleep(2000);
    }
}

Weitere Möglichkeiten

  • Eine eigene Komponente wie einen kleinen PC Lüfter oder ähnliches korrekt an das Relais verkabeln und dann eine Steuerung davon programmieren.
  • Eine LED korrekt verkabeln und mit dem Lichtsensor kombinieren, damit diese sich bei Dunkelheit automatisch einschaltet.