Einzelnen Beitrag anzeigen

fox67

Registriert seit: 6. Okt 2010
Ort: 72661 Grafenberg
181 Beiträge
 
Turbo Delphi für Win32
 
#1

Datenaustausch zwischen Delphiprogramm und Arduino Mikrokontroller

  Alt 14. Nov 2013, 21:04
Hallo ich bin gerade am Experimentieren mit einem Arduino UNO R3. Für Delphi habe ich die Komponenten Comport 4.11 installiert. Das Senden der Daten von der Anwendung klappt ganz gut(Mit dem Programm schalte ich eine LED auf dem Arduino aus und an). Nun will ich wenn die Verbindung hergestellt ist nachfragen ob die LED schon brennt. UND der Mikrokontroller soll mit 1 oder 0 antworten. Wie kann ich in Delphi die Antwort jetzt empfangen?

Hier mein bisheriger Code:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if ComPort1.Connected then
   begin
    Button1.Caption := 'Connect';
    ComPort1.Close ;
    end
  else
    try
    ComPort1.Open;
    Button1.Caption := 'Disconnect';
    except
       showmessage('Fehler');
    end;
   if comport1.Connected then comport1.WriteStr('LEDSTATUS') ;

   LED := false;
end;

procedure TForm1.Button2Click(Sender: TObject);
var

str : String;
begin
str := '1';


 if comport1.Connected then
 begin
 comport1.WriteStr(str);
 showmessage(str);
 end;
end;

procedure TForm1.Button3Click(Sender: TObject);
var
str,str2 : String;
begin
str := '0';


 if comport1.Connected then
 begin
 comport1.WriteStr(str);
 showmessage(str);
 end;
end;
Arduino Code :
Code:
 
   char empfang;
   int  LED=0;
   int  LEDPIN=7;
   
    void setup(){
     Serial.begin(9600);
     pinMode(LEDPIN, OUTPUT);
     
    }

    void loop(){
     
      if(Serial.available())
      {
        empfang = Serial.read();
        if(empfang=='LEDSTATUS'){
        Serial.print(LED);
        }
        if( isDigit(empfang) )
    {
       LED = (empfang - '0');    
       digitalWrite(LEDPIN,LED);
    }
      } 

    }
  Mit Zitat antworten Zitat