Ruderweg Messung mit Arduino

kalle123

User
Kein Problem Detlef ;)

Nehme mal an, du hast den ADXL345 Sensor?! adxl345.jpg

Da ist ein 5V Spannungsregler mit drauf.

GND Sensor <-> GND Arduino

Auf dem Sensor CS <-> VCC verbinden und dann mit 5V Arduino

Dann noch den I2C Bus verbinden.

SDA <-> A4 und SCL <-> A5. Feddig!

Bei weiteren Fragen, melde dich.

18.jpg

Gruß KH
 

pantau

User
Hallo Kalle,

Ich habe einen anderen Sensor ING/MPU.
Aber ich habe das System nun verstanen. Es handelt sich dabei um einen Zweidrahtbus, bei dem sowohl LCD als auch Sensor parallel aufgelegt werden.

Habe es jetzt mal richtig verdrahtet, aber es läuft immer noch nicht. Bekomme keine Daten aus dem Sensor. Auch der serielle Monitor zeigt nicht´s.

ich muss mal schauen woran es liegt.

Aber vielen Dank für die schnelle Antwort

Gruß
Detlef
 

kalle123

User
Hallo Detlef.

Was hast du denn da? Bitte möglichst genau.

Die Buskomponenten (Display und Sensor) hängen ja am I2C Bus und haben Busadressen.

Meist hapert es daran.

Ich habe hier einen kleinen sketch, der diese Adressen im Terminal "ausspuckt".

#include <Wire.h>


void setup()
{
Wire.begin();

Serial.begin(9600);
while (!Serial); // Leonardo: wait for serial monitor
Serial.println("\nI2C Scanner");
}


void loop()
{
byte error, address;
int nDevices;

Serial.println("Scanning...");

nDevices = 0;
for(address = 1; address < 127; address++ )
{
// The i2c_scanner uses the return value of
// the Write.endTransmisstion to see if
// a device did acknowledge to the address.
Wire.beginTransmission(address);
error = Wire.endTransmission();

if (error == 0)
{
Serial.print("I2C device found at address 0x");
if (address<16)
Serial.print("0");
Serial.print(address,HEX);
Serial.println(" !");

nDevices++;
}
else if (error==4)
{
Serial.print("Unknown error at address 0x");
if (address<16)
Serial.print("0");
Serial.println(address,HEX);
}
}
if (nDevices == 0)
Serial.println("No I2C devices found\n");
else
Serial.println("done\n");

delay(5000); // wait 5 seconds for next scan
}

Wenn die Adressen der Komponenten bekannt sind, müssen die natürlich auch im eigentlichen sketch/library korrigiert werden ....

Bei mir sieht das so aus ...

19.jpg

Gruß KH
 

pantau

User
Mein Sensor ist ein MPU6050.
Adresse ist 0x68.

aber wo ist die anzupassen.
muss da noch eine andere Bibliothek gelafden werden?

sorry bin absoluter neuling.

Gruß

Detlef
 

kalle123

User
Mein Sensor ist ein MPU6050.
Adresse ist 0x68.

Autsch :(

Das Ganze ist für den ADXL 345 gestrickt. (Die ganzen Rechenroutinen .... ).

Wenn du den in Deutschland bestelltst, hast du den Sensor Ende nächster Woche da.

http://www.ebay.de/sch/i.html?_from=R40&_sacat=0&_nkw=adxl345&LH_PrefLoc=1&_sop=15

Ich bestelle hauptsächlich in Fernost, da kriegst du den Sensor für unter 1€, dauert halt nur ....

https://de.aliexpress.com/w/wholesale-adxl345.html?site=deu&groupsort=1&SearchText=adxl345&g=y&SortType=price_asc&initiative_id=SB_20170603041409&needQuery=n&isFreeShip=y

Das wird so nix, sorry, aber da kann ich dir nicht helfen, das auf die MPU6050 umzustricken.

Welches display und welchen Arduino hast du denn da?

Gruß KH
 

pantau

User
Hallo Kalle,

Ich habe ein Elego Uno r3 Board.
Dieempfohlenen Komponennten habe ich bereits in Fernost bestellt.

Der Sensor war im Gesamtpaket dabei. Dachte ich versuche es mal damit.

Leider ist der Sensor aus Fernost noch auf der Reise (das Display ging schneller)

Also dann kann es garnicht funktionier... da bin ich aber erst einmal beruhigt.

Gruß

Detlef

Nochmals vielen Dank für die Unterstützung
 

kalle123

User
Auch ohne Sensor sollte was auf dem display erscheinen.

Welches display hast du denn da jetzt? Ein LCD 1602 mit I2C Schnittstelle?

Gruß KH
 

Anhänge

  • IMG_20170603_180444.jpg
    IMG_20170603_180444.jpg
    112,3 KB · Aufrufe: 125

pantau

User
Hallo Kalle,

Ich gabe das Display aus deinem Link in Fernost. Ich sehe genau das, was in deinem Foto auch zu sehen ist. Auch das ändern der Rudertiefe funktoniert.
Habe jetzt mal einen adxl345 in D bestellt. Hoffe das der dan bald da ist.

Gruß
Detlef
 

kalle123

User
Hallo Detlef. Das hört sich doch schon mal gut an. :)

