From a4cdaa4c199e96fa1476406b0864234f2eb9f076 Mon Sep 17 00:00:00 2001 From: Raghav <62105787+MythicalCow@users.noreply.github.com> Date: Sun, 18 Jul 2021 16:11:09 -0400 Subject: [PATCH] Add files via upload --- communication/RaspberrySerialReader.py | 9 ++ communication/Serial_ArduinoIMU.ino | 117 +++++++++++++++++++++++++ 2 files changed, 126 insertions(+) create mode 100644 communication/RaspberrySerialReader.py create mode 100644 communication/Serial_ArduinoIMU.ino diff --git a/communication/RaspberrySerialReader.py b/communication/RaspberrySerialReader.py new file mode 100644 index 0000000..d6228fe --- /dev/null +++ b/communication/RaspberrySerialReader.py @@ -0,0 +1,9 @@ +#!/usr/bin/env python3 +import serial +if __name__ == '__main__': + ser = serial.Serial('/dev/tty.usbserial-01BE27D0', 115200, timeout=1) + ser.flush() + while True: + if ser.in_waiting > 0: + line = ser.readline().decode('utf-8').rstrip() + print(line) \ No newline at end of file diff --git a/communication/Serial_ArduinoIMU.ino b/communication/Serial_ArduinoIMU.ino new file mode 100644 index 0000000..a462944 --- /dev/null +++ b/communication/Serial_ArduinoIMU.ino @@ -0,0 +1,117 @@ +// Basic demo for accelerometer readings from Adafruit MPU6050 + +#include +#include +#include + +Adafruit_MPU6050 mpu; + +void setup(void) { + Serial.begin(115200); + while (!Serial) + delay(10); // will pause Zero, Leonardo, etc until serial console opens + + Serial.println("Adafruit MPU6050 test!"); + + // Try to initialize! + if (!mpu.begin()) { + Serial.println("Failed to find MPU6050 chip"); + while (1) { + delay(10); + } + } + Serial.println("MPU6050 Found!"); + + mpu.setAccelerometerRange(MPU6050_RANGE_8_G); + Serial.print("Accelerometer range set to: "); + switch (mpu.getAccelerometerRange()) { + case MPU6050_RANGE_2_G: + Serial.println("+-2G"); + break; + case MPU6050_RANGE_4_G: + Serial.println("+-4G"); + break; + case MPU6050_RANGE_8_G: + Serial.println("+-8G"); + break; + case MPU6050_RANGE_16_G: + Serial.println("+-16G"); + break; + } + mpu.setGyroRange(MPU6050_RANGE_500_DEG); + Serial.print("Gyro range set to: "); + switch (mpu.getGyroRange()) { + case MPU6050_RANGE_250_DEG: + Serial.println("+- 250 deg/s"); + break; + case MPU6050_RANGE_500_DEG: + Serial.println("+- 500 deg/s"); + break; + case MPU6050_RANGE_1000_DEG: + Serial.println("+- 1000 deg/s"); + break; + case MPU6050_RANGE_2000_DEG: + Serial.println("+- 2000 deg/s"); + break; + } + + mpu.setFilterBandwidth(MPU6050_BAND_21_HZ); + Serial.print("Filter bandwidth set to: "); + switch (mpu.getFilterBandwidth()) { + case MPU6050_BAND_260_HZ: + Serial.println("260 Hz"); + break; + case MPU6050_BAND_184_HZ: + Serial.println("184 Hz"); + break; + case MPU6050_BAND_94_HZ: + Serial.println("94 Hz"); + break; + case MPU6050_BAND_44_HZ: + Serial.println("44 Hz"); + break; + case MPU6050_BAND_21_HZ: + Serial.println("21 Hz"); + break; + case MPU6050_BAND_10_HZ: + Serial.println("10 Hz"); + break; + case MPU6050_BAND_5_HZ: + Serial.println("5 Hz"); + break; + } + + Serial.println(""); + delay(100); +} + +void loop() { + + /* Get new sensor events with the readings */ + sensors_event_t a, g, temp; + mpu.getEvent(&a, &g, &temp); + + /* Print out the values */ + Serial.print("Acceleration X: "); + Serial.print(a.acceleration.x); + Serial.print(", Y: "); + Serial.print(a.acceleration.y); + Serial.print(", Z: "); + Serial.print(a.acceleration.z); + Serial.println(" m/s^2"); + + Serial.print("Rotation X: "); + Serial.print(g.gyro.x); + Serial.print(", Y: "); + Serial.print(g.gyro.y); + Serial.print(", Z: "); + Serial.print(g.gyro.z); + Serial.println(" rad/s"); + + Serial.print("Temperature: "); + Serial.print(temp.temperature); + Serial.println(" degC"); + + Serial.println(""); + delay(500); +}