BCD-Codierung

Mit Hilfe eines BCD-Dreh-Codierschalter (ca. € 3,- beim Elektronikversender) und dem IPS-Nanoterminal
habe ich mir einen kleinen „Wecker“ gebaut. Die 9 Weckzeiten sind fest und müssen im Skript hinterlegt werden.
Das 0 Wecker AUS bedeutet versteht sich hoffentlich von selbst :rolleyes:
Anstelle der Weckzeiten können auch Szenarien oder Temperaturen verwendet werden.
Die 8 I/O’s des 2408 sind wie folgt belegt (siehe auch hier):

1 bis 4: BCD-Code (hier 10 Stellungen)
5 und 6: DUO-LED (oder ein I/O für einen PIRI)
7: Piezo Summer
8: Quittierung-Taster

Zusätzlich kann ein Temperatursensor DS18B20 und ein Lichtsensorverbaut werden.
Das verwendete Gehäuse ist dies- Dank an Thomas.
Wenn wir einmal mehr Zeit haben, wird es hierzu ein passendes Skript bzw. Brick geben …

MST

… hier auf fürs erste ein kleines Skript zur Auswertung …

$bcd_1 = !GetValueBoolean("BCD_1") * 1;
$bcd_2 = !GetValueBoolean("BCD_2") * 2;
$bcd_4 = !GetValueBoolean("BCD_4") * 4;
$bcd_8 = !GetValueBoolean("BCD_8") * 8;
$stellung = $bcd_1 + $bcd_2 + $bcd_4  + $bcd_8;
echo "Stellung: $stellung
";

switch($stellung) {
   case 0:
      echo "Wecker AUS";
      // Befehle
   break;
   case 1:
      echo "Weckzeit 1";
      // Befehle
   break;
   case 2:
      echo "Weckzeit 2";
       // Befehle
   break;
// usw. bis 9

}

Die Variablen BCD_x wurden den jeweiligen Eingängen des 2408 zugeordnet.

MST

Hallo Steiner,
mit welchen Zyklus fragst du den Baustein ab.
Bzw. wie löst du das mit dem Quittierungstaster??

Gruss

Bastelwasti

Hallo Bastelwasti,

wir das Abfragen der BCD Codierung würde ein 5 Minuten Zyklus völlig ausreichen.
Da ich aber „zeitnah“ den Piezo Summer (Wecksignal) ausschalten (Quittierung-Taster) möchte habe ich hier 5 Sekunden gewählt.

MST