Arduino gyro inakkurat?

Servus. Ich bin gerade an einem Projekt für das ich einen Sensor brauche der die Orientierung und die G Kräfte misst. Bin noch komplett am Anfang, aber scheitere hier schon.

Mein teurer BMI088 V1.0 bringt sehr variierende Werte. Sieht eigentlich schon fast willkürlich aus, aber reagiert auf bewegungen.

Ist es mein Code der Falsch ist? Bin jetzt schon seit über 2 Stunden dran und so weit gekommen bis jetzt:

#include "BMI088.h"
#include "SensorFusion.h" //SF
SF fusion;

float deltat;
float pitch, roll, yaw;

float ax = 0, ay = 0, az = 0;
float gx = 0, gy = 0, gz = 0;

float gx_all;
float gy_all;
float gz_all;
float ax_all;
float ay_all;
float az_all;

BMI088 bmi088( 0x19, 0x69 );


void setup(void) {
    Wire.begin();
    Serial.begin(115200);
    Serial.println("Bereit");
    while (!Serial);
    Serial.println("BMI088 Raw Data");
    

    while (1) {
        if (bmi088.isConnection()) {
            bmi088.initialize();
            Serial.println("BMI088 is connected");
            break;
        } else {
            Serial.println("BMI088 is not connected");
        }

        delay(2000);
    }
}

void loop(void) {
    bmi088.getAcceleration(&ax, &ay, &az);
    bmi088.getGyroscope(&gx, &gy, &gz);

/*
    Serial.print(ax);
    Serial.print("(ax), ");
    Serial.print(ay);
    Serial.print("(ay), ");
    Serial.print(az);
    Serial.print("(az), ");

    Serial.print(gx);
    Serial.print("(gx), ");
    Serial.print(gy);
    Serial.print("(gy), ");
    Serial.print(gz);
    Serial.print("(gz), ");

    Serial.println();
*/

//Nimmt den Mittelwert aus 10000 Messungen
for (int i = 0; i < 10000; i++) {
  gx_all = gx_all + gx;
  gy_all = gy_all + gy;
  gz_all = gz_all + gz;
  ax_all = ax_all + ax;
  ay_all = ay_all + ay;
  az_all = az_all + az;
}

  Serial.println("Fertig :");
    gx_all = gx_all / 10000;
    gy_all = gy_all / 10000;
    gz_all = gz_all / 10000;
    ax_all = ax_all / 10000;
    ay_all = ay_all / 10000;
    az_all = az_all / 10000;

    deltat = fusion.deltatUpdate();
    fusion.MahonyUpdate(gx_all, gy_all, gz_all, ax_all, ay_all, az_all, deltat);

    pitch = fusion.getPitch();
    roll = fusion.getRoll();
    yaw = fusion.getYaw();

    Serial.print("Pitch: ");
    Serial.print(pitch);
    Serial.print(", Roll: ");
    Serial.print(roll);
    Serial.print(", Yaw: ");
    Serial.print(yaw);
    Serial.println();
    delay(1);
}

Und wenn ich gerade schon dabei bin, ich finde online über den BMI088 in kombination mit einem Arduino fast nichts. Wie bekomme ich die Beschleunigung und die wirkenden G Kräfte?

Danke und Grüße, Leo

Arduino
Zahl mit Arduino an MySQL Datenbank senden?

Moin,

Vielleicht kann mir jemand helfen. Ich will, dass mein Arduino den Wert einer stinknormalen Variable an eine MySQL-Datenbank schickt. Ich bin mehr oder weniger am Verzweifeln, weil mir niemand helfen kann... Es kann doch nicht so schwer sein, ne blöde Zahl irgendwie in Form einer Variable an die Datenbank zu senden...

Ich benutze einen normales Arduino Uno, und ein W5100 ethernet shield

Mein bisheriger Ansatz war so: (Logindaten der Datenbank entfernt)

#include <Ethernet.h>

#include <MySQL_Connection.h>

#include <MySQL_Cursor.h>

