Exemplo n.º 1
0
    time.sleep(1)
'''
IO1 = 21
IO1Lock = threading.Lock()
IO1Flag = False


def IO1CallBack():
    global IO1Lock, IO1Flag
    IO1Lock.acquire()  # wait key A lock release
    IO1Flag = True
    IO1Lock.release()


io1 = GPIO(IO1, GPIO.IN)
io1.setInterrupt(GPIO.RISING, IO1CallBack)


def main():
    global IO1Lock, IO1Flag
    while True:
        sensor.clear_interrupt()
        while IO1Flag:
            IO1Lock.acquire()  # wait io1 release
            IO1Flag = False
            IO1Lock.release()
            print("Distance(mm)   :%.f" % sensor.get_distance())
            time.sleep(0.1)
        time.sleep(0.1)

Exemplo n.º 2
0
    int_pad_Lock.acquire()  # wait intPad  lock release
    int_pad_Flag = True
    int_pad_Lock.release()


#如果你想要用SPI驱动此模块,打开下面两行的注释,并通过SPI连接好模块和树莓派
#RASPBERRY_PIN_CS =  27              #Chip selection pin when SPI is selected
#acce = DFRobot_H3LIS200DL_SPI(RASPBERRY_PIN_CS)

#如果你想要应IIC驱动此模块,打开下面三行的注释,并通过I2C连接好模块和树莓派
I2C_MODE = 0x01  #default use I2C1
ADDRESS_0 = 0x19  #I2C address
acce = DFRobot_H3LIS200DL_I2C(I2C_MODE, ADDRESS_0)

int_pad = GPIO(INT1, GPIO.IN)  # set int_Pad to input
int_pad.setInterrupt(GPIO.FALLING,
                     int_pad_callback)  #set int_Pad interrupt callback
#Chip initialization
acce.begin()
#Get chip id
print("chip id :")
print(acce.getID())
'''
set range:Range(g)
         RANGE_100_G   # ±100g
         RANGE_200_G   # ±200g
'''
acce.set_range(acce.RANGE_100_G)
'''
Set data measurement rate
     POWERDOWN_0HZ 
     LOWPOWER_HALFHZ