최재혁

11월 보고서 및 코드 업로드

import smbus #import SMBus module of I2C
from time import sleep #import
import time
import requests
import json
#some MPU6050 Registers and their Address
PWR_MGMT_1 = 0x6B
SMPLRT_DIV = 0x19
CONFIG = 0x1A
GYRO_CONFIG = 0x1B
INT_ENABLE = 0x38
ACCEL_XOUT_H = 0x3B
ACCEL_YOUT_H = 0x3D
ACCEL_ZOUT_H = 0x3F
GYRO_XOUT_H = 0x43
GYRO_YOUT_H = 0x45
GYRO_ZOUT_H = 0x47
def MPU_Init():
#write to sample rate register
bus.write_byte_data(Device_Address, SMPLRT_DIV, 7)
#Write to power management register
bus.write_byte_data(Device_Address, PWR_MGMT_1, 1)
#Write to Configuration register
bus.write_byte_data(Device_Address, CONFIG, 0)
#Write to Gyro configuration register
bus.write_byte_data(Device_Address, GYRO_CONFIG, 24)
#Write to interrupt enable register
bus.write_byte_data(Device_Address, INT_ENABLE, 1)
def read_raw_data(addr):
#Accelero and Gyro value are 16-bit
high = bus.read_byte_data(Device_Address, addr)
low = bus.read_byte_data(Device_Address, addr+1)
#concatenate higher and lower value
value = ((high << 8) | low)
#to get signed value from mpu6050
if(value > 32768):
value = value - 65536
return value
def upload(datas):
print(type(datas))
params={'datas':datas}
url='http://192.168.0.25:80/upload'
r=requests.post(url,data =json.dumps(params))
print('upload succes')
bus = smbus.SMBus(1) # or bus = smbus.SMBus(0) for older version boards
Device_Address = 0x68 # MPU6050 device address
MPU_Init()
print (" Reading Data of Gyroscope and Accelerometer")
start_time=time.time()
mid_time=time.time()
data=[]
while True:
#Read Accelerometer raw value
acc_x = read_raw_data(ACCEL_XOUT_H)
acc_y = read_raw_data(ACCEL_YOUT_H)
acc_z = read_raw_data(ACCEL_ZOUT_H)
Ax = acc_x/16384.0
Ay = acc_y/16384.0
Az = acc_z/16384.0
value=abs(acc_x+acc_y+acc_z)/10
data.append(value)
if(time.time()>start_time+10):
break
if(time.time()-mid_time>1):
print(time.time()-start_time)
mid_time=time.time()
upload.upload(data)
import pygame
import time
pygame.mixer.init()
test = pygame.mixer.Sound("test4.wav")
start = time.time()
while(True):
test.play()
time.sleep(12)
print(time.time() - start)