Ich weiß gar nicht, welche Version des Programms ich hier zu Beginn des threads eingestellt habe?

Hab inzwischen etwas modifiziert.

- Umschaltung "normale" Messung <> Sekantenmessung durch Steckbrücke und Jumper.

- 3 Taster, wie im Bild zu sehen. Von links her - Nullstellung, Ruderbreite +, Ruderbreite -

Sind aber nur Kleinigkeiten.

Grüße KH
 

pantau

User
Hallo Kalle,
Stelle deinen aktuellen Sketch doch mal ein. Ich habe schon mal die Variablen auf float gesetzt, da es sont ein wenig ungenau ist. Weiß natürlich nicht ob der sensor das he gibt.
Man wirds sehen.

Gruß
Detlef
 

kalle123

User
Kein Problem Detlef.

Ach, noch was. Ich hab eine Sensorkalibrierung mit eingefügt, da ich gesehen hatte, das die Werte doch etwas abweichen, die default mit drin waren.

Kalibrierung mit dem Programm hier. Erläuterung siehe Link in der ersten Zeile. Gibt dann einen OFFSET und GAIN für jede Achse.

Anhang anzeigen ADXL354_cal.ino.txt

Und hier meine letzte Version.

Anhang anzeigen RC_ANGLE_THROW.ino.txt

Ob "float" was bringt? Der Sensor löst ja "nur" mit 255 auf ...

Über Rückmeldungen von dir würde ich mich freuen. Bin momentan mit anderen Projekten beschäftigt.

Gruß KH
 

M. Roy

User
Hi zusammen,

heute konnte ich die letzte große Baustellen bei meiner Arduino Ruderwegsmessung dicht machen und folglich habe ich mein erstes funktionierendes Arduino Progrämmchien;).

Hier ein Link zum Video in dem die Hauptfunktionen gezeigt werden.
https://youtu.be/WmolrPjsS90

Ausstehend ist dann noch der Gehäusebau für die Anzeige und die Sensoren.
Evtl. pack ich die Seitenrudermessung noch an, aber die hat es irgendwie in sich...

Schönen Abend euch noch und Grüße
Markus
 

kalle123

User
Hallo Markus.

Welches Nextion hast du da genommen? Sieht gut aus!

Ich hab mir, wegen eines anderen Projekts, ein

Nextion NX4832T035 3,5" bestellt, aber das ist wohl noch auf dem Wege.

Kannst/willst du deinen Programmiercode offen legen?

Grüße KH
 

pantau

User
Hallo Kalle,

Mein Messer läuft nun auch. Nach Umstellung der Variablen auf float komme ich nach kalibrierung des Sensors, auf einen Fehler von nur noch 0,18mm. Das ist für mich ok.
Muß das Ganze nun nur noch in ein Gehäuse bauen und den Sensor irgendwie in epoxy einlassen.
Ach ja, für die Umschaltung Ausschlag / Sekante habe ich das prog so abgeändert, dass ich einen Taster verwenden kann!
Gruß
Detlef
 

kalle123

User
Super Detlef.

Wäre schön, du würdest, wenn es fertig ist, ein Bild hier einstellen.

Ich komme momentan nicht dazu hier weiter zu machen. Andere Projekte ;)

Grüße KH
 

M. Roy

User
Hallo Karl,

bei mir kommt ein 2,4" Nextion zum Einsatz.

Den Code kann ich hochladen, aber zuerst muss ich noch ein Flieger damit vermessen und prüfen ob das auch alles passt. Das wird aber noch etwas dauern, falls du vorab die Beta Version haben möchtest, dann schick mir ne PN mit deiner Mailadresse.

Grüße
Markus
 

kalle123

User
Hallo Markus.

Hier mal ein Bild, wo ich ein 3,5" Nextion im "Versuch" habe.

Meine Aktivitäten zur Ruderwegmessungen ruhen momentan ;)

Was mich mal interessieren würde, für wie sinnvoll hälst du dieses elektronische Winkelmessen? Bringt das was?

Grüße KH
 

Anhänge

  • 132.jpg
    132.jpg
    80,6 KB · Aufrufe: 229

M. Roy

User
Hallo Karl,

für mich hat das schon nen Praxisnutzen, denn ich finde das Rudermessen mit Lineal und 100 Runden um den Flieger echt nervig, zudem werden meine Modelle auch immer grösser;).

Wo für mich der geniale Vorteil/ Mehrwert liegt, ist das duale Messen. Ich kann ganz einfach beide Ruderseiten synchron einstellen und so komfortabel hatte ich das noch nie.

Natürlich ist mir auch klar, dass für den Arduino Aufwand ich auch viele Flieger vermessen hätte können. Aber um das geht's mir auch nicht. Ich hab sehr viel dazu gelernt, was sich bei der nächsten Thematik wieder anwenden lässt und es hat Spaß gemacht...

P.S. Was baust gerade?

Grüße
Markus
 
Ansicht hell / dunkel umschalten
Oben Unten