树梅派 GPIO控制
来源:互联网 发布:李天生vb.net视频教程 编辑:程序博客网 时间:2024/06/07 16:59
1、安装RPi.GPIO
下载RPi.GPIO库:https://pypi.python.org/pypi/RPi.GPIO
下载SPI控制spidev库: https://pypi.python.org/pypi/spidev
下载解压:
先安装python-dev,
sudo apt-get install python-dev
如果出现依赖项无法安装的问题
需要先进行更新软件源和更新安装包:
一般更新后可以正常安装好python-dev。
然后 cd到相应的文件夹安装 RPi .GPIO 和 spidev。
cd 到 RPi.GPIO内安装
sudo python setup.py install
cd 到 spidev内安装
sudo python setup.py install
安装smbus库,I2C接口库函数 和 serial库,UART接口库函数:
安装完这几个库,就可以使用基于pyhon的GPIO的操作了。
GPIO.setmode(GPIO.BOARD),采用插座引脚编号方式
- # -*- coding: utf-8 -*-
- import RPi.GPIO as GPIO
- import time
- # BOARD编号方式,基于插座引脚编号
- GPIO.setmode(GPIO.BOARD)
- # 输出模式
- GPIO.setup(11, GPIO.OUT)
- while True:
- GPIO.output(11, GPIO.HIGH)
- time.sleep(1)
- GPIO.output(11, GPIO.LOW)
- time.sleep(1)
可以使用下列代码(强制的)指定一种编号规则:
GPIO.setmode(GPIO.BOARD) # orGPIO.setmode(GPIO.BCM)
下面代码将返回被设置的编号规则
mode = GPIO.getmode()
警告
如果RPi.GRIO检测到一个引脚已经被设置成了非默认值,那么你将看到一个警告信息。你可以通过下列代码禁用警告:
GPIO.setwarnings(False)
引脚设置
在使用一个引脚前,你需要设置这些引脚作为输入还是输出。配置一个引脚的代码如下:
# 将引脚设置为输入模式GPIO.setup(channel, GPIO.IN)# 将引脚设置为输出模式GPIO.setup(channel, GPIO.OUT)# 为输出的引脚设置默认值GPIO.setup(channel, GPIO.OUT, initial=GPIO.HIGH)
释放
一般来说,程序到达最后都需要释放资源,这个好习惯可以避免偶然损坏树莓派。释放脚本中的使用的引脚:
GPIO.cleanup()
输出
要想点亮一个LED灯,或者驱动某个设备,都需要给电流和电压他们,这个步骤也很简单,设置引脚的输出状态就可以了,代码如下:
GPIO.output(channel, state)
状态可以设置为0 / GPIO.LOW / False / 1 / GPIO.HIGH / True。如果编码规则为,GPIO.BOARD,那么channel就是对应引脚的数字。
读取
我们也常常需要读取引脚的输入状态,获取引脚输入状态如下代码:
GPIO.input(channel)
低电平返回0 / GPIO.LOW / False,高电平返回1 / GPIO.HIGH / True。
如果输入引脚处于悬空状态,引脚的值将是漂动的。换句话说,读取到的值是未知的,因为它并没有被连接到任何的信号上,直到按下一个按钮或开关。由于干扰的影响,输入的值可能会反复的变化。
使用如下代码可以解决问题:
GPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_UP) # orGPIO.setup(channel, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
需要注意的是,上面的读取代码只是获取当前一瞬间的引脚输入信号。
参考: http://blog.csdn.net/xmm1981/article/details/53156992
http://www.waveshare.net/study/article-742-1.html
http://www.runoob.com/python/python-tutorial.html
http://www.waveshare.net/study/article-601-1.html
- 树梅派 GPIO控制
- GPIO控制
- 利用GPIO的命令控制树梅派的GPIO
- 利用中断方式控制树梅派的GPIO
- 2440 GPIO 控制方法
- S3C2440--GPIO控制.
- s3c2440的GPIO控制
- dsp gpio控制
- raspberry GPIO控制第一步
- GPIO口控制学习
- 用C控制GPIO
- Am335x 之GPIO控制
- mtk android ,gpio控制
- BeagleBone的GPIO控制
- echo命令控制gpio
- 树莓派控制GPIO
- 树莓派GPIO控制
- openwrt 控制gpio
- HIVE的动态分区插入
- tensorflow 中的embedding 报错问题解决
- Android 多线程延迟(sleep)
- Hadoop集群下进行Zookeeper安装
- 实体类JavaBean转Xml-JAXB的使用分享
- 树梅派 GPIO控制
- 理解 Linux 的硬链接与软链接
- 随机数对某一个范围的覆盖率的计算
- 制作一个表格,显示班级的学生信息
- Lintcode 40:Implement Queue by Two Stacks
- Java入门词汇表
- Unionfind----128. Longest Consecutive Sequence
- jsp响应
- swift3.0 学习 fileprivate lazy var 类型问题