Ruderweg Messung mit Arduino

kalle123

User
Hallo Kalle
Bin auch am Nachbau der Ruderweg Messung. Ich würde gerne auch noch die y und z Achse messen. Kannst Du hierzu bitte die Formel auch angeben?
Gruss
Gorbi

Gorbi, verstehe ich jetzt nicht.

Der Code wertet doch alle drei Achsen aus

Code:
adxl.readAccel(&x, &y, &z); // read the accelerometer values and store them in variables
  xg = 0.00385 * (x - offsetX) / gainX; // 0.00385 to convert the raw data to Gs
  yg = 0.00385 * (y - offsetY) / gainY; // offset and gain for calibration
  zg = 0.00385 * (z - offsetZ) / gainZ;

  calc = xg / sqrt ((sq(yg) + sq(zg)));	//sensor orientation!
  tilt = atan(calc) * 57.296;
  angle = int(tilt) * -1;               //sensor orientation!

Gruß KH
 

Gorbi

User
Vielleicht habe ich da etwas falsch verstanden:

calc = xg / sqrt ((sq(yg) + sq(zg))); //sensor orientation!
tilt = atan(calc) * 57.296;
angle = int(tilt) * -1; //sensor orientation!

Wird hier nicht nur der x Winkel berechnet ?

Gruss
Gorbi
 
Hallo Leute,

ich habe gerade versucht das Programm auf den Arduino zu spielen, aber leider kommt folgende Fehlermeldung.

Kann mir jemand sagen was ich falsch gemacht habe?
(bin noch Neuling im Bereich Arduino)
Arudinofehler.jpg
 

kalle123

User
@Gorbi.

Schau dir das mal an.

Anhang anzeigen AN-1057.pdf

Insbesondere die Abschnitte über 1-2-3 Achsen Kippung des Sensors und die dazugehörige Vorgehensweise der Berechnungen.

@timof3j.

Hallo Einzelner. Hast du eine ADXL345 Library in der Arduino IDE geladen? Wenn ja, welche? Wenn nein, https://www.google.de/search?ei=RaAQWvHKFMH1kwWs3bPYDA&q=arduino+ide+library+einbinden&oq=arduino+ide+library+einbinden&gs_l=psy-ab.12..0i71k1l4.0.0.0.21654.0.0.0.0.0.0.0.0..0.0....0...1..64.psy-ab..0.0.0....0.9-XqkhJq1Sk

Gruß KH
 
Das hatte ich, hab jetzt nochmals alles gelöscht und neu eingebunden.
Jetzt kommt aber das hier :-(


/Users/timofeis/Documents/Arduino/libraries/LiquidCrystal/I2CIO.cpp:35:26: fatal error: ../Wire/Wire.h: No such file or directory
#include <../Wire/Wire.h>
^
compilation terminated.
exit status 1
Fehler beim Kompilieren für das Board Arduino/Genuino Uno.
 

kalle123

User
Das hatte ich, hab jetzt nochmals alles gelöscht und neu eingebunden.
Jetzt kommt aber das hier :-(

Hallo Unbekannter.

Umgangsformen in der Konversation scheinen ja nicht zu deinen Stärken gehören ;)

Jetzt zu deinem post hier.

Ich weiß nicht, was du da machst?

WAS gelöscht und WAS eingebunden?

Wenn du Hilfestellung haben möchtest, dann bitte möglichst deutliche Informationen, was du da hast (z.B. Betriebssystem, Arduino IDE Version ...), was du da machst (z.B. lesbare Screenshots oder printouts) und welche Meldungen kommen (kann man mit den Symbolen CODE oder ZITAT lesbar für den Adressaten in den post einbinden).

Gruß KH
 

Feigao

User
Hallo Eckhard, hallo Kalle,

am Wochenden hab ich mich mit euren Info's ans Werk gemacht.

Mit einem 5V Pro Mini, alles gleich ohne Bread Board, zusammengebaut und V5 drauf.

Anzeige sofort da, aber keine Werte der AXDL345-Module.

Damit war das WE gesichert mit Fehlersuche.

Ursache nach einigem hin und her ist vermutlich die I2C der AXDL. Die scheint defekt zu sein. Auch ein I2C Scanner findet die Bausteine nicht. Habe alle Anschlußvarianten, die das Netz hergibt versucht.

Jetzt warte ich auf zwei Neue in der Hoffnung das die IO sind.

Gruß Heinz
 

kalle123

User
Hi Heinz.

Wenn ich so Dinge wie Arduinos oder Sensoren rein kriege, probiere ich die erst mal schnell aus.

Arduinos mal eben den BLINK sketch aufspielen und dann die Zeiten mal ändern.

Bei Sensoren an nen UNO anschließen und mit einem passenden einfachen Standard sketch kurz testen.

Wenn ok, kommen die Teile in die Kiste, wenn nicht -> REKLAMATION.

Grüße KH
 

Feigao

User
Hallo Kalle,

werd ich wohl zukünftig bei neuen Teilen auch so machen.

Hallo, Eckehard,

die Dinger melden sich einfach nicht am I2C. Der Scanner funktioniert, da er z.B. eine I2C-LCD anzeigt. Aber wenn ein ADXL345 angeklemmt wird findet er das nicht.
Hab CS und Vcc verbunden. SCL und SCL mal ohne, mal mit Widerständen (4,7k und 10k) gegen Vcc an A4 und A5. Hat alles nix gebracht.

Komischerweise ist einer, als er noch mit dem Display verbunden, nach viel rumdrücken an der ADXL-Platine einmal angesprungen :confused:. Danach wieder nicht.

Ich warte nun einfach auf neue Platinen.

Gruß Heinz
 

kalle123

User
Bisschen off-topic ;)

