WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Darstellen von Daten aus serieller Schnittstelle

 

Peter Weiss
Forum-Newbie

Forum-Newbie


Beiträge: 5
Anmeldedatum: 17.07.19
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 19.07.2019, 14:18     Titel: Darstellen von Daten aus serieller Schnittstelle
  Antworten mit Zitat      
Hallo,

ich habe eine kleine aber feine Aufgabe, welche es zu lösen gilt. Ich bin bereit für ausführliche Hilfe ein Entgelt über PayPal o.Ä. zu zahlen, da ich zeitnahe eine Lösung benötige.

Folgendes Problem. Ich erhalte über einen Arduino Mikrocontroller Daten von meinem 6-Achs-Kraft-Momenten Sensor. In meinem Arduino Sketch dekodiere ich die Daten. Nun lese ich mit einem Matlab Code die Daten an der seriellen Schnittstelle aus und erhalte die richtigen Sensordaten in meinem Ausgabefenster in Matlab in der Form:
1.8 5.7 -30.4 0.5 2.8 1.9

Hierbei stehen die ersten 3 zahlen für die Kräfte Fx,Fy,Fz und die anderen 3 Werte für Tx,Ty,Tz. Jetzt möchte ich die Sensordaten in einer Oberfläche darstellen, in der zwei Koordinatensysteme untereinander stehen. In dem oberen KS sollen die Kräfte, in dem unteren KS die Momente dargestellt werden. Neben den Koordinatensystemen sollen jeweils 3 Checkboxes stehen, in der manuell eingeschaltet werden soll, welche Kraft oder welches Moment man angezeigt haben möchte. Darüber soll ein Push-Button liegen, welcher die Datenaufnahme startet und stoppt.
Die gemessenen Daten sollen im Anschluss in Exel Tabellen gespeichert werden. Mein Code zum Auslesen der seriellen Schnittstelle sieht so aus
Code:
s = serial('COM6'); % change the COM Port number as needed
%% Connect the serial port to Arduino
s.InputBufferSize = 1; % read only one byte every time
try
fopen(s);
catch err
fclose(instrfind);
error('Make sure you select the correct COM Port where the Arduino is connected.');
end

%% Read and plot the data from Arduino
Tmax=20;

Ts = 0.001; % Sampling time (s)
i = 0;
data = 0;
data= char;
t = 0;
tic % Start timer
while toc <= Tmax
i = i + 1;
%% Read buffer data
data (i) = fread(s)

t(i) = toc;
if i > 1
T = toc - t(i-1);
while T < Ts
T = toc - t(i-1);
end
end
t(i) = toc;

    end
if i > 1
       
    end


fclose(s);
 


Grüße Peter
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum posten
Du kannst Dateien in diesem Forum herunterladen
.





 Impressum  | Nutzungsbedingungen  | Datenschutz | FAQ | goMatlab RSS Button RSS

Hosted by:


Copyright © 2007 - 2024 goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks

MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.