Skip to content
Snippets Groups Projects
Select Git revision
  • fa2e701e23104e7b970294d44b4015a7e5928ffd
  • wip-bootstrap default
  • dualcore
  • ch3/leds
  • ch3/time
  • master
6 results

datalogger.py

Blame
  • datalogger.py 1.13 KiB
    # 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:
    
        # wait for interrupt
        # this reduces power consumption while waiting for switch press
        pyb.wfi()
    
        # 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