8 Tasten & 16 LED´s Raumtaster über RS232

Hier stelle ich nun mein 8fach Taster vor der pro Taste 2 LED´s zur Meldung besitzt.

Das ganze ist mit einem Atmega aufgebaut der per seriell Verbindung mit dem IPS PC aufnimmt. Da der Controller eine ID besitzt können auch mehrere Controller an einem Seriellen Port hängen. Die Ports des Mega8 aus den anderen Projekten reichten nicht mehr aus.
Es können nun 8 Befehle gesendet werden die mit einer roten und/oder grünen LED bestätigt werden, die auch blinken können.
Statt der LED´s können aber z.B. auch Relais angesteuert werden.

Die Programmierung des µC hab ich wieder nicht selbt, sondern Tobi für mich erledigt:) danke!

Der Befehl für die LED´s im Skript:


COMPort_SendText(12345,"\xffIf\0\1\xfe"); // Beispiel LED 0 und 1 sollen Blinken...

COMPort_SendText(12345, "\xffIe\0\xfe"); //Beispiel LEDs 0 aus...

12345 = ID des seriellen Ports
I = ID des µC´s der auf den Befehl hören soll (hier I)
f = Befehl (was soll passieren)
0 = LED Nr. 0
1 = und LED Nr. 1

Befehle:
d = LED geht an
f = LED soll blinken
e = LED geht aus
LED´s = 0…15

Wenn eine Taste gedrückt wird sendet der µC das eine Taste gedrückt wurde, welche und welcher Controller sendet.


<?


$teile = explode(";", $IPS_VALUE);

// Der Sender heißt "I"
// Das entspricht dann 8 Tasten + 16 LED Controller bei Jan
$sender = $teile[0]{1};

$typ = $teile[0]{2};

if($typ == "t") //t=Taste
{
  $taste = rtrim($teile[1]);

if($typ == "t") //t=Taste
{
  // Taste am Raumdisplay
  $taste = rtrim($teile[1]);
echo ($taste);
echo ($sender);
  switch($sender)
  {
	  case "I":
	  // Raum x
  	  switch($taste)
	  {
		 case "1":
			echo "Taste 1 Gerät I";
			IPS_RunScript(30105 /*[Sonstige Aktoren\87 Drucker schalten]*/);
			break;
			
		 case "2":
			echo "Taste 2 Gerät I";
			//IPS_RunScript(13927 /*[Sonstige Aktoren\81 PC 1 schalten]*/);
        $Simu = getValueBoolean(23636 /*[Anwesenheitssimulation\Anweseheitssimu-an]*/);  //hole Zustand von Variable - ist gerade an oder aus?

        if ($Simu == false)
         {
         	COMPort_SendText(20531 /*[Serial Port 08 / 3-1..4a+b]*/ , "\xffId\7\xfe");
         	setvalue(23636 /*[Anwesenheitssimulation\Anweseheitssimu-an]*/,true);
         }

         if ($Simu == true)
         {
         	COMPort_SendText(20531 /*[Serial Port 08 / 3-1..4a+b]*/ , "\xffIe\7\xfe");
         	setvalue(23636 /*[Anwesenheitssimulation\Anweseheitssimu-an]*/,false);
         }
			break;
			
		 case "3":
			echo "Taste 3 Gerät I";
			IPS_RunScript(46836 /*[Sonstige Aktoren\83 PC 2 schalten]*/);
			break;
			
		 case "4":
			echo "Taste 4 Gerät I";
			IPS_RunScript(17688 /*[Sonstige Aktoren\97 Server schalten]*/);
			break;
		 case "5":
			echo "Taste 5 Gerät I";
			IPS_RunScript(24931 /*[Sonstige Aktoren\94 Licht Schreibtisch schalten]*/);
			break;
		 case "6":
			echo "Taste 6 Gerät I";
			IPS_RunScript(56117 /*[Sonstige Aktoren\84 Monitor 2 schalten]*/);
			break;
		 case "7":
			echo "Taste 7 Gerät I";
			IPS_RunScript(44939 /*[Sonstige Aktoren\82 Monitor 1 schalten]*/);
			break;
		 case "8":
			echo "Taste 8 Gerät I";
			IPS_RunScript(40520 /*[Sonstige Aktoren\99 Switch schalten]*/);
			break;
	  }
	  break;
	  
  }
}
}
?>

Das in der Mitteilung steht, dass es eine Taste war die gedrück wurde kommt daher, da bei den anderen Controllern auch die Info vom IRSignal empfangen oder vom Netzindikator Spannung liegt an oder halt nicht, kommen kann.

Jan

Toll,
ich bin begeistert.
@Tobi
Den Ausgabecode an Eltako Systembus mit FAM12RS232 , möglichst den FAM14er, fertig ist die Haussteuerung.

Könnte man mit Multiplex, schön hohe Frequenz, eventuell kleiner machen?

Gruß Helmut

Hi Helmut,

es macht ja viel Spaß sowas zu bauen, aber ist dann auch schön das es anderen gefällt.
Tobi ist hier nur lesend und das ganz selten. Er hat (noch) keine Haussteuerung, aber befasst sich ab und zu mit dem Thema um mir zu helfen.

Multiplex wurde bei dem Projekt über einen fertigen Chip angewendet

Das Programm für den Mega16 kommt eigentlich von dem Mega8 aus diesem Projekt. Daher einfach größeren Chip und fertig. Platz ist in der Wand genug.

Jan

Hallo Jan,
Tobi ist gut drauf, lege ihm das Eltako-Teil mal nahe, vielleicht will er dann doch eine Haussteuerung :wink:

Nimmst es mit @ Hamburg?

Gruß und guten Rutsch for all, Helmut

Hier die Schaltung mit Platinenübersicht.

Zwischenablage01.jpg