Raspberry精要
来自Jack's Lab
(版本间的差异)
(→树莓派典型项目攻略) |
|||
第117行: | 第117行: | ||
</source> | </source> | ||
+ | |||
+ | ==GPIO复用情况== | ||
+ | |||
+ | 有几个GPIO复用的情况, 或者是linux系统占用了,或者是板载设备占用了GPIO, 会导致GPIO工作异常. | ||
+ | |||
+ | |||
+ | *OneWire 占用GPIO.7 | ||
+ | 如果oneWire设备打开, 怎GPIO.7会被占用,导致这个口无法使用. 可以用rasp-config关闭. | ||
+ | |||
+ | |||
+ | |||
==树莓派典型项目攻略== | ==树莓派典型项目攻略== |
2017年11月13日 (一) 11:02的版本
目录 |
1 在数梅派安装Arduino IDE
只需要简单的安装arduino, 即可将数梅派作为一个开发机来用了.
sudo apt-get update sudo apt-get install arduino
- raspbain的arduino IDE版本略低, 支持UNO没有问题,更新的 Leonardo 和 Due也许还不支持.
2 修改VNC链接分辨率
Raspberry config管理可以方便的安装配置VNC server,只是默认的VNC 分辨率有点低,在网络环境好的情况下可以设置更高的分辨率,以使操作舒适.
vncserver -geometry 1280x800 -depth 16 #命令运行完毕给出一个编号, VNCview内用这个编号连接即可,如果返回1则 vncviewer 192.168.1.209:1
3 数梅派GPIO引脚定义
右图所示为Pi2,Pi3引脚的BCM定义
各个版本详细的GPIO引脚定义参考:
Raspberry 树莓派各个版本的引脚定义
4 GPIO命名规范
不同的软件库对数梅派的GPIO管角命名是不同的.
硬件标注, Python, 命令行各有一套自己的命名和编号规则.
在命令行工具 gpio 是很有用的一个工具。能给出各种命名的映射关系。
而gpio 命令自己所采用的命名规范是Name一列所列出d名字
扩展板和硬件标注, 多采用BCM命名规范.
python库RPi.GPIO 则直接采用Physical引脚编号。
5 树莓派LED blink
将一个led串接330欧姆电阻,接物理引脚(就是2x40排针)的11脚(GPIO.0, BCM P17)和3脚(GND)
直接采用gpio命令
gpio mode GPIO.0 out gpio write GPIO.0 1 gpio write GPIO.0 0 gpio blink GPIO.0
采用python
import RPi.GPIO as GPIO import time LedPin = 11 # pin11 def setup(): GPIO.setmode(GPIO.BOARD) # Numbers GPIOs by physical location GPIO.setup(LedPin, GPIO.OUT) # Set LedPin's mode is output GPIO.output(LedPin, GPIO.HIGH) # Set LedPin high(+3.3V) to turn on led def blink(): while True: GPIO.output(LedPin, GPIO.LOW) # led on time.sleep(0.5) GPIO.output(LedPin, GPIO.HIGH) # led off time.sleep(0.5) def destroy(): GPIO.output(LedPin, GPIO.LOW) # led off GPIO.cleanup() # Release resource if __name__ == '__main__': # Program start from here setup() try: blink() except KeyboardInterrupt: # When 'Ctrl+C' is pressed, the child program destroy() will be executed. destroy()
6 GPIO复用情况
有几个GPIO复用的情况, 或者是linux系统占用了,或者是板载设备占用了GPIO, 会导致GPIO工作异常.
- OneWire 占用GPIO.7
如果oneWire设备打开, 怎GPIO.7会被占用,导致这个口无法使用. 可以用rasp-config关闭.