- Labornetzteil AliExpress         
Seite 2 von 2 ErsteErste 12
Ergebnis 11 bis 11 von 11

Thema: Arduino mit Perl steuern

  1. #11
    Anzeige

    E-Bike
    Hallo,
    ich hab einen Antennenrotor gebaut den ich via Arduino und Perl steuere.
    Ich greife auf den Steuerrechner(Dachboden) via ssh von meinem Shack zu.
    Das ganze funktioniert sehr gut bis auf ein kleines Problem das ich am Ende beschreibe.


    Als erstes mein Lösungsanzatz, nicht relevater Code lasse ich weg und
    ich habe versucht die einzelenen Aktionen in Funktionen zu packen.

    Arduino

    RS232 init:
    Code:
      void setup ()
      {
       Serial.begin (9600);
      }
    RS232 einlesen:
    Mit der Methode wir ASCII eingelesen. In meinem Fall
    3 Ziffern die dann in Zahlen gewandelt werden um dann eine
    3-stellige Zahl zu werden. Beispiel: wenn 1 gesendet wird
    kommt eine ASCII 49 die durch -48 zur 1 wird. Siehe ASCII-Tabelle
    Code:
      /* Sollwinkel via serieller Schnittstelle Empfangen 
         Sollwinkel muss 3-Stellig + LF uebertragen werden
      */
      void Empfangen(){
          int count = 0;       // eingehende Byte zaehlen 
          beschleunigung=true; // => 1x bei neuem Winkel Motor in der Regelschleife hochfahren
          schleichgang=false;
          boolean ok = true;
          while(ok){
             if (Serial.available () > 0){
                incomingByte = Serial.read ();
                data_in[count] = incomingByte;
                count++;
                if (incomingByte == 10){ // dez 10 = Zeilenende
                   ok=false;
                }
             }
          }
      }
    RS232 ausgeben:
    Code:
    /*Info an serielle Schnittstelle senden*/
    void RS232OUT(){
      Serial.println("Winkel liegt an.             Done");
      delay(10);
    }
    Perl via Linux
    Ich denke man kann den Code leicht in die Windows-Welt umsetzen.

    RS232 init:
    Code:
    use Device::SerialPort; 
    # init globale Variablen
    my $port = Device::SerialPort->new("/dev/ttyACM0");
    my $PeilungSoll="";
    my $VonArduino="";
    an Arudino senden:
    Code:
    sub senden{
     my $Var=shift @_;
     $port->write($Var); # via RS232 senden
     return(1);
    }
    von Arduino empfangen:
    Code:
    sub empfangen{
     my $Input="";
     my $OK=0;
     until($OK){
       sleep(1);
       $Input = $port->lookfor(); # von RS232 lesen
      if ($Input) {
       $OK=1;
       $port->lookclear; # Buffer loeschen?
       } 
     }
     return($Input);
    }
    Nun zu meinem Problem. Auf der Werkbank "hundert" mal geteste.
    Jetzt hab ich die Steuerung auf dem Dachboden und bediene den Rotor
    von einem anderen Raum. Die Rechner sind via Netzkabel verbunden.
    Es kommt zu sporadischem hägenbleiben bei meinem Perlprogramm.
    Nach einem Durchlauf soll der Arduino "ferig melden". Perl wartet
    in einer Schleife auf diese Meldung. Ich denke der Arduino liefert nicht.
    Ich sehe meinen Rotor ist in Position. Der Motor ist aus. Nun müsste via
    RS232 die Meldung vom Arduino kommen und mein Perlprogramm wieder
    in die Eingabe springen, tut es aber nicht immer.

    Viel Text, aber man muss ja die Sachlage einigermaßen genau schlidern.
    Hat jemand eine Rat?

    Gruß
    Geändert von California_EV (12.10.2014 um 23:30 Uhr)

Seite 2 von 2 ErsteErste 12

Ähnliche Themen

  1. Arduino mit IR (fern)steuern
    Von invisible09 im Forum Arduino -Plattform
    Antworten: 2
    Letzter Beitrag: 30.01.2013, 09:32
  2. Modellbau Fhrtenregler mit Arduino steuern
    Von Sebastian Meyer im Forum Arduino -Plattform
    Antworten: 12
    Letzter Beitrag: 04.03.2012, 20:59
  3. [ERLEDIGT] [ARDUINO] 2 Motoren + Servo mit dem Arduino Uno steuern
    Von Torrentula im Forum C - Programmierung (GCC u.a.)
    Antworten: 0
    Letzter Beitrag: 31.08.2011, 17:31
  4. PNP mit Arduino steuern
    Von Arduino99 im Forum Elektronik
    Antworten: 1
    Letzter Beitrag: 25.12.2009, 12:13
  5. LPT & COM mit PERL ansprechen
    Von Free Faq im Forum PC-, Pocket PC, Tablet PC, Smartphone oder Notebook
    Antworten: 1
    Letzter Beitrag: 31.08.2005, 23:23

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test