树莓派GPIO和PWM控制教程

树莓派GPIO和PWM

1. 目的

在汽车电子开发中,CAN通讯是很难避开的一个技术点,当前CAN已经形成了行业内较为稳定的开发及相关测试验证方法,其中一种较为主流的就是使用CANoe和开发相应的CAPL脚本配合测试。然而,这套方案下来无论人力财力都是价格不菲,而且面对日异月新的技术发展也显得较为保守。所以笔者尝试使用树莓派配合MCP2515模块,进行低成本的CAN网络节点搭建和报文模拟,试图拓宽一下视野和思路。

本文针对普通外设和通讯外设,分别使用了Python 和 C进行编写控制,可以作为案例以便参考。

2. 材料准备

  • 树莓派 zero w
  • MCP2515模块
  • 2路继电器模块
  • linux 使用基础

在这里插入图片描述

3. 初始设置

树莓派安装最新的官方程序,安装好之后将ssh,gpio,spi等设置统统设为开启。

然后将树莓派连接到局域网wifi,进行ssh登录管理(此处也可使用usb网卡模式进行ssh连接,好处是免除连接屏幕进行系统初始设置)。

ssh连接成功后将树莓派换成国内的源(笔者使用的阿里的源),进行 sudo apt-get updatesudo apt-get upgrade更新。
在这里插入图片描述

我们使用树莓派,需要进行GPIO设置和spi通讯,控制这两部分可以使用官方推荐的WringPi库,在官方系统中是默认安装的。经过如上操作后会将库更新至最新,使用gipo -v进行版本查看,使用gpio readall进行所有引脚定义查看。
在这里插入图片描述

除了WringPi库之外,树莓派还能够使用python进行GPIO的控制操作,导入RPi.GPIO模块即可。

4. GPIO 控制继电器

继电器模块采用[带光耦保护 2路 继电器模块],淘宝可以直接买到,该继电器模块是5v供电,需要两路输出IO进行低有效的控制,根据硬件特性选取树莓派如下引脚,与继电器模块进行连接。
在这里插入图片描述

4.1. 使用Python 的RPi.GPIO模块进行控制

针对继电器,可以使用python的RPi.GPIO模块进行控制,默认系统中会安装此模块,如果没有可以使用如下命令sudo pip3 install RPi.GPIO进行安装。

根据模块物理特性,需要设置38,40两个引脚为低电平输出,设置37脚为PWM模式,使用如下代码进行设置。

import RPi.GPIO as GPIO

# Use BCM chip number as handle
GPIO.setmode(GPIO.BCM)

# Set useful channel
RELAY_1 = 20
RELAY_2 
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值