Heinz, ich bin in Kontakt mit einem Kollegen, der bei Stromsensoren ACS 712/5A massiv auf den Bauch gefallen ist.
(Hatte direkt 5 Stück bestellt)
Derjenige verzweifelte schon an sich selbst.

Der "Müll" scheint mehr zu werden. Ich weiß jetzt nicht, wo du bestellt hast?

In D, klar, reklamieren. In China, da bevorzuge ich Aliexpress. Reklamationen gehen m.E. da besser als bei ebay. Aliexpresss macht da Druck auf den einzelnen Händler. Kein Vergleich zu ebay.

China: Und immer EINZELNE Komponenten bestellen, bei verschiedenen Händlern. Kostet nicht mehr, die Sicherheit, das was ankommt, ist größer und die Gefahr, gleich 5 "gefakte" ACS712/5 auf dem Tisch zu haben, ist bedeutend geringer.

Gruß KH
 

Feigao

User
Es funktioniert

Es funktioniert

Hallo Kalle,

neue AXDL345 und schon klappt es!

Der Sketch läuft auch ohne Probleme auf einem Pro Mini 5V.

90 Grad messen die beiden bisher nicht. Bei 87Grad ist Schluß. Ist schon spät und ich hab keine Lust mich jetzt in den Code einzulesen.
Aber das Wochenende naht.

Morgen mach ich mal Klammern zum Befestigen der Sensoren auf den Rudern.

Gruß Heinz
 

kalle123

User
Hallo Kalle,

neue AXDL345 und schon klappt es!

Der Sketch läuft auch ohne Probleme auf einem Pro Mini 5V.

90 Grad messen die beiden bisher nicht. Bei 87Grad ist Schluß. Ist schon spät und ich hab keine Lust mich jetzt in den Code einzulesen.
Aber das Wochenende naht.

Morgen mach ich mal Klammern zum Befestigen der Sensoren auf den Rudern.

Gruß Heinz

Heinz, schön, dass es funktioniert. ;)

Hierzu "Bei 87Grad ist Schluß."

Wenn du das brauchst, müsste man im sketch wohl ab einem gewissen Winkelwert in der Rechenformel die Achsen tauschen.

calc = xg / sqrt ((sq(yg) + sq(zg)));

Ab z.B. > 50° dann auf

calc = zg / sqrt ((sq(xg) + sq(yg)));

und bei < 40° wieder zurück.

Schau dir das mal im application manual zum ADXL 345 an.

Müsste man mal probieren .....

Gruß KH
 

Eckehard

User
Test auf Pro Mini, Klammern

Test auf Pro Mini, Klammern

Hallo Heinz (Feigao),

kannst Du noch sagen, welchen Sketch Du verwendet hast?
Hast Du das keypadShield auch verwendet?

Mußtest Du Änderungen am Sketch machen, damit es mit Deiner Hardware läuft?

Zu den Klammern... Hast Du hier eine praxistaugliche Lösung gefunden?

1000 Dank!

Eckehard
 

Feigao

User
Hallo Eckehard,

zu deinen Fragen:

