1337|4

145

帖子

0

TA的资源

一粒金砂(高级)

楼主
 

笔记!GPIO 与 40-pin [复制链接]

GPIO 与 40-pin

Raspberry Pi GPIO与40-pin 对应

任何GPIO引脚都可以在软件中指定为输入或输出,适用广泛用途。

::: warning

GPIO 引脚的编号不按数字顺序排列;板上存在 GPIO 引脚 0 和 1(物理引脚 27 和 28),但保留用于高级用途(见下文)。

:::

Voltages

两个5V引脚、两个3.3V引脚,以及一些不可配置的接地引脚(0V)。意味着输出设置为3.3V,输入为3.3V容差

Outputs

GPIO作为输出,可以设为高(3.3V) 或者低(0V).

Inputs

GPIO作为输入,可以读取为高(3.3V) 或者低(0V)。使用上拉或下拉电阻器可以更轻松地实现。GPIO2 和 GPIO3 固定上拉电阻,其他引脚可以在软件中配置。

More

除了简单的输入和输出设备,GPIO引脚还可以用于各种替代功能,有些可用于所有引脚,有些可用于特定引脚。

  • PWM (脉冲宽度调制)

  • Software PWM available on all pins

  • Hardware PWM available on GPIO12, GPIO13, GPIO18, GPIO19

  • SPI

  • SPI0:MOSI (GPIO10); MISO (GPIO9); SCLK (GPIO11); CE0 (GPIO8), CE1 (GPIO7)

  • SPI1: MOSI (GPIO20); MISO (GPIO19); SCLK (GPIO21); CE0 (GPIO18); CE1 (GPIO17); CE2 (GPIO16)

  • I2C

  • Data: (GPIO2); Clock (GPIO3)

  • EPROM Data: (GPIO0); EEPROM Clock (GPIO1)

  • Serial

  • TX (GPIO14); RX (GPIO15)

GPIO pinout

可以在终端窗口,运行 pinout 查看参考信息。这工具又 GPIO Zero Python库提供,Raspberry Pi os 默认已经安装。

有关 GPIO 引脚高级功能的更多详细信息,参考.

Permissions

为了能使用GPIO端口,你需要将用户加到 gpio 组。 pi 用户默认是在gpio组中,其他用户需要自己加入。

sudo usermod -a -G gpio <username>

GPIO in Python

GPIO Zero 可以很方便使用python控制GPIO,文档参考.

LED

使用GPIO17 控制led,示例:

  1. from gpiozero import LED

  2. from time import sleep

  3. led = LED(17)
  4. whileTrue:
  5. led.on()

  6. sleep(1)

  7. led.off()

  8. sleep(1)

使用 python file 运行示例,Led将反复闪烁和熄灭。

LED 函数包括: on(), off(), toggle(), and blink().

BUTTON

使用GPIO2 读取按键状态,示例:

  1. from gpiozero import Button

  2. from time import sleep

  3. button = Button(2)
  4. whileTrue:
  5. if button.is_pressed:

  6. print("Pressed")

  7. else:

  8. print("Released")

  9. sleep(1)

按钮功能包括

属性: is_pressed 、 is_held

回调函数: when_pressed 、 when_released 、 when_held

方法:wait_for_press 、wait_for_release

BUTTON + LED

按钮和LED组合使用:

  1. from gpiozero import LED, Button

  2. led = LED(17)
  3. button = Button(2)

  4. whileTrue:
  5. if button.is_pressed:

  6. led.on()

  7. else:

  8. led.off()

或者:

  1. from gpiozero import LED, Button

  2. led = LED(17)
  3. button = Button(2)

  4. whileTrue:
  5. button.wait_for_press()

  6. led.on()

  7. button.wait_for_release()

  8. led.off()

or:

  1. from gpiozero import LED, Button

  2. led = LED(17)
  3. button = Button(2)

  4. button.when_pressed = led.on
  5. button.when_released = led.off

深入

更多关于 GPIO Zero Python库,

链接已隐藏,如需查看请登录或者注册

最新回复

在使用GPIO时还需要注意输出电流和电压等参数,以免对外部电路造成损坏。   详情 回复 发表于 2023-3-23 20:22
点赞 关注
 
 

回复
举报

6802

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

任何GPIO引脚都可以在软件中指定为输入或输出,这个还是挺实用

 
 
 

回复

145

帖子

0

TA的资源

一粒金砂(高级)

板凳
 
Jacktang 发表于 2023-3-23 07:34 任何GPIO引脚都可以在软件中指定为输入或输出,这个还是挺实用

是的,是公司的做工控机的工程师给的。

 
 
 

回复

4854

帖子

3

TA的资源

版主

4
 

在使用GPIO时还需要注意输出电流和电压等参数,以免对外部电路造成损坏。

 
 
 

回复

145

帖子

0

TA的资源

一粒金砂(高级)

5
 
led2015 发表于 2023-3-23 20:22 在使用GPIO时还需要注意输出电流和电压等参数,以免对外部电路造成损坏。

说的正确,给你点赞

 
 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表