Sehr schick HannoHupmann !
Bitte weitermachen !
Hallo Hanno!
Was stellst Du mit dem Polaroid Sensor an, bzw. was willst und kannst Du damit auswerten?
Soll der gesamte Kopf sich dauernd drehen oder wie ist da deine Planung?
MfG
Robotik & Arduino Homepage
http://www.ardumega.de
Mit dem Polaroid wollte ich eigentlich die weit entfernten Hindernisse erkennen, um daraus die Route die der Roboter nehmen soll zu ermitteln. Die anderen Sensoren sind mehr für den Nahbereich, also das Umfeld um den Roboter. Der Kopf wird sich nur drehen um die Umgebung zu vermessen, wärend der Schritte bleibt er in Position.
Heute habe ich versucht den Stromsensor LTC2945 auszulesen und lange zeit habe ich keine Werte bekommen. Leider ist mein I2C adapter nicht in der Lage spezifische Register auszulesen, so dass ich immer nur von 0 bis 32 auslesen kann. Hat ein bisschen gedauert die Werte den Richtigen Messungen zuzuordnen. Jetzt muss ich nur noch die Umrechnung der realen werte zu den Hexwerten machen.
Eine Frage an alle die sich mit Matlab auskennen.
Ich möchte gerne die Sensorwerte grafisch darstellen. Am liebsten in einem Plot in dem die neuen Werte eingetragen werden und der dabei von links nach rechts wandert. So dass immer die letzten 10 Messwerte zu sehen sind. So sollte es später aussehen:
Im Moment kann ich über Matlab meinen USB Adapter ansteuern, die Register der Sensoren auslesen, zerlegen und die Messwerte in einer Variablen speichern.
Auch die UI aufzubauen ist kein Problem, nur bisher klappt es mit der Darstellung im Plot nicht. Vermutlich muss ich die Werte irgendwo in einem Register zwischenspeichern. Hat jemand sowas schon mal programmiert oder eine gute Referenz dafür?
Hallo Hanno!
Ich mach sowas auf die schnelle Tour in MATLAB meistens folgendermaßen:
Vielleicht "inspiriert" es dich etwas ...Code:function irgendeinName ser = serial('COM14', 'BaudRate', 9600, 'DataBits', 8, 'Parity', 'none', 'StopBits', 1, ... 'ReadAsyncMode', 'continuous', 'InputBufferSize', 64, 'OutputBufferSize', 64, ... 'Terminator' , 'CR/LF', 'BytesAvailableFcnMode', 'Terminator', 'BytesAvailableFcn', @bav); vals = zeros(500, 1); h1 = plot(vals); set(h1, 'YDataSource', 'vals') fopen(ser); function bav(obj, ~) dat = str2num(fgetl(obj)); vals(2:500) = vals(1:499); vals(1) = dat; refreshdata(h1, 'caller') end end
Gruß
Malte
Lesezeichen