byte mac_addr[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

IPAddress server_addr('localhost'); 

char user[] = "root";       

char password[] = "secret";    

// Sample query

char INSERT_SQL[] = "INSERT INTO Test (Sensor) VALUES ('3')";

EthernetClient client;

MySQL_Connection conn((Client *)&client);

void setup() {

 Serial.begin(115200);

 while (!Serial);

 Ethernet.begin(mac_addr);

 Serial.println("Connecting...");

 if (conn.connect(server_addr, 3306, user, password)) {

  delay(1000);

 }

 else

  Serial.println("Connection failed.");

}

void loop() {

 delay(2000);

 Serial.println("Recording data.");

 

 MySQL_Cursor *cur_mem = new MySQL_Cursor(&conn);

 cur_mem->execute(INSERT_SQL);

 delete cur_mem;

}

SQL, HTML, Webseite, programmieren, Java, Cplusplus, Arduino, Datenbank, MySQL, PHP, Programmiersprache, Python, Softwareentwicklung, Webentwicklung, phpMyAdmin, Raspberry Pi
Elektrolumineszenz Kabel Kostüm Projekt mit Arduino Nano?

Hallo Zusammen,

ich brauche Hilfe bei der Umsetzung meines Kostüm Projektes. Ich muss gestehen, dass ich mich nicht so gut in der Eleektrotechnik auskenne. Programmieren kann ich allerdings einigermaßen gut.

Ich möchte gerne Reissdorfmännchen als Kostüm entwickeln. Mein Plan war es, die Leuchten durch EL Kabel also Elektrolumineszenz Kabel zu realisieren. Ich habe bereits einige Meter von rot, gelb und blau zuhause. Diese sind bisher mittels Batteriehandgerät steuerbar. (https://www.ebay.de/itm/394118155897?var=662643642384)

Nun meine Frage, dass anbringen und verkabeln des Kostüms ist nicht das Problem, jedoch habe ich mittlerweile verstanden, dass das EL Kabel aufgrund einer hohen Wechselspannungsfrequenz leuchtet. Da diese nicht aus dem Arduino zu holen ist, mittels diesem ich nachher alles steuern möchte, frage ich mich nun wie ich die Steuerung und Stromversorgung des Kabels am besten ansteuere.

Mein Plan war es mittels eines Relais für den Arduino die Dauerbleuchtung (Lichtleisten die ständig leuchten) zu steuern.

Jedoch halte ich es für sehr ineffizient für jeden gelben Strich ein Relais zu nutzen. Viel besser wäre eine Art Zeitverzögerung mittels der die EL Kabel nacheinander eingeschaltet werden.

Für alle die keine Vorstellung von dem Ablauf des Männchens, habe ich hier ein Video des originalen Männchen:

https://www.youtube.com/watch?v=y0Q4hfqg3qY

Das wechseln der Geschlechter ist für mein Kostüm nicht erforderlich.

Würde mich über gute Tipps sehr freuen!

Bild zum Beitrag
Elektrik, Kabel, Arduino, Kostüm, Projekt, Stromversorgung, Inverter
Geräusche Lokalisieren?

Hey!

Ich möchte mit einem Arduino oder Rasperry Pi geräusche lokalisieren, doch ich bin mir unsicher ob meine vorstellungen funktionieren würden.

Also, ich möchte in einem abstand von beispielweise 15cm 2 Mikrofone aufstellen.

Das eine heißt A und das andere B, und die Strecke von 15 cm zwischen A und B ist c.

Wenn jetzt ein Geräusch von den Mirkofonen gehört wird was beispielweise über 60db ist (Lautstärke einer Stimme) und man von beiden Mikrofonen den winkel kennt aus dem das geräusch gekommen ist, kann man ein Kreieck konstruieren.

Gegeben ist hier bei:

  • Winkel alpha
  • Winkel beta
  • c, Abstand zwischen punkten A und B

Darauß entstanden ist folgendes:

(Nehme als beispiel daten mal alpha=40, beta=60, c=15cm)

Punkt C ist hierbei die Herkunft des geräusches.

Um jetzt das geräusch zu lokalisieren, braucht man die richtung aus dem es gekommen ist (von der mitte der Strecke A zu B) und die entfernung des Geräusches (von der mitte der Strecke A zu B).

Ich habe das hier mal gemacht. (Ignoriert einfach den Kopf auf der rechten Seite)

Auf der zeichnung gibt es nun die folgenden neuen Variablen:

  • b2, Strecke von c2 zu C
  • c2, Die hälfte der Strecke von A zu B (Habe in der zeichnung ein Slash benutzt da man es in der Programmierung zum teilen benutzt).
  • Und in ganz klein, der winkel alpha2, Direkt über dem buchstaben c.

Nun kann man den winkel alpha2 und strecke b2 mit Formeln berechnen.

Doch das alles funktioniert unter der bedingung das man die Richtung des geräusches mit den Mikrofonen finden kann, also das alpha und beta gegeben ist.

Gibt es solche Mikrofone, und wenn ja, wie kann ich sie benutzen?

PS: Sorry wenn vieles schwer zu verstehen ist, Ich bin relativ neu in dem Thema und es fällt mir noch schwer bestimmte sachen richtig aus zu drücken.

Falls ihr etwas nicht versteht, Könnt ihr gerne eine

Bild zum Beitrag
Mathematik, Mikrofon, Akustik, Arduino, Physik, Raspberry Pi
Anspruchsvolle Microcontroller arduino projekte?

Hey, ich bin gerade in der 11. Klasse und wir müssen Jahresarbeiten mit einem praktischen Teil schreiben.

Ich interessiere mich sehr für Technik in jede Richtung und auch programmieren (auch wenn ich nicht so erfahren bin)

Ich hab auch einige Leute die mir bei der umsetzung von Projekten helfen könnten.

Ich habe mir überlegt über Microcontroller an sich zu schreiben und ein passendes Projekt dazu zu machen.

Das kann ruhig anspruchsvoll sein,da ich ja ein ganzes Jahr lang Zeit für die Umsetzung habe.

Mein Cousin hatte vor einigen Jahren ein ähnliches Thema gewählt und hat z.b. einen Staubsaugerroboter gebaut der auch Treppen hinauf gehen kann und so auf mehreren Stockwerken einsetzbar ist.

Ich würde auch gerne etwas ähnliches machen. Der mögliche einsatzbereich ist völlig egal.

Ich suche Ideen oder Anregungen jeder Art für coole witzige oder nützliche Projekte.

Schreibt gerne alles was euch einfällt auch wenn die Umsetzung vieleicht unrealistisch ist, das regt immerzu guten Ideen an und man könnte auch Abwandlungen versuchen.

Ihr könnt auch gern Ideen schreiebn für technische Projekte die vieleicht nicht unbedingt mit Mikrocontrollern gesteuert werden.

Für die Umsetzung hätte ich wegen dem Studium meiner Schwester auch alle möglichen geräte wie Lasercutter, 3D druck, Guss, Holz/kunstoffwerkstäten etc. Zur verfügung.

Vielen Dank schonmal für mögliche Ideen, lg

Technik, Elektronik, programmieren, Elektrotechnik, Mikrocontroller, Arduino, Informatik, Python, 3D-Drucker
Schrittmotoren welche Treiber?

Hallo,

Ich bin aktuell dabei, mir einen kleinen Roboterarm zu bauen. Dafür habe ich folgende Schrittmotoren gekauft:

STEPPERONLINE Schrittmotor 5 Pack Nema 17 Bipolar 42Ncm 1.5A 42x42x39mm 4 Drähte mit 1m Kabel & Verbinder für 3D-Drucker/CNC Fräsmaschine, Black https://amzn.eu/d/cyVuzSr

Leider bin ich mir jetzt nicht sicher welches Netzteil und vorallem Treiber ich dafür kaifen sollte...

Zuhause habe ich noch ein paar A4988 Treiber für 3d drucker, allerdings habe ich die Sorge das diese Überhitzen (Der arm soll auch ein wenig Gewicht bewegen können)

Und welches Netzteil empfiehlt ihr? Ich hätte gerne 24V für mehr Drehmoment.

W=V×A sollte ja ergeben, das bei 5×1,5A Motoren bei 24 Volt 240 Watt gebraucht werden. Reicht das oder sollte ich das Netzteil lieber großzügig Dimensionieren?

Vielen dank!

Watt, Ampere, Arduino

Meistgelesene Fragen zum Thema Arduino