入手树莓派3+python小试GPIO输出

本文介绍了使用树莓派Raspberry PI3通过Python控制GPIO输出50HZ的3.3V脉冲信号的过程。作者从系统安装开始,详细记录了SD卡烧录系统的步骤,并分享了在MAC环境下遇到的问题及解决办法。最后提到了使用Python控制GPIO的具体实现。

最近因为有个项目需要使用脉冲信号(3.3V TTL电平信号)触发相机按照某个频率进行拍照。(一般需要是30HZ左右)

因为对嵌入式和C语言不熟悉,所以一般的廉价板子对我来说门槛还是比较高的。

平时自学了一些Python,觉得Python很好用,对Python还算了解。

经过调研树莓派可以使用Python编程,而且还有非常丰富的GPIO功能。

因此毫不犹豫购买了一个Raspberry PI 3 和一张32G的SD卡。


到手后马上开始试验

1,SD卡烧录系统

a. 系统文件下载

从官网上https://www.raspberrypi.org/downloads/raspbian/ 下载2017-08-16-raspbian-stretch.img, 大小4.91G

我下载的是带桌面的那一款。

b.烧录系统

使用的是MAC pro, 找了个读取卡插入电脑U口,按照教程一步步走。

参考教程http://shumeipai.nxez.com/2014/05/18/raspberry-pi-under-mac-osx-to-install-raspbian-system.html?variant=zh-cn

要注意需要先 diskutil unmount。 我碰到的问题是 unmout不了(具体的提示忘了),后来格式化SD卡还是不行。

多格了几次就莫名好了,现在也不知道原因。

c. python控制GPIO输出50HZ 3.3V电压

python 的代码很简单,就不在这里show了。网上有很多,大家可以进行搜索。



HAPPY……………………





树莓派4B使用Python控制GPIO有以下两种常见方法: ### 使用RPi.GPIO库 通过`RPi.GPIO`库可以方便地对树莓派GPIO引脚进行操作。以下是示例代码: ```python import RPi.GPIO as GPIO import time # 设置编号方式为基于插座引脚编号 GPIO.setmode(GPIO.BOARD) # 设置11号引脚为输出模式 GPIO.setup(11, GPIO.OUT) while True: # 将11号引脚输出高电平 GPIO.output(11, GPIO.HIGH) time.sleep(1) # 将11号引脚输出低电平 GPIO.output(11, GPIO.LOW) time.sleep(1) ``` 若使用BCM编号方式,代码可改写为: ```python import RPi.GPIO as GPIO import time # 设置编号方式为BCM编号 GPIO.setmode(GPIO.BCM) # 设置17号引脚为输出模式 GPIO.setup(17, GPIO.OUT) while True: # 将17号引脚输出高电平 GPIO.output(17, GPIO.HIGH) time.sleep(1) # 将17号引脚输出低电平 GPIO.output(17, GPIO.LOW) time.sleep(1) ``` 上述代码通过`RPi.GPIO`库控制引脚输出高低电平,实现引脚的闪烁效果,这里使用了`GPIO.setmode`设置编号方式,`GPIO.setup`设置引脚模式,`GPIO.output`输出高低电平[^1]。 ### 使用文件方式 通过操作Linux系统中的GPIO文件也能实现对GPIO引脚的控制,以下是示例代码: ```python import os import time # 导出14号GPIO引脚 os.system("echo 14 > /sys/class/gpio/export") # 设置14号引脚为输出模式 os.system("echo out >/sys/class/gpio/gpio14/direction") nCnt = 1000 while(nCnt): time.sleep(1) # 将14号引脚输出高电平 os.system("echo 1 >/sys/class/gpio/gpio14/value") time.sleep(1) # 将14号引脚输出低电平 os.system("echo 0 >/sys/class/gpio/gpio14/value") print(nCnt) nCnt = nCnt - 1 # 取消导出14号GPIO引脚 os.system("echo 14 > /sys/class/gpio/unexport") ``` 此代码通过`os.system`函数执行Linux命令来操作GPIO文件,实现对引脚的控制,包括导出引脚、设置引脚方向、输出高低电平和取消导出引脚等操作[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值