目录
1.指示灯
import RPi.GPIO as GPIO
GPIO.setwarnings(False)
GPIO.cleanup()
GPIO.setmode(GPIO.BCM)
GPIO.setup(18,GPIO.OUT)
while True:
GPIO.output(18,GPIO.LOW)
GPIO.output(18,GPIO.HIGH)
此处我使用的是BCM编码方式,18对应的是GPIO18,下面我设置了一个循环让这个灯一直灭与亮,设置为GPIO.LOW灯会灭,GPIO.HIGH灯会亮
除了灯之外,所有使用高低电平控制的控件都可以使用这个方法
2.舵机
import time
import RPi.GPIO as GPIO
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
while True:
want_angle = input('input want_angle')
want_angle = float(want_angle)
want_angle = 180.0 - want_angle
GPIO.setup(25, GPIO.OUT)
pwm = GPIO.PWM(25, 50)
pwm.start(0)
current_angle = (9.0/180) * want_angle + 1
pwm.ChangeDutyCycle(current_angle)
time.sleep(1)
pwm.stop()
这个我没特意调试,每一个循环中我们可以输入一个值,之后这个值会影响占空比,之后有时间我再调试一下,这个测试过能动
接线方面是红线接5V,黑线接地,橙色是信号线,我这里接的是GPIO25,代码中的25的意思就是GPIO25
3.称重模块 HX711
3.1 接线
侧为树莓派板,右侧为HX711模块
VCC ——Pin 2 (5V)
GND——Pin 6 (GND)
DT—— Pin 29 (GPIO 5)
SCK——Pin 31 (GPIO 6)
其中DT与SCK的位置可在代码中进行更改
最右侧A-,A+,E-,E+连接对象为5KG悬梁臂
3.2 代码
首先要下载hx711.py这个文件,然后在我们需要的做称重的py文件中导入它,hx711.py下载地址
链接:https://pan.baidu.com/s/1COEb4_PCJyIqBFYp3ZUCmQ
提取码:sl0w
之后是调用
from hx711 import HX711
hx = HX711(5, 6)
hx.set_reading_format("MSB", "MSB")
hx.set_reference_unit(1)
hx.reset()
hx.tare()
val = hx.get_weight(5)
这个val就是我们获取的重量值,我们可以根据不同的单位对val进行调整
4.音箱
4.1 连接音箱
4.2 使用音箱
在树莓派使用python代码打开音频需安装ffmpeg omxplayer,在命令行中输入
sudo apt-get install ffmpeg omxplayer
之后在程序中加入代码
omxplayer -o local test.wav
即可播放音频,音频需要与代码在同一个目录下,当然这个是终端的命令,我们如果在Python解释器中应该这样用
当然也可以不通过代码使用音箱,直接点击音乐文件同样可以播放
5. 字符型液晶显示模块 LCD1602
5.1 接线
接的是这四个引脚
5.2 配置树莓派
进行树莓派配置设置,打开I2C端口
安装库RPLCD与smbus2
查看I2C占用的端口地址
5.3 代码调用
import smbus2
from RPLCD.i2c import CharLCD
import sys
sys.modules['smbus'] = smbus2
lcd = CharLCD('PCF8574',address=0x27,port=1,backlight_enabled = True)
lcd.clear #清空屏幕
lcd.cursor_pos = (0,0) #设置字符在屏幕上出现的位置为第0行第0列
lcd.write_string('hello world')
smbus2和RPLCD是之前环境配置时装的库,address=0x27是上面I2C占用的端口地址,backlight_enabled背后的布尔值是调整背面灯是否亮
5.4 额外注意
如果接线是按照图上接的,代码是按照上面使用的,屏幕上还没有字,这个时候需要用螺丝刀调节画圆圈处的背光对比度,对比度不对也会让字不能被看到。
6.使用TX/RX进行通讯
6.1接线
树莓派的TXD接对方的RXD,树莓派的RXD接对方的TXD
6.2打开端口
我这里只开启了VNC和Serial Port,如果再开启其他的,可能会有冲突
然后点击OK,应该需要重新启动一下
6.3 一些常见命令
6.3.1 查看所有设备 ls -l /dev
dev中有很多内容,串口也在dev中,我们常用这两个
6.3.1 波特率
查看波特率 sudo stty -F /dev/ttyS0
设置波特率 sudo stty -F /dev/ttyS0 112500
6.4 cutecom
cutecom是一个tx,rx的调试工具
使用 sudo apt-get install cutecom就可以安装了
在终端中输入 sudo cutecom 可以打开cutecom
点击settings可以对/dev/ttyS0这个端口进行发送前的配置
配置完毕后点这里的Open
之后在input中输入想要发送的信息,然后按回车就可以发送了
如果有响应的信息就会出现在这里