RPi Relay Board (B)

来自丢石头百科
RPi Relay Board (B)
RPi Relay Board (B)
基本信息

分类: 树莓派 继电器

品牌: Waveshare

功能简介
特性

Raspberry Pi继电器扩展板

接口

RPi接口

相关产品

{{{related}}}

基础说明

本模块提供树莓派和Jetson Nano程序

接口说明

继电器通道和 Pi 引脚的对应关系:

通道标号 RPi引脚号 wiringPi BCM 描述
通道标号 29 P21 5 通道1
通道标号 31 P22 6 通道2
通道标号 33 P23 13 通道3
通道标号 36 P27 16 通道4
通道标号 35 P24 19 通道5
通道标号 38 P28 20 通道6
通道标号 40 P29 21 通道7
通道标号 37 P25 26 通道8

【注意】PCB 上的丝印标示对应 BCM 编码。

黄色跳冒用途

Relay_JMP 是继电器控制管脚选择跳线。当连接跳线帽时,即可使用树莓派控制继电器。

连接方式

注:提供的资料是按照连接方式一(通过40pin排母)来进行的,自行分配引脚时请按实际情况更改

  • 板载40pin排母,可直接与树莓派相连,Relay_JMP处使用跳线帽连接,可直接使用树莓派控制继电器。继电器控制引脚与树莓派对应关系详见#接口说明

RPi Relay Board (B) 连接方式1.png

  • 将Relay_JMP处跳线帽拿掉,可使用杜邦线由 12 出引出到树莓派引脚,此时连接的树莓派引脚可由用户自行设定,可不用按照#接口说明来,值得注意的是选择树莓派引脚时应谨慎选择,应避免出现功能冲突等问题。

RPi Relay Board (B) 连接方式2.png

树莓派使用

安装库

  • 安装BCM2835, 打开树莓派终端,并运行一下指令
wget http://www.airspayce.com/mikem/bcm2835/bcm2835-1.60.tar.gz
tar zxvf bcm2835-1.60.tar.gz 
cd bcm2835-1.60/
sudo ./configure
sudo make
sudo make check
sudo make install
# 更多的可以参考官网:http://www.airspayce.com/mikem/bcm2835/
  • 安装wiringPi
sudo apt-get install wiringpi
#对于树莓派4B可能需要进行升级:
cd /tmp
wget https://project-downloads.drogon.net/wiringpi-latest.deb
sudo dpkg -i wiringpi-latest.deb
gpio -v
# 运行gpio -v会出现2.52版本,如果没有出现说明安装出错

#Bullseye分支系统使用如下命令:
git clone https://github.com/WiringPi/WiringPi
cd WiringPi
./build
gpio -v
# 运行gpio -v会出现2.70版本,如果没有出现说明安装出错
  • 安装Python函数库
# python2
sudo apt-get update
sudo apt-get install python-pip
sudo pip install RPi.GPIO
# python3
sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install RPi.GPIO

测试例程

终端执行如下命令,下载示例程序,解压到指定目录

sudo apt-get install p7zip
wget http://wiki.diustou.com/w/upload/c/c2/RPi_Relay_Board_B.7z
7zr x RPi_Relay_Board_B.7z -r -o./RPi_Relay_Board_B
sudo chmod 777 -R RPi_Relay_Board_B
cd RPi_Relay_Board_B/RaspberryPi/

Bcm2835程序

进入 Linux 终端,在终端执行以下命令:

cd bcm2835
make
sudo ./Relay_demo

预期结果:模块上的继电器依次闭合,然后依次断开,每个继电器带有响应的指示灯,通过观察指示灯的状态可知。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行

wiringPi程序

进入 Linux 终端,在终端执行以下命令:

cd wiringPi
make
sudo ./Relay_demo

预期结果:模块上的继电器依次闭合,然后依次断开,每个继电器带有响应的指示灯,通过观察指示灯的状态可知。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行

python程序

进入 Linux 终端,在终端执行以下命令:

cd python
sudo python relay_demo.py

预期结果:模块上的继电器依次闭合,然后依次断开,每个继电器带有响应的指示灯,通过观察指示灯的状态可知。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行

网页控制

本例程的网页控制是基于 python Web 框架来控制继电器的。
进入 Linux 终端,在终端执行以下命令:

sudo apt-get install python-bottle
cd python-bottle
sudo python main.py

在谷歌浏览器(其他浏览器可能不兼容)地址栏内输入树莓派 ip 地址,端口号 8080
RPi-Realy Board B python-bottle.png

Jetson nano使用

安装库

sudo apt-get update
sudo apt-get install python3-pip
sudo pip3 install Jetson.GPIO
sudo groupadd -f -r gpio
sudo usermod -a -G gpio your_user_name
sudo cp /opt/nvidia/jetson-gpio/etc/99-gpio.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules && sudo udevadm trigger

测试例程

下载程序并进入指定目录

sudo apt-get install p7zip
wget http://wiki.diustou.com/w/upload/c/c2/RPi_Relay_Board_B.7z
7zr x RPi_Relay_Board_B.7z -r -o./RPi_Relay_Board_B
sudo chmod 777 -R RPi_Relay_Board_B
cd RPi_Relay_Board_B/JetsonNano/

C程序

进入 Linux 终端,在终端执行以下命令:

cd C
make
sudo ./main

预期结果:模块上的继电器依次闭合,然后依次断开,每个继电器带有响应的指示灯,通过观察指示灯的状态可知。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行

python程序

进入 Linux 终端,在终端执行以下命令:

cd python
sudo python relay_demo.py

预期结果:模块上的继电器依次闭合,然后依次断开,每个继电器带有响应的指示灯,通过观察指示灯的状态可知。当用户想要停止运行程序时,按Ctrl+C键可以停止程序的运行

网页控制

本例程的网页控制是基于 python Web 框架来控制继电器的。
进入 Linux 终端,在终端执行以下命令:

sudo apt-get install python-bottle
cd python-bottle
sudo python main.py

在谷歌浏览器(其他浏览器可能不兼容)地址栏内输入树莓派 ip 地址,端口号 8080
RPi-Realy Board B python-bottle.png


FAQ


问题:
为什么控制信号是反的?输出高电平没有反应?
答复:

因为继电器是低电平触发的,输出低电平的时候继电器吸合。



Icon-mail.png 联系 丢石头

我们的工作时间是: 09:00-18:00 (UTC+8 周一到周六)