六月还能种植雪松吗?

小说:六月还能种植雪松吗?作者:建通海公更新时间:2019-04-20字数:85899

买来的树莓派3b已经放了很久的直播,感觉十分浪费,便随便倒腾了一下,做了一个最简单的遥控小车,功能十分基本,可以很方便的用来改造成别的用途。

我在这里简单地说一下步骤,同时也做一下整理和记录:

1.写在前面

本教程使用树莓派作为主控,如果你只是想做一个简单的遥控小车,我并不推荐你使用树莓派。最实惠的方案是使用esp8266来作为主控芯片,在其片内进行编程。本教程所做的小车可以方便以后的升级(如添加摄像头,GPS定位等等),因为树莓派的性能更高。

2.准备材料材

料列表仅供参考,可以根据自己的需要来进行增减。

  • 树莓派3B

  • 一个三轮车模,带电机(淘宝上自己搜,大概十几块)

  • 12V锂电池(可用电池盒+5号电池代替,如果你不嫌费电的话)

  • 12v输入,5v输出的双路输出电驱

  • 12v转5v的稳压板

  • 测电压用的模块(比如四旋翼用的BB响,可选,仅为了防止锂电池过放)

  • 导线若干

  • 扎带若干

  • 拼装焊接所需要的电烙铁,斜口钳,螺丝刀等

以上材料除去工具与树莓派板子,总价不会超过一百元。

3.简单拼装

▼拼装这一部分就不好用纯文本表达了,我在这里画张图吧:

▼拼好之后是这样的:

4.设置树莓派开机自启打开wifi热点

首先下载工具:

git clone https://github.com/oblique/create_ap.git

如果你上面的命令执行时报错,请先安装git:

sudo apt-get install git

安装依赖库:

sudo apt-get install util-linux procps hostapd iproute2 iw haveged dnsmasq

编辑开机启动的脚本文件:

sudo nano /etc/rc.local

在exit0的前面加上如下命令:

nohup create_ap -n wlan0 你的wifi名 你的wifi密码

重启树莓派,你就可以搜到它开的wifi热点了:

sudo reboot

5.编写控制电机和接受命令的脚本

这一步我不讲解代码的含义,请自行理解吧。。

文件名:car.py

文件内容:

#coding:utf-8
#文件作者:晨旭
#chenxublog.com
import socket
from time import ctime
import RPi.GPIO as GPIO
import time
 
#引脚号自行测试
left_back = 16
left_forward = 20
right_forward = 13
right_back = 19
 
#使用板载编号
GPIO.setmode(GPIO.BCM)
 
#设置为输出模式
GPIO.setup(left_forward, GPIO.OUT)
GPIO.setup(left_back, GPIO.OUT)
GPIO.setup(right_forward, GPIO.OUT)
GPIO.setup(right_back, GPIO.OUT)
 
#使用PWM
lf = GPIO.PWM(left_forward, 1000)
lb = GPIO.PWM(left_back, 1000)
rf = GPIO.PWM(right_forward, 1000)
rb = GPIO.PWM(right_back, 1000)
 
#初始化PWM,设置占空比为0
def init():
    lf.start(0)
    lb.start(0)
    rf.start(0)
    rb.start(0)
 
#控制四个通道大小
def control(l,r):
    print("speed change to:"+str(l)+","+str(r))
    #更正变量范围
    if(l < -100):
        l = -100
    if(l > 100):
        l = 100
    if(r < -100):
        r = -100
    if(r > 100):
        r = 100
 
    #设置PWM
    if(l > 0):
        lf.ChangeDutyCycle(l)
        lb.ChangeDutyCycle(0)
    else:
        lf.ChangeDutyCycle(0)
        lb.ChangeDutyCycle(-l)
 
    if(r > 0):
        rf.ChangeDutyCycle(r)
        rb.ChangeDutyCycle(0)
    else:
        rf.ChangeDutyCycle(0)
        rb.ChangeDutyCycle(-r)
 
#初始化IO口
init()
 
#设置socket服务端
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server.bind(("0.0.0.0",12345))
server.listen(5)
print("tcp server start")
 
while True:
    try:
        conn,addr = server.accept()
        print("client connect, address: ",addr)
        data = conn.recv(1024)
        recrive_data = str(data,encoding="utf-8")
        print(recrive_data)
        conn.close()
        speeds = recrive_data.split(",",1)
        control(int(speeds[0]),int(speeds[1]))
    except:
        print("fxxk")
server.close()
print("cleaning")
lf.stop()
lb.stop()
rf.stop()
rb.stop()
GPIO.cleanup()

这里需要注意一下,四个端口的编号需要自己测试,前进后退都需要测试一下,然后按照自己的实际情况,进行修改。

编辑开机启动的脚本文件:

sudo nano /etc/rc.local

在exit0的前面加上如下命令:

nohup python3 /home/pi/car.py &

重启树莓派,脚本会开机自启动:

sudo reboot

6.遥控端软件

由于我没有安卓机,也没有苹果机,所以我写了一个UWP软件进行测试

另外由于手机用来拍摄效果了,所以遥控演示只使用了电脑进行测试

视频如下:

(IT之家移动客户端用户若无法观看视频,请点此查看)

UWP工程下载地址:点此链接

命令简单的解释:

向树莓派的12345端口,发送"a,b"即为左轮与右轮的速度,a与b的范围大小均为-100到100,负数为倒车。如:40,20

这篇文章就到这里了,如果有问题,请在评论区留言。

当前文章:http://cnsdbtzg.com/64893.html

发布时间:2019-04-20 01:53:07

黑江可以种植柳树吗? 最新最全的常春藤小苗价格表 十公分紫薇多少钱一棵? 葱兰什么时候开花? 桃树批发去哪里最好? 黑龙江有种植木瓜树的基地吗? 天然氧吧——扶芳藤房子养成记 告诉你常规的藤本月季多少钱一棵 5公分竹柳批发基地在哪里? 十大功劳种子多少钱一斤?

65567 37442 34836 98967 40636 45275 42413 87884 61012 95371 96184 41578 92945 12796 22972 37103 69210 44165 68920 43770 53338 26216 59428

我要说两句: (0人参与)

发布