30 lines
1.0 KiB
Python
30 lines
1.0 KiB
Python
|
# datalogger.py
|
||
|
# Logs the data from the acceleromter to a file on the SD-card
|
||
|
|
||
|
import pyb
|
||
|
|
||
|
# creating objects
|
||
|
accel = pyb.Accel()
|
||
|
blue = pyb.LED(4)
|
||
|
switch = pyb.Switch()
|
||
|
|
||
|
# loop
|
||
|
while True:
|
||
|
|
||
|
# start if switch is pressed
|
||
|
if switch():
|
||
|
pyb.delay(200) # delay avoids detection of multiple presses
|
||
|
blue.on() # blue LED indicates file open
|
||
|
log = open('1:/log.csv', 'w') # open file on SD (SD: '1:/', flash: '0/)
|
||
|
|
||
|
# until switch is pressed again
|
||
|
while not switch():
|
||
|
t = pyb.millis() # get time
|
||
|
x, y, z = accel.filtered_xyz() # get acceleration data
|
||
|
log.write('{},{},{},{}\n'.format(t,x,y,z)) # write data to file
|
||
|
|
||
|
# end after switch is pressed again
|
||
|
log.close() # close file
|
||
|
blue.off() # blue LED indicates file closed
|
||
|
pyb.delay(200) # delay avoids detection of multiple presses
|