Skip to content

Instantly share code, notes, and snippets.

View turbinenreiter's full-sized avatar

Sebastian Plamauer turbinenreiter

View GitHub Profile
@turbinenreiter
turbinenreiter / error_propagation
Last active December 18, 2015 13:09
A small script to show the error propagation of simple integration.
import numpy as np
from scipy import integrate as i
from pylab import *
t = np.arange(0,100,1)
acc = np.empty(100); acc.fill(10)
acc_error = acc + 1
velo = i.cumtrapz(acc, t)
velo_error = i.cumtrapz(acc_error, t)
t = t[0:99]
@turbinenreiter
turbinenreiter / read_sensor_store_EEPROM
Last active December 18, 2015 13:09
This Arduino-sketch reads sensor data from the MPU6050 and stores it in the EEPROM.
#include <EEPROM.h>
#include <MPU6050.h>
#include <I2Cdev.h>
#include <Wire.h>
MPU6050 accelgyro;
int k = 0;
int n = 1025;
int ax, ay, az;
@turbinenreiter
turbinenreiter / read_EEPROM
Created June 15, 2013 14:34
This Arduino-sketch reads data from the EEPROM and prints it to the Serial Monitor.
#include <EEPROM.h>
int m = 0;
int n = 0;
// the setup routine runs once when you press reset:
void setup() {
// initialize serial communication at 9600 bits per second:
Serial.begin(9600);
}
@turbinenreiter
turbinenreiter / data
Created June 15, 2013 14:37
Acceleration data in x-direction, read from the EEPROM, sensed with the MPU6050
98
98
98
98
98
98
98
98
98
98
@turbinenreiter
turbinenreiter / visualization
Created June 15, 2013 14:39
Python script to visualize the data from the MPU6050.
import numpy as np
from pylab import *
acc = []
with open('data') as f:
data = f.readlines()
for value in data:
value_acc = ((int(value))-128)/30.0
@turbinenreiter
turbinenreiter / writeserial
Created December 10, 2013 20:41
Arduino code to send acceleration data to serial port.
#include <MPU6050.h>
#include <I2Cdev.h>
#include <Wire.h>
MPU6050 accelgyro;
int ax, ay, az;
int gx, gy, gz;
int led = 13;
@turbinenreiter
turbinenreiter / serialplot
Created December 10, 2013 20:43
Code to read data from the serial port and plot it.
#!/usr/bin/python
# -*- coding: utf-8 -*-
from pyqtgraph.Qt import QtGui, QtCore
import numpy as np
import pyqtgraph as pg
from pyqtgraph.ptime import time
import serial
app = QtGui.QApplication([])
@turbinenreiter
turbinenreiter / serialplot2
Created March 5, 2014 19:20
plotting data from serial port with matplotlib
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import serial
fig, ax = plt.subplots()
line, = ax.plot(np.random.rand(10))
ax.set_ylim(-5000, 5000)
xdata, ydata = [0]*100, [0]*100
raw = serial.Serial("/dev/ttyUSB1",9600)
@turbinenreiter
turbinenreiter / micropython-html-slides.py
Created April 3, 2016 18:05
a small presentation about MicroPython including a 'webserver' to serve it from a microcontroller
import socket, machine
# This is the HTML, CSS and js to deliver to the client.
# You can (should) store this in another file and read from there,
# but I am lazy.
# The CSS and HTML to display pretty code is from pygments.
upy = """<!DOCTYPE html>
<html>
<head>
<title>I'm a website running on a Microcontroller.</title>
import time
class RangeSensor:
def __init__(self):
pass
def make_generator(self):
t_end = time.time() + 0.1
# tell sensor to start measurement