Mesurer la rotation et l’accélération avec le Raspberry Pi

Mesurer la rotation et lacceleration avec le Raspberry Pi
Mesurer la rotation et lacceleration avec le Raspberry Pi

#! / usr / bin / python

importation smbus

importation math

# S’inscrire

power_mgmt_1 = 0x6b

power_mgmt_2 = 0x6c

def read_byte(reg):

revenir autobus.read_byte_data(adresse, reg)

def read_word(reg):

h = autobus.read_byte_data(adresse, reg)

l = autobus.read_byte_data(adresse, reg+1)

valeur = (h << 8) + l

revenir valeur

def read_word_2c(reg):

val = read_word(reg)

si (val > = 0x8000):

revenir ((65535 val) + 1)

autre:

revenir val

def dist(une,b):

revenir math.sqrt((une*une)+(b*b))

def get_y_rotation(X,y,z):

radians = math.atan2(X, dist(y,z))

revenir math.degrés(radians)

def get_x_rotation(X,y,z):

radians = math.atan2(y, dist(X,z))

revenir math.degrés(radians)

autobus = smbus.SMBus(1) # bus = smbus.SMBus (0) fuer Révision 1

adresse = 0x68 # via i2cdetect

# Aktivieren, um das Modul ansprechen zu koennen

autobus.write_byte_data(adresse, power_mgmt_1, 0)

impression « Gyroskop »

impression « ——–« 

gyroskop_xout = read_word_2c(0x43)

gyroskop_yout = read_word_2c(0x45)

gyroskop_zout = read_word_2c(0x47)

impression « gyroskop_xout: », (« % 5d » % gyroskop_xout), « skaliert: », (gyroskop_xout / 131)

impression « gyroskop_yout: », (« % 5d » % gyroskop_yout), « skaliert: », (gyroskop_yout / 131)

impression « gyroskop_zout: », (« % 5d » % gyroskop_zout), « skaliert: », (gyroskop_zout / 131)

impression

impression « Beschleunigungssensor »

impression « ———————« 

beschleunigung_xout = read_word_2c(0x3b)

beschleunigung_yout = read_word_2c(0x3d)

beschleunigung_zout = read_word_2c(0x3f)

beschleunigung_xout_skaliert = beschleunigung_xout / 16384.0

beschleunigung_yout_skaliert = beschleunigung_yout / 16384.0

beschleunigung_zout_skaliert = beschleunigung_zout / 16384.0

impression « beschleunigung_xout: », (« % 6d » % beschleunigung_xout), « skaliert: », beschleunigung_xout_skaliert

impression « beschleunigung_yout: », (« % 6d » % beschleunigung_yout), « skaliert: », beschleunigung_yout_skaliert

impression « beschleunigung_zout: », (« % 6d » % beschleunigung_zout), « skaliert: », beschleunigung_zout_skaliert

impression « Rotation X: » , get_x_rotation(beschleunigung_xout_skaliert, beschleunigung_yout_skaliert, beschleunigung_zout_skaliert)

impression « Rotation Y: » , get_y_rotation(beschleunigung_xout_skaliert, beschleunigung_yout_skaliert, beschleunigung_zout_skaliert)

  • GeeekPi pour Raspberry Pi Zero/Zero W, Kit de démarrage avec Acrylique Raspberry Pi Zero Case, en-tête GPIO 20 Broches, Câble OTG, Câble de commutateur, Adaptateur HDMI, radiateur et Tournevis
    Compatible avec Raspberry Pi Zero et Raspberry Pi Zero W (Raspberry Pi Zero Board n'est pas inclus) Le dissipateur thermique permet une meilleure dissipation de la chaleur et l'en-tête GPIO facilite la connexion des ports GPIO. Boîtier en acrylique avec 2 couvercles et vis à installer. Accès à tous les ports de Raspberry Pi Zero Board. Le forfait comprend un boîtier, un dissipateur thermique, un câble de commutateur, un câble OTG, un adaptateur HDMI, une entête GPIO et un tournevis
  • GeeekPi pour Raspberry Pi Zero/Zero W, démarrage Kit avec Acrylique Raspberry Pi Zero Case, en-tête GPIO 20 Broches, Câble OTG, Câble de commutateur, Adaptateur HDMI, radiateur et Tournevis (Noir)
    Compatible avec Raspberry Pi Zero et Raspberry Pi Zero W (la carte Raspberry Pi Zero n'est pas incluse) Le dissipateur thermique est pour une meilleure dissipation thermique et l'en-tête GPIO facilite la connexion des ports GPIO. Boîtier en acrylique avec 2 couvercles et vis à installer. Accès à tous les ports du Raspberry Pi Zero Board. Le forfait comprend un étui, un dissipateur thermique, un câble de commutation, un câble OTG, un adaptateur HDMI, un en-tête GPIO et un tournevis.
  • Freenove Ultimate Starter Kit for Raspberry Pi 5 4 B 3 B+ 400, 558-Page Detailed Tutorial, Python C Java Scratch Code, 223 Items, 104 Projects
    4 programming languages -> Python (compatible with 2&3), C, Java and Scratch. 558-page detailed tutorial (including basic electronics knowledge) -> The download link can be found on the product box. (No paper tutorial.) 223 items for 104 interesting projects -> Each project has circuit diagrams and verified code with detailed explanations. Compatible models -> Raspberry Pi 5 / 400 / 4B / 3B+ / 3B / 3A+ / 2B / 1B+ / 1A+ / Zero W / Zero. (NOT included in this kit.) Get support -> Our technical support team is always ready to answer your questions.