Guten Tag alle miteinander,
ich habe mal wieder ein Problem wo es vermutlich am Piloten liegt und nicht am Flugzeug
Vorab habe ich Stundenlang das Internet durchsucht und auch das Forum aber nichts passendes gefunden, bzw. alles ausprobiert aber nichts hat das gewünschte Ergebnis gebracht.
Ich bin grade dabei mir ein Digitales Präzisionspotentiometer zu bauen um Werte auszugeben in einem bestimmten Bereich.
So weit so gut. Wenn ich dem Controller manuell den Binärcode gebe welche ich für einen bestimmten Widerstand brauche stellt er mir auch den entsprechenden Widerstand auf 1R genau ein.
Nun wollte ich um ein paar Tests zu machen das ganze automatisieren. Bedeutet ich gebe dem Controller über die Serielle Schnittstelle einen Wert im Bereich x;y vor und er Rechnet sich selber den Binärcode aus.
In der Theorie klappt das auch wunderbar....
Das Problem ist das er es irgendwie nicht hinbekommt ordentlich zu rechnen.
Der Code:
#include "Arduino.h"
char buffer[10];
double data = 1.0;
int bindex,dindex=0;
double R = 0.0;
……
…...
}
R = 1.0/1000.0;
Serial.print("R = ");
Serial.println(R);
delay(2500);
}
Ausgabe der Console:
Hello World
R = 0.00
R = 0.00
R = 0.00
Habe den Code mal auf den Teil reduziert wo der Fehler passiert. Vorher lese ich nur einen String über Serial.read() ein und mache mir daraus einen Integer.
Das einlesen über die Konsole funktioniert. Wenn ich bspw. eine 1000, schicke setzt er data auch artig auf 1000. Nur rechnet er mir nicht die gewünschte Kommazahl aus sondern schmeißt mir Unsinn um die Ohren.
Vorab schonmal danke für die Hilfe
und falls der Beitrag nicht gewünscht ist kann er gerne gelöscht werden.
Mit freundlichen Grüßen