树莓派控制外接控件

目录

1.指示灯

2.舵机

3.称重模块 HX711

3.1 接线

3.2 代码

4.音箱

4.1 连接音箱

4.2 使用音箱 

5. 字符型液晶显示模块 LCD1602

5.1 接线

5.2 配置树莓派

5.3 代码调用 

5.4 额外注意

6.使用TX/RX进行通讯

6.1接线 

6.2打开端口

6.3 一些常见命令

6.3.1 查看所有设备 ls -l /dev

6.3.1 波特率

6.4 cutecom


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中输入想要发送的信息,然后按回车就可以发送了

如果有响应的信息就会出现在这里

  • 3
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Suyuoa

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值