- Ich hab den Sketch Version 5 (Beitrag #144, Libs aus Beitrag 134) hier aus dem Thread verwendet. Die ADXL ohne zusätzlichen Wiederstände angeklemmt.

- Ich hab keine Änderungen am Sketch durchgeführt. Werde aber über den Winter dran rumfummeln. Mir wäre eine Ausgabe mit einer Nachkommastelle sympatisch.

- Als Klammern verwende ich Balsaleiste oben, ADXL345 aufgeklebt, und Balsaleiste unten. An die Ruder mit einer Kunststoff-Klammer geklemmt. Provisorium, aber erledigt seine Aufgabe sehr gut.

Arduino-Ausschlag-1.JPG

Arduino-Ausschlag-3.JPG

- Ich hab das Keypadshield verwendet. Bei Ebay hab ich für das Keypadshield ein Gehäuse gefunden. Für das Display hab ich schon die Öffnung gefräst. Für die Tasten warte ich auf Verlängerungen bzw. Kunststoffaufsätze. Die aufgelöteten Taster sind für den Einbau zu kurz.

Arduino-Ausschlag-2.JPG

Hoffe es beantwortet dein Anliegen.

Gruß Heinz
 

whity

User
Ich dreh durch

Ich dreh durch

Guten Abend in die Runde,

ich habe ein riesen Problem die Updates auf den Arduino zu bekommen und brauche dringend Hilfe, bevor ich das alles aus dem Fenster schmeiße....

Mein PC läuft mit Win 7, Arduino 1.8.3. Gekauft habe ich Arduino Uno R3, LCD Keypad Shield und 2 ADXL345.

Ich kann aus den Beispielen einen Sketch für das Display aufspielen, ohne daß ein Fehler gemeldet wird. Nur die Downloads bekomme ich einfach nicht passend abgelegt und aufgespielt.

Das geht damit los, daß ich noch dem Download der Zip Datei ja eigentlich die txt Endung entfernen soll. Die ist aber schon weg, wenn ich in die Downloads schaue. Der PC hat dann schon automatisch eine Textdatei davon gemacht.
Wenn ich die Datei dann entpacke und eine Endung ino oder pde anhänge, erkennt das Programm es nicht und hält es für ein ungültiges Format.

Hört sich wahrscheinlich alles etwas blöd an, ich komm da aber einfach nicht weiter.
Wäre toll wenn ich etwas Hilfestellung bekommen könnte.

Ist übrigens mein erstes Mal mit Arduino- aber das seht Ihr ja.

Danke im Voraus
Grüße
Dirk Weiß
 

kalle123

User
Das geht damit los, daß ich noch dem Download der Zip Datei ja eigentlich die txt Endung entfernen soll. Die ist aber schon weg, wenn ich in die Downloads schaue. Der PC hat dann schon automatisch eine Textdatei davon gemacht.
Wenn ich die Datei dann entpacke und eine Endung ino oder pde anhänge, erkennt das Programm es nicht und hält es für ein ungültiges Format.

Hallo Dirk.

Welche ZIP Datei? Ich kann so, wie du das schreibst, nur raten ......

Gruß KH
 

whity

User
Moin kalle,

ich will, so wie Eckehard die beiden Dateien verwenden: Sketch Version 5 (Beitrag #144, Libs aus Beitrag 134) hier aus dem Thread.

Vielen Dank an Hermann, die Anleitung hat mich schon mal ein ganzes Stück weitergebracht:)

Ich habe jetzt die Zip Archive in den von Arduino erstellten Ordner "C:\Users\Dirk\Documents\Arduino\libraries" entpackt. Das soll ich in den Sketch Ordner legen.
Den habe ich hier: C:\Users\Dirk\AppData\Local\Temp\untitled1655927262.tmp\sketch_dec13a.
So wie ich das verstehe, soll erst die I2Cdev und die ADXL345 aufgespielt werden, geht aber wegen Endung nicht. Wenn ich das KeypadShield aufspiele kommt folgende Meldung:
Globale Variablen verwenden 950 Bytes (46%) des dynamischen Speichers, 1098 Bytes für lokale Variablen verbleiben. Das Maximum sind 2048 Bytes.
Ungültige Bibliothek C:\Users\Dirk\Documents\Arduino\libraries\RC_ANGLE_THROW_KeypadShield_5 in C:\Users\Dirk\Documents\Arduino\libraries\RC_ANGLE_THROW_KeypadShield_5 gefunden
Ungültige Bibliothek C:\Users\Dirk\Documents\Arduino\libraries\RC_ANGLE_THROW_KeypadShield_5 in C:\Users\Dirk\Documents\Arduino\libraries\RC_ANGLE_THROW_KeypadShield_5 gefunden

Was mich auch wundert ist, daß die KeypadShield 5 eine passende "ino" Datei ist, die in den Libaries enthaltenen I2Cdev und ADXL345 Dateien haben eine cpp Endung.

Irgendwie ist der Knoten noch nicht so ganz gelöst, an welcher Stelle bin ich zu blöd?

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