Jump to content

Recommended Posts

Geschrieben

Hallo  ;D,

 

wieder mal hab ich ein kleines Problemchen. Ich benutze NetIO um meine Bricks und Bricklets zu streuern. Nun komme ich aber nicht mit dem Shell Befehl des Quad Relays zurecht. Um das Relay zu schalten steht in der Doku

Setzt die Ausgabewerte mit einer Bitmaske. Die Bitmaske ist 16 Bit lang. true steht für ein geschlossenes Relais und false für ein offenes Relay.

 

Zum Beispiel: Der Wert 0b0000000000000011 wird die Relais 0-1 schließen und alle anderen öffnen.

 

Falls keine Gruppen verwendet werden (siehe set-group), entsprechen die Pins der Beschriftung auf dem Quad Relay Bricklet.

 

Wie sieht da der Befehl aus? Ich habs mit

call industrial-quad-relay-bricklet <uid> set-value 0 true

versucht aber klappt nicht. Ich finde die Doku etwas verwirrend und komme deshalb leider nicht weiter.

Geschrieben

Hast du dir das Beispiel oben drüber angeguckt?

 

Pin 0 schalten (20):

tinkerforge call industrial-quad-relay-bricklet $uid set-value 1

Pin 1 schalten (21):

tinkerforge call industrial-quad-relay-bricklet $uid set-value 2

Pin 2 schalten (22):

tinkerforge call industrial-quad-relay-bricklet $uid set-value 4

Pin 3 schalten (23):

tinkerforge call industrial-quad-relay-bricklet $uid set-value 8

 

Pin 2 und 3 schalten (22 + 23):

tinkerforge call industrial-quad-relay-bricklet $uid set-value 12

 

usw... :)

Geschrieben

Ich weiß nicht genau was du mit weiter oben meinst. Um ein bestimmtest Relay auszuschalten muss ich also dann set-value einfach leer lassen? z.B.

tinkerforge call industrial-quad-relay-bricklet $uid set-value

für alle Relays?

Geschrieben

Du setzt immer alle Relais gleichzeitig.

 

Angenommen du hast die Relais 1 und 2 an, dann ist der aktuelle Wert 6 = 21 + 22.

tinkerforge call industrial-quad-relay-bricklet $uid set-value 6

 

Wenn du nun Relais 1 ausschalten möchtest setzt du den Wert 4 = 22.

tinkerforge call industrial-quad-relay-bricklet $uid set-value 4

 

Vielleicht könnten auch die beiden Wikipediaartikel hier helfen:

http://de.wikipedia.org/wiki/Dualsystem

http://de.wikipedia.org/wiki/Bitmaske

Geschrieben

Also setze ich mit 0 alle zurück. Liege dich da nun richtig?  ;D

Wenn ich jetzt Relay0 aktiv habe und denn Befehl nur für Relay3 losschicke, ist ja dann nur noch der 3er aktiv. Kann ich auch den Zustand vom 1. speichern? Ich weiß ich bin heute wieder anstrengend :D

Geschrieben

Richtig, set-value mit 0 macht alle Relais aus, da set-value immer alle Relais setzt.

 

Wenn du jetzt nur ausgewählte Relais setzen willst ohne andere zu beeinflussen kannst du set-selected-values nehmen. Das nimmt zwei Bitmasken als Parameter. Mit der ersten wählst du welche Relais du überhaupt schalten möchtest und mit der zweiten bestimmst du wie diese geschaltet werden.

 

Wie bereicts bekannt: Relais 0 einschalten, alle anderen ausschalten: 20 = 1

 

tinkerforge call industrial-quad-relay-bricklet $uid set-value 1

 

Jetzt Nur Relais 3 einschalten, die anderen nicht ändern: 23 = 8

 

Mit 8 wird Relais 3 ausgewählt und auch eingeschaltet:

 

tinkerforge call industrial-quad-relay-bricklet $uid set-selected-values 8 8

 

Nur Relais 3 ausschalten:

 

tinkerforge call industrial-quad-relay-bricklet $uid set-selected-values 8 0

 

Mal was komplexeres: Relais 0 ausschalten und gleichzeitig Relais 1 ein. Dazu beide auswählen (20 + 21 = 3) und schalten (21 = 2):

 

tinkerforge call industrial-quad-relay-bricklet $uid set-selected-values 3 2

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Gast
Reply to this topic...

×   Du hast formatierten Text eingefügt.   Formatierung jetzt entfernen

  Only 75 emoji are allowed.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Clear editor

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

×
×
  • Neu erstellen...