Raspberry精要

来自Jack's Lab
(版本间的差异)
跳转到: 导航, 搜索
(在数梅派安装Arduino IDE)
(GPIO命名规范)
 
第56行: 第56行:
  
 
硬件标注, Python, 命令行各有一套自己的命名和编号规则.
 
硬件标注, Python, 命令行各有一套自己的命名和编号规则.
 +
  
 
在命令行工具 gpio 是很有用的一个工具。能给出各种命名的映射关系。
 
在命令行工具 gpio 是很有用的一个工具。能给出各种命名的映射关系。
 +
  
 
而gpio 命令自己所采用的命名规范是Name一列所列出d名字
 
而gpio 命令自己所采用的命名规范是Name一列所列出d名字
 +
  
 
扩展板和硬件标注, 多采用BCM命名规范.
 
扩展板和硬件标注, 多采用BCM命名规范.
 
python库RPi.GPIO 则直接采用Physical引脚编号。
 
 
 
 
 
 
 
 
 
 
  
 
==树莓派LED blink==
 
==树莓派LED blink==

2017年11月16日 (四) 10:08的最后版本

目录

[编辑] 1 更改键盘布局

默认是英国布局 @符号被定义为“, 很不方便。 通常设置键盘布局的方法都不管用。 是因为少了下面的两个命令。

sudo setxkbmap -layout us
sudo udevadm trigger --subsystem-match=input --action=change


[编辑] 2 在数梅派安装Arduino IDE

只需要简单的安装arduino, 即可将数梅派作为一个开发机来用了.


 sudo apt-get update
 sudo apt-get install arduino


  • raspbain的arduino IDE版本略低, 支持UNO没有问题,更新的 Leonardo 和 Due也许还不支持.

[编辑] 3 修改VNC链接分辨率

Raspberry config管理可以方便的安装配置VNC server,只是默认的VNC 分辨率有点低,在网络环境好的情况下可以设置更高的分辨率,以使操作舒适.

vncserver -geometry 1280x800 -depth 16

#命令运行完毕给出一个编号, VNCview内用这个编号连接即可,如果返回1则
vncviewer 192.168.1.209:1

[编辑] 4 数梅派GPIO引脚定义

Raspberry-pi-pinout.png

右图所示为Pi2,Pi3引脚的BCM定义

各个版本详细的GPIO引脚定义参考:


Raspberry 树莓派各个版本的引脚定义




[编辑] 5 GPIO命名规范

Gpio-readall.JPG

不同的软件库对数梅派的GPIO管角命名是不同的.


硬件标注, Python, 命令行各有一套自己的命名和编号规则.


在命令行工具 gpio 是很有用的一个工具。能给出各种命名的映射关系。


而gpio 命令自己所采用的命名规范是Name一列所列出d名字


扩展板和硬件标注, 多采用BCM命名规范.

[编辑] 6 树莓派LED blink

Led-blink.png

将一个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()

[编辑] 7 GPIO复用情况

Rp23 pinout.png

有几个GPIO复用的情况, 或者是linux系统占用了,或者是板载设备占用了GPIO, 会导致GPIO工作异常.


  • OneWire 占用GPIO.4 (物理引脚7)

如果oneWire设备打开, 则GPIO.7会被占用,导致这个口无法使用. 可以用rasp-config关闭.

  • 串口被用做系统控制台

物理口 8, 10 是UART0, 很多情况下可能被Linux. 参考 树莓派实战GPRS 释放UART端口.

  • 启用树梅派第二个SPI设备

使能SPI1

此设备和RPi3 B+的蓝牙有冲突, 需要禁用板载蓝牙. 参考 禁用蓝牙

  • 触摸屏

如果是DSI接口的屏幕, 则不会占用GPIO资源. 其他接口的屏幕多使用SPI/I2C, 会和GPIO冲突.

DSI接口element14教程

  • 摄像头接口

树梅派摄像头是CSI 接口, 和GPIO不冲突.


  • Pin功能复用表

GPIO复用表

[编辑] 8 树莓派典型项目攻略

树莓派实战GPRS

个人工具
名字空间

变换
操作
导航
工具箱