Arduino Nano stürzt immer wieder ab

hast du ein Link zu deinem sensor?

teste mal ob bei deisem skript etwas abstürzt und schau dir die ausgabe im seriellen monitor an

#include <Wire.h>

#define MPU6050_ADRESS 0x68
int16_t accX, accY, accZ, gyrX, gyrY, gyrZ, tVal;
double temperature = 0.0;

void setup()
{
  Wire.begin();
  Wire.beginTransmission(MPU6050_ADRESS); // Begins a transmission to the I2C slave (GY-521 board)
  Wire.write(0x6B); // PWR_MGMT_1 register
  Wire.write(0); // set to zero (wakes up the MPU-6050)
  Wire.endTransmission(true);

  Serial.begin(9600);
  Serial.flush();
}
void loop()
{
  Wire.beginTransmission(MPU6050_ADRESS);
  Wire.write(0x3B); // starting with register 0x3B (ACCEL_XOUT_H) [MPU-6000 and MPU-6050 Register Map and Descriptions Revision 4.2, p.40]
  Wire.endTransmission(false); // the parameter indicates that the Arduino will send a restart. As a result, the connection is kept active.
  Wire.requestFrom(MPU6050_ADRESS, 7*2, true); // request a total of 7*2=14 registers

  // "Wire.read()<<8 | Wire.read();" means two registers are read and stored in the same variable
  accX = Wire.read()<<8 | Wire.read(); // reading registers: 0x3B (ACCEL_XOUT_H) and 0x3C (ACCEL_XOUT_L)
  accY = Wire.read()<<8 | Wire.read(); // reading registers: 0x3D (ACCEL_YOUT_H) and 0x3E (ACCEL_YOUT_L)
  accZ = Wire.read()<<8 | Wire.read(); // reading registers: 0x3F (ACCEL_ZOUT_H) and 0x40 (ACCEL_ZOUT_L)
  tVal = Wire.read()<<8 | Wire.read(); // reading registers: 0x41 (TEMP_OUT_H) and 0x42 (TEMP_OUT_L)
  gyrX = Wire.read()<<8 | Wire.read(); // reading registers: 0x43 (GYRO_XOUT_H) and 0x44 (GYRO_XOUT_L)
  gyrY = Wire.read()<<8 | Wire.read(); // reading registers: 0x45 (GYRO_YOUT_H) and 0x46 (GYRO_YOUT_L)
  gyrZ = Wire.read()<<8 | Wire.read(); // reading registers: 0x47 (GYRO_ZOUT_H) and 0x48 (GYRO_ZOUT_L)

  Serial.print("aX = ");    Serial.print(toStr(accX));
  Serial.print(" | aY = "); Serial.print(toStr(accY));
  Serial.print(" | aZ = "); Serial.print(toStr(accZ));
  Serial.print(" | gX = "); Serial.print(toStr(gyrX));
  Serial.print(" | gY = "); Serial.print(toStr(gyrY));
  Serial.print(" | gZ = "); Serial.print(toStr(gyrZ));

  /**
   * The following parameters are taken from the documentation [MPU-6000/MPU-6050 Product Specification, p.14]:
   *
   * Temperature sensor is -40°C to +85°C (signed integer)
   * 340 per °C
   * Offset = -512 at 35°C
   * At 0°C: -512 - (340 * 35) = -12412
   */
  temperature = (tVal + 12412.0) / 340.0;
  Serial.print(" | T = ");  Serial.print(toStr((int16_t)temperature)); Serial.print("°C");

  Serial.println();
  delay(500);
}

/**
 * Converts int16 to string.
 * Moreover, resulting strings will have the same length
 */
char* toStr(int16_t value)
{
  char result[7];
  sprintf(result, "%6d", value);
  return result;
}

Was ist mit dem Ground von den Servos?

Ja den Ground der Servo hatte ich auch an Ground angeschlossen , war nur mit einem anderen Kabel zusammen

Okay ansonsten kannst du mal den Skript den ich oben geschickt hab nur mit dem Geschwindigkeitsmesser testen und schauen was dann passiert LG

Ok also soll ich den Sketch auf das Board laden und mit den selben Komponenten testen ? Sprich auch in der Raupe mit fahren und Servo testen ?


Habe gerade mal den MPU unter die Lupe genommen , das Bauteil sieht aber nicht Original aus , komisch ich habe zwei von den MPU ,bei allen beiden sind die Bauteile verschoben

Ne nur den sensor anschließen und am pc lassen und dann in den seriellen monitor anschauen

Das sieht tastächlich etwas komisch aus..

Zurück schicken.
Bei welcher Bruchbude hast Du das Zeug gekauft?
Miss mal zwischen dem schiefen Anschluss des Widerstands uns seinem zugehörigen Anschluss und den daneben liegenden Anschlüssen den Widerstand (im stromlosen Zustand).

Gruß Tommy

Hab die bei Amazon im 3 Pack gekauft , hab gerade alle 3 mal angeschaut , alles drei das selbe, ich werde mir jetzt erst mal neue Besorgen.
Messen kann ich leider nicht

Ein einfaches Digitalmultimeter, das auch Widerstand/Durchgang messen kann, ist ein absolutes Muss, wenn man mit Elektronik basteln will.
Gibst Du uns noch den Link bei Amazon, damit dort keiner mehr kauft. (Es sei denn es wäre AZ-..., dann ist das sowieso erledigt)

Gruß Tommy

Ah Digitalmultimeter habe ich , ich versuche es mal zu messen

Hier der Link

AZ... keine weitere Fragen. Die sind für schlechte Qualität bekannt und wissen auch nicht wirklich, was sie verkaufen.
In ihren "eBooks" beschreiben sie auch mal andere IC, als auf der Platine drauf sind.
Finger weg von denen.

Gruß Tommy

1 Like

ok Danke hab jetzt mal den Verschobenen gemessen Multimeter Ohm 2 k gestellt Messergebnis 600 und der daneben 2000 ich hoffe ich habe richtig gemessen

Die passen eigentlich beide nicht.
Der am richtigen Anschluss sollte gegen 0 gehen, die Anderen wesentlich größer. Mangels Schaltung kann man das nicht genau abschätzen.

Gruß Tommy

Hast du ein Link wo man die MPU in besserer Qualität bekommt

Ich habe noch keinen gebraucht, aber Pollin ist eigentlich immer eine gute Adresse.

Gruß Tommy