• 树莓派python 控制GPIO


    sudo pip install rpi.gpio

    #!/usr/bin/env python
    # encoding: utf-8
    
    import RPi.GPIO as GPIO
    import time
    
    # 指定GPIO口的选定模式为GPIO引脚编号模式
    GPIO.setmode(GPIO.BCM)
    
    # 指定GPIO14的模式为输出模式,且初始状态为低电平。
    # 如果上面GPIO口的选定模式指定为主板模式的话,这里就应该指定8号而不是14号。
    GPIO.setup(14, GPIO.OUT,initial = GPIO.LOW)
    
    # 循环10次
    for i in range(0, 10):
        # 让GPIO14输出高电平(LED灯亮)
        GPIO.output(14, True)
        # 持续一段时间
        time.sleep(0.5)
        # 让GPIO14输出低电平(LED灯灭)
        GPIO.output(14, False)
        # 持续一段时间
        time.sleep(0.5)
    
    GPIO.cleanup()
    # 清理GPIO口
    

      

    #!/usr/bin/env python
    # encoding: utf-8
    import time
    import RPi.GPIO as GPIO
    
    GPIO.cleanup()
    
    GPIO.setmode(GPIO.BCM)
    
    btn_input = 27;
    LED_output = 17;
    
    # GPIO btn_input set up as input.
    GPIO.setup(btn_input, GPIO.IN)
    GPIO.setup(LED_output, GPIO.OUT)
    
    # handle the button event
    def buttonEventHandler_rising (pin):
        # turn LED on
        print('buttonEventHandler_rising',pin)
        GPIO.output(LED_output,True)
        
    
    	
    GPIO.add_event_detect(btn_input, GPIO.RISING , callback=buttonEventHandler_rising, bouncetime=200) 
    
    try:  
        while True : time.sleep(0.1)  
    finally:
        GPIO.remove_event_detect(btn_input)
        GPIO.cleanup()
    

      

    #!/usr/bin/python
    #+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    #|R|a|s|p|b|e|r|r|y|P|i|-|S|p|y|.|c|o|.|u|k|
    #+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    #
    # ultrasonic_1.py
    # Measure distance using an ultrasonic module
    #
    # Author : Matt Hawkins
    # Date   : 09/01/2013
    
    # Import required Python libraries
    import time
    import RPi.GPIO as GPIO
    
    # Use BCM GPIO references
    # instead of physical pin numbers
    GPIO.setmode(GPIO.BCM)
    
    # Define GPIO to use on Pi
    GPIO_TRIGGER = 23
    GPIO_ECHO    = 24
    
    print "Ultrasonic Measurement"
    
    # Set pins as output and input
    GPIO.setup(GPIO_TRIGGER,GPIO.OUT)  # Trigger
    GPIO.setup(GPIO_ECHO,GPIO.IN)      # Echo
    
    while 1==1:
    
      # Set trigger to False (Low)
      GPIO.output(GPIO_TRIGGER, False)
      
      # Allow module to settle
      time.sleep(0.5)
      
      # Send 10us pulse to trigger
      GPIO.output(GPIO_TRIGGER, True)
      time.sleep(0.00001)
      GPIO.output(GPIO_TRIGGER, False)
      start = time.time()
      
      
      while GPIO.input(GPIO_ECHO)==0:
        start = time.time()
      
      while GPIO.input(GPIO_ECHO)==1:
        stop = time.time()
      
      # Calculate pulse length
      elapsed = stop-start
      
      # Distance pulse travelled in that time is time
      # multiplied by the speed of sound (cm/s)
      distance = elapsed * 34300
      
      # That was the distance there and back so halve the value
      distance = distance / 2
      
      print "Distance : %.1f" % distance
      
      # Reset GPIO settings
    GPIO.cleanup()
    

      

  • 相关阅读:
    LeetCode 18. 4Sum (四数之和)
    开运算、闭运算、形态学梯度、顶帽、黑帽
    膨胀和腐蚀
    四种滤波方式
    关于平滑处理及图像滤波与滤波器
    27、简述redis的有哪几种持久化策略及比较?
    26、redis中默认有多少个哈希槽?
    25、如何实现redis集群?
    大聊Python----Select解析
    大聊Python----IO口多路复用
  • 原文地址:https://www.cnblogs.com/ahuo/p/10868816.html
Copyright © 2020-2023  润新知