Python的教程可以参考 《简明Python教程》
在树莓派系统里面已经安装了两个版本的Python,Python 3不完全向下兼容 Python 2。当前咱们用Python 2即可。可以通过命令行测试:
- root@raspberrypi:/home/pi# python
- Python 2.7.3 (default, Jan 13 2013, 11:20:46)
- [GCC 4.6.3] on linux2
- Type "help", "copyright", "credits" or "license" for more information.
- >>> 2+3
- 5
- >>>
复制代码
检测 是否有安装好GPIO模块,如果没有出错提示,说明有安装
- >>> import RPi.GPIO as GPIO
复制代码
如果没有安装模块先按Ctrl+d 退出Python命令行,通过如下命令安装:
- root@raspberrypi:/home/pi# apt-get update
- root@raspberrypi:/home/pi# apt-get install python-rpi.gpio
复制代码
安装完后从新导入GPIO模块测试一下
此时我们可以先通过Python命令行的形式来测试下GPIO,这也是Python比较方便的地方
- >>> import RPi.GPIO as GPIO
- >>> GPIO.setmode(GPIO.BCM)
- >>> GPIO.setup(25,GPIO.OUT)
- >>> GPIO.output(25,GPIO.HIGH)
- >>> GPIO.output(25,GPIO.LOW)
复制代码
接下来我们编写一个LED灯闪烁的代码,并保存为blink.py 在这里 使用 SSH方式登录树莓派 然后使用nano来新建并保存文件实际上是速度最快最好操作的
- #!usr/bin/python
- import RPi.GPIO as GPIO
- import time
-
- GPIO.setmode(GPIO.BCM)
- GPIO.setup(25,GPIO.OUT)
-
- while True:
- GPIO.output(25,GPIO.HIGH)
- time.sleep(1)
- GPIO.output(25,GPIO.LOW)
- time.sleep(1)
复制代码
GPIO.setmode(GPIO.BCM) 是设置GPIO命名模式,我们使用芯片厂Broadcom编码方式
time.sleep(1) 是使用time模块的sleep函数 暂停 1秒
通过命令执行blink.py
- root@raspberrypi:/home/pi# python blink.py
复制代码
看看连接在GPIO25口上的LED是否在闪烁
按 Ctrl+c 推出程序
下面我们来测试 GPIO的输入功能,我们在GPIO24上接一个按钮,然后新建一个button.py 的文件编写以下代码:
- import RPi.GPIO as GPIO
- import time
-
- GPIO.setmode(GPIO.BCM)
- GPIO.setup(24,GPIO.IN)
-
- count = 0
-
- while True:
- inputValue = GPIO.input(24)
- if(inputValue == True): #读取GPIO24状态
- time.sleep(0.02) #延迟20ms 重新读取GPIO24状态
- inputValue = GPIO.input(24)
- if(inputValue == True): #如果两次都是高电平,说明有按钮按下,滤除干扰信号
- while True:
- inputValue = GPIO.input(24)
- if(inputValue == False): # 等待按钮释放才退出检测第二此按下动作
- count = count + 1
- print"Button pressed " + str(count) + " time."
- break
- time.sleep(.01) #在 while 死循环里面休眠,这样CPU其他任务才能执行
- time.sleep(.01)
复制代码
执行这个代码
- root@raspberrypi:/home/pi# python button.py
- Button pressed 1 time.
- Button pressed 2 time.
- Button pressed 3 time.
- Button pressed 4 time.
复制代码
|