+ Antworten
Ergebnis 1 bis 5 von 5
  1. #1
    Registriert seit
    Sep 2008
    Ort
    25k nördlich v. Hannover
    Beiträge
    1,038

    Standard 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:
    PHP-Code:
    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.
    PHP-Code:
    <?


    $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
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_4180.jpg 
Hits:	395 
Größe:	187.4 KB 
ID:	19674   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_0377a.jpg 
Hits:	571 
Größe:	215.4 KB 
ID:	19675   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_0386a.jpg 
Hits:	377 
Größe:	234.5 KB 
ID:	19676   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_4176.jpg 
Hits:	388 
Größe:	182.3 KB 
ID:	19677   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	IMG_4177.jpg 
Hits:	319 
Größe:	186.3 KB 
ID:	19678  


  2. #2
    Registriert seit
    Jun 2005
    Beiträge
    3,732

    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

  3. #3
    Registriert seit
    Sep 2008
    Ort
    25k nördlich v. Hannover
    Beiträge
    1,038

    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

  4. #4
    Registriert seit
    Jun 2005
    Beiträge
    3,732

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

    Nimmst es mit @ Hamburg?

    Gruß und guten Rutsch for all, Helmut

  5. #5
    Registriert seit
    Sep 2008
    Ort
    25k nördlich v. Hannover
    Beiträge
    1,038

    Hier die Schaltung mit Platinenübersicht.
    Miniaturansichten angehängter Grafiken Miniaturansichten angehängter Grafiken Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Zwischenablage02.jpg 
Hits:	208 
Größe:	72.5 KB 
ID:	20043   Klicken Sie auf die Grafik für eine größere Ansicht 

Name:	Zwischenablage01.jpg 
Hits:	153 
Größe:	35.6 KB 
ID:	20044  

Ähnliche Themen

  1. 96 LED´s Board über RS232
    Von Wile_E. im Forum Bastel-Ecke
    Antworten: 26
    Letzter Beitrag: 15.04.17, 08:32
  2. RS232 über Funk
    Von mäc im Forum Bastel-Ecke
    Antworten: 23
    Letzter Beitrag: 18.12.11, 17:32
  3. DMX: V:LED Stripes & LED-Leisten
    Von Olli im Forum Beleuchtung / Lichttechnik
    Antworten: 20
    Letzter Beitrag: 12.05.09, 16:34
  4. TV, Verstäker, etc. über RS232 schalten
    Von roadsterhh im Forum Audio & Video, TK-Anlagen, ISDN
    Antworten: 11
    Letzter Beitrag: 05.02.09, 17:10
  5. Solar-Regler über RS232
    Von bronsky im Forum Haustechnik
    Antworten: 8
    Letzter Beitrag: 23.01.08, 16:12