采用树莓派与L298N制作遥控小车全攻略
基于树莓派的智能抓取小车系统设计与实现

基金项目:2019年湖南涉外经济学院大学生创新创业训练计划项目;项目名称:湖南涉外经济学院自动化校级一流本科专业建设项目;项目编号:[201954]㊂作者简介:戴镖(1999 ),男,湖南长沙人,本科生;研究方向:信号处理㊂∗通信作者:康钦清(1982 ),女,湖南邵阳人,讲师,硕士;研究方向:信号处理㊂戴㊀镖,康钦清∗,杨㊀鑫,何学良,李㊀松,刘巧玲(湖南涉外经济学院信息与机电工程学院,湖南㊀长沙㊀410205)摘㊀要:随着社会发展,老年人和残疾人的日常生活日益受到关注㊂为协助他们完成难度较大的动作,特设计一款带机械臂的智能小车㊂小车通过摄像头采集当前环境信息,传递至手机或者电脑端,用户确定抓取目标的位置,控制机械手完成物品抓取㊂文章设计中选取树莓派开发板,实现了小车的遥控控制㊁循迹避障㊁可视化抓取等操作㊂增加的两个反射式红外线光电传感器,提升了单一超声波避障模块的避障效果㊂本设计借助机械臂以及摄像头,使小车能实现对物体的远程观察及抓取,使用户的日常生活更加便利㊂关键词:机械臂;智能小车;树莓派;循迹避障;遥控抓取0㊀引言智能小车和机械臂是机器人技术领域应用最广泛的自动化机械设备,研究可进行抓取作业的搭载机械手臂的智能小车,具有一定的实用性[1]㊂从1960年开始,自世界上首台工业机器人被发明,智能机器人的研究已有近60年的历史,其应用渗透到方方面面,越来越多智能机器人代替人类从事极端环境下的操作[2-3]㊂老年人和残疾人的日常生活便利性越来越受关注㊂本设计尝试实现对物体的远程观察及抓取,帮助用户解决抓取物品等困难问题,使用户的日常生活更加便利㊂1㊀系统总设计1.1㊀系统设计目标(1)通过移动智能终端设备的操作界面,实现小车运动控制㊂(2)通过获取车载摄像头采集实时图像㊂(3)通过控制界面控制小车和机械手的操作㊂(4)小车具有一定的自主循迹和避障功能㊂1.2㊀系统构成智能抓取的功能核心是实现小车的移动与机械臂抓取㊂总控制中心是树莓派开发板,可搭载各种模块㊂通过接收遥控信号并解码,控制电机驱动模块,控制对应电机,完成小车的前后左右及机械臂的操作㊂通过红外发光二极管将红外线发射到外光敏三极管接收传感器上,使低电平变为高电平,从而完成循迹㊂最后,通过超声波传感器以及红外线避障传感器感知障碍物,并完成避障操作㊂2㊀硬件设计2.1㊀芯片选择本设计通过分析常用的STM32,P89V51RD2FA 以及树莓派开发板,综合考虑其实用性和功能性,选择了功能强大且更加兼容的树莓派㊂本小车采用的树莓派4B 有64位1.5GHz 主频的四核芯Cortex A72架构,BCM2711芯片,4GB 的DDR4内存,性能升级幅度大㊂2.2㊀驱动模块本设计中每个车轮均有一个电机,电机为120转12V 的直流减速电机,选用TB6612FNG 芯片作为驱动㊂该芯片由MOSFET 的H 桥集成电路组成,相比L293D,每通道平均600mA 的驱动电流和1.2A 的脉冲峰值电流[4],其输出负载能力提高了一倍㊂相比L298N 的散热性能以及外围二极管续流电路,其无须外加散热板块,散热能力比L298N 强一倍㊂小车运动芯片为双驱动芯片,每一个驱动分别通过控制其STBY 与输入/输出(Input /Output,I /O)口来控制一个电机,如果要电机停止工作,则需要将I /O 口清零㊂正反转的控制则由AIN1,2与BIN1,2置1或者置0来操控㊂2.3㊀机械臂抓取模块在机械手臂控制的传统系统中大多采用单片机控制,容易在控制电机运行时产生驱动IC 故障,或由于驱动IC 过热直接烧毁控制电机㊂本设计采用亚克力板材质的4自由度机械臂,通过PCA9685芯片来控制舵机的操作㊂16路脉冲宽度调制(Pulse Width Modulation,PWM)模块,两条线可以分别控制16路,实现I 2C 通信㊂相比TLC5940芯片,本设计使用的PAC9685具有单独的PWM 驱动器与一个时钟,不需要一直发送信号㊂6地址选择引脚将使62个驱动板全部挂在单个I 2C 总线上,总计992路PWM 的输出,输出非常庞大㊂2.4㊀循迹避障模块本设计采用的是3块TCRT5000红外线循迹传感器㊂循迹传感器探测距离为0.1~2.5cm㊂当小车下方贴黑色胶带时,红外线会被黑色胶带吸收,从而无法反射回来㊂此时红外接收管则处于关断状态,输出端为高电平,从而带动小车按照黑色胶带运行㊂超声波探测能够进行定向传播,超声波探测使用的是I /O 口TRIG 来触发测距[5]㊂模块自动发送8个第17期2020年9月无线互联科技㊃设计分析No.17September,202040kHz的方波,接收器会检测信号的返回㊂信号返回时,通过I/O口ECHO输出一个高电平,持续时间是超声波从发射到返回所需时间㊂但是出现两个及以上障碍物时,超声波检测会出现偏差,而红外避障距离较短,一般在0.5m内能够准确探测实时障碍物,从而解决了多个障碍物的探测问题,且对移动物体探测具有优良的准确性㊂因此,本文采用了一个超声波模块与两个红外探测传感器搭配使用的方式,提高了避障的性能㊂3个循迹传感器分别与GPIO13,GPIO19,GPIO26相连接,而两个避障传感器则分别接入GPIO16,GPIO12㊂最后接入的是超声波探距模块,分别接入GPIO28㊁GPIO29㊂整个循迹避障模块均采用5V稳压供电㊂3㊀软件设计3.1㊀启动界面该小车借助相关App对其工作进行控制㊂本设计采用Python语言对小车App按钮启动程序进行编程㊂开机后,等待系统启动,通过 小车移动 机器臂移动抓取 图像采集 等按钮来控制小车㊂通过相关软件测试可以有效测试出按钮的灵敏度以及和小车的良好交互性与协调性㊂3.2㊀机械臂运动设计机械手臂的运动函数包括机械手臂手爪打开㊁机械手臂手爪闭合㊁上臂舵机向上㊁上臂舵机向下㊁下臂舵机向上㊁下臂舵机向下㊁小车底座左转㊁小车底座右转等运动函数㊂在抓取目标物体时,应该不干扰其他物体㊂根据下标算出其抓取物体时的关节角参数,从而判断机械臂爪的运动轨迹㊂在抓取功能的测试中,小车对一定形状㊁尺寸的物品可以比较灵活顺利地抓取㊂4㊀循迹避障在红外传感器红外探头接收红外信号的不同情况下,小车所处的运动情况不同㊂设置小车的3个红外传感器探头按左中右排序分别为LED-0,LED-1,LED-2㊂当LED-0,LED-2为点亮状态,LED-1处于熄灭状态时,说明小车前部的中间红外探头在黑线上面,证明此时小车的方向为正方向,可以要求小车继续直行㊂当LED-0为熄灭状态,LED-1,LED-2处于点亮状态时,说明红外传感器左红外探头在黑线上,证明小车此时的状态是斜方向头部指向右边,需要小车转向左边,才能使小车行驶方向继续回到正前方,从而确保了小车的正确行驶方向[5]㊂5㊀结语本设计的研究对象是拥有机械手臂的智能抓取小车,主要探究了小车的正常移动㊁循迹避障㊁智能抓取等功能的实现㊂在智能小车上装取机械手臂并借助摄像头,使用户可以远程遥控小车进行物品的抓取㊂App的控制按键与小车抓取功能具有比较好的协调性㊂整个系统满足智能抓取功能的相关需求,达到预期目的,对后续自主抓取智能小车的研究具有一定的借鉴意义与实用价值㊂[参考文献][1]郗郡红.搭载机械手的智能轮式小车目标识别及抓取控制研究[D].天津:天津科技大学,2015.[2]罗爱华.全自主机器人避障及路径规划研究[D].赣州:江西理工大学,2010.[3]贺晨宇.移动机器人多角度摄像技术[D].呼和浩特:内蒙古大学,2012.[4]滕志军.基于超声波检测的倒车雷达设计[J].今日电子,2006(9):78-79.[5]张驰,廖华丽,周军.基于单目视觉的工业机器人智能抓取系统设计[J].机电工程,2018(3):283-287.(编辑㊀姚㊀鑫) Design and implementation of smart grab car system based on RaspberryPi Dai Biao,Kang Qinqing∗,Yang Xin,He Xueliang,Li Song,Liu Qiaoling (School of Information and Electrical Engineering,Hunan International Economics University,Changsha410205,China) Abstract:With the development of society,the daily life of the elderly and the disabled has been paid more and more attention.In order to help them complete the difficult operation in life,a smart car with a mechanical arm is designed.The car collects the current environmental information through the camera and transmits it to the mobile phone or computer.The user determines the position of the grab target and controls the manipulator to complete the grab.In this design, RaspberryPi development board is selected to realize the remote control,track avoidance,visual grasping and so on.The addition of two reflective infrared photoelectric sensors improves the obstacle avoidance effect of a single ultrasonic obstacle avoidance module.This design uses the manipulator and the camera,so that the car can realize the remote observation and grab of objects,so that the daily convenience of users.Key words:mechanical arm;smart car;RaspberryPi;track avoidance;remote control grab。
使用树莓派制作智能小车

使⽤树莓派制作智能⼩车电影⾥,时不时地可以看到⼀些这样的场景,⼀辆⼩车,上⾯装有摄像头,这辆⼩车可以通过电脑或都是⼿机进⾏远程遥控,车上摄像头拍到的画⾯,可以实时地显⽰在电脑或⼿机上,就像下图这样。
没有接触过这⽅⾯的朋友或许会觉得这是⼀门很⾼⼤上的技术活,其实,并不然,这种⼩车做起来其实很简单。
那么,这样⼦的⼩车,需要怎么去做呢?其实,我们只需要准备⼀块控制⼩车的电路板(开发板),2到4个电机(马达)、⼩车架⼦⼀个、摄像头以及摄像头云台⼀个,以上这些基础配件,然后对开发板进⾏编程、控制就可以了,整体硬件成本加起来不到500块钱。
开发板:开发板有很多种,⽐如51单⽚机、树莓派、STM32、Arduino、micro:bit等等,都可以做为⼩车的控制板,我使⽤的是树莓派开发板,然后,可持树莓派有很多版本、型号,最便宜的树莓派zero 68元就可以买到,不过不建议买这种,没有⽹卡,需要另外买⽹线模块,我使⽤的是树莓派3B,价格220元,带有⽆线和有线⽹卡,还带有蓝⽛。
⼩车架⼦:某宝上有很多这种车架⼦,各式各样的,只需要在某宝上搜索“智能⼩车”就能找到,带上马达⼀整套,也就五六⼗块钱。
摄像头+云台:某宝上也是⼀搜⼀⼤堆,⽐如我下⾯⽤的那个,45块钱。
配件准备好了,就是给⼩车的开发板装系统,然后对⼩车进⾏编程控制。
⼩车的控制最主要有两⽅⾯的控制,⼀个是⼩车的前后左右的运动控制,⼀个是摄像头的拍摄、上下左右转运的控制。
#-*- coding:UTF-8 -*-import RPi.GPIO as GPIOimport time#⼩车电机引脚定义LeftIn1 = 20LeftIn2 = 21LeftSpeed = 16RightIn1 = 19RightIn2 = 26RightSpeed = 13#设置GPIO⼝为BCM编码⽅式GPIO.setmode(GPIO.BCM)#忽略警告信息GPIO.setwarnings(False)#电机引脚初始化操作def car_init():global pwm_LeftSpeedglobal pwm_RightSpeedglobal delaytimeGPIO.setup(LeftSpeed,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(LeftIn1,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(LeftIn2,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightSpeed,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightIn1,GPIO.OUT,initial=GPIO.LOW)GPIO.setup(RightIn2,GPIO.OUT,initial=GPIO.LOW)#设置pwm引脚和频率为2000hzpwm_LeftSpeed = GPIO.PWM(LeftSpeed, 2000)pwm_RightSpeed = GPIO.PWM(RightSpeed, 2000)pwm_LeftSpeed.start(0)pwm_RightSpeed.start(0)#⼩车前进def run(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车后退def back(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.HIGH)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.HIGH)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车左转def left(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车右转def right(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车原地左转def spin_left(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.HIGH)GPIO.output(RightIn1, GPIO.HIGH)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车原地右转def spin_right(delaytime):GPIO.output(LeftIn1, GPIO.HIGH)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.HIGH)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)#⼩车停⽌def brake(delaytime):GPIO.output(LeftIn1, GPIO.LOW)GPIO.output(LeftIn2, GPIO.LOW)GPIO.output(RightIn1, GPIO.LOW)GPIO.output(RightIn2, GPIO.LOW)pwm_LeftSpeed.ChangeDutyCycle(80)pwm_RightSpeed.ChangeDutyCycle(80)time.sleep(delaytime)摄像头控制有两部分,⼀是拍摄、⼆是云台转动。
基于ArduinoUNO和L298N的避障小车DIY制作

基于ArduinoUNO和L298N的避障小车DIY制作一、壁障小车的制作1、制作避障小车的准备工作硬件:Arduino UNO、L298N驱动模块、超声波模块、小车底盘、舵机模块、一块面包板、一些杜邦线。
软件: Arduino UNO的程序下载软件下面来一张安装好的的图2、舵机模块的解析认识本次用的是简单实用的9克小舵机。
它的扭力不是很大,但是对于咱们想用作扫描超声测距探头来说足够了。
一般舵机的旋转角度范围都是0-180度旋转的,也有一种数字电机可以在电机和舵机这两种状态下切换,既可以控制精确的旋转角度也可以连续旋转作为电机使用。
舵机转动的角度是由控制器的脉冲宽度决定的,假如舵机处在中间位置(90度),这时的脉冲宽度设定为1.5ms那么我们想让舵机转动到0度的时候可以给他1ms的脉冲,如果想让它转动到180度的时候可以给2ms的脉冲,这就是舵机角度控制的基本原理了。
3、超声波模块的解析认识本次用的超声波模块如图所示模块工作原理:1、采用IO触发测距,给至少10us的高电平信号;2、模块自动发送8个40KHz的方波,自动检测是否有信号返回;3、有信号返回,通过IO输出一高电平,高电平持续的时间就是超声波从发射到返回的时间.测试距离=(高电平时间*声速(340m/s))/2;4、L298N模块的解析认识本次用的L298N模块如图所示1.驱动芯片:L298N双H桥直流电机驱动芯片2.驱动部分端子供电范围Vs:+5V~+35V ;如需要板内取电,则供电范围Vs:+7V~+35V3.驱动部分峰值电流Io:2A4.逻辑部分工作电流范围:0~36mA6.控制信号输入电压范围(IN1 IN2 IN3 IN4):低电平:-0.3V≤Vin≤1.5V高电平:2.3V≤Vin≤Vss7.使能信号输入电压范围(ENA ENB):低电平:-0.3≤Vin≤1.5V(控制信号无效)高电平:2.3V≤Vin≤Vss(控制信号有效)8.最大功耗:20W(温度T=75℃时)9.存储温度:-25℃~+130℃10.驱动板尺寸:58mm*40mm12.其他扩展:控制方向指示灯、逻辑部分板内取电接口。
JK出品单片机自制遥控小车设计(附程序和部分电路)

遥控车报告------JK出品车名:JK一号机学院:机电学院(JK)队员:李凯陈琦庄彬宾明摘要本课题设计的遥控玩具车主要有三大模块组成:无线发射模块、无线接收模块和驱动模块。
我们的设计以mega16芯片为核心,无线遥控发射/接收模块为apc220,驱动芯片为L298N。
驱动电动机正反转的电路连接无线遥控接收电路构成一个驱动模块驱动电动机的前进、后退、左转和右转和各种微调控制。
经过实践证明,我们的设计可以很好的实现题目给出的要求,并且在其要求上我们又进一步进行了完善,是设计具有更好的实用和参考价值。
关键字:mega16芯片L298N芯片apc220无线发射/接收1、总体设计方案简介遥控玩具车是根据无线信号传送原理来控制小车的前进后退和左右转向的。
一般,遥控玩具车都是有两组操纵控制按钮,一组是控制小车的前进(加速)和后退,另一组是控制小车的左右转向的。
在我们的设计中,我们是采用四个按钮开关(或摇杆电位器)来分别控制小车的前进、后退、和左右转向的。
此设计的遥控玩具车是以单片机mega16的uart异步通信模块控制apc220发出信号;另一块配套的apc220接收信号并传输给另一块mega16;L298N驱动芯片用来实现电动机的正反转。
动作的电路。
(附:选择apc220作为通信模块的原因)整体方案比较:红外线传输方向性强、传输距离短,蓝牙模块信号较稳定,但是传输距离短。
相比之下,APC220整体信号稳定,传输距离远且不受方向限制,抗干扰和灵活度有较大优势。
2、系统电路设计1、无线发送和接收模块电路图(1)控制发射按钮及部分必要外围电路 (2)无线通信电路(发射及接收) 测试结果分析:经测试,各模块工作正常,程序、电路和整体机构配合良好。
前轮驱动灵活,可基本代替舵机使用。
通信传输正常,传输距离可达500m ,且不受障碍物和方向的限制。
3、软件系统框图(1)发送模块软件框图 (2)接收模块软件框图3、核心程序代码(1)发送部分程序代码 #include <iom16v.h> #include <macros.h>#define uchar unsigned char #define uint unsigned int#define mclkchar key_down(void) //检验按键是否按下{DDRA=0X00;PORTA=0X0F;return (PINA&0X0F)==0X0F ? 0:1;}void delay(uint ms){uint i,j;for(i=0;i<ms;i++)for(j=0;j<1141;j++);}void uart_init(uint baud){UCSRB=0x00;UCSRA=0x00; //控制寄存器清零UCSRC=(1<<URSEL)|(0<<UPM0)|(3<<UCSZ0);//选择UCSRC,异步模式,禁止// 校验,1位停止位,8位数据位UBRRL=(mclk/16/baud-1)%256;UBRRH=(mclk/16/baud-1)/256; //设置波特率UCSRB=(1<<TXEN)|(1<<RXEN)|(1<<RXCIE);//接收、发送使能,接收中断使能SREG=BIT(7); //全局中断开放DDRD|=0X02; //配置TX为输出(很重要)}void uart_sendB(uchar data){while(!(UCSRA&(BIT(UDRE)))) ;UDR=data;while(!(UCSRA&(BIT(TXC))));UCSRA|=BIT(TXC);}void main(void){ uchar key;DDRD=0X02;DDRA=0X00;PORTA=0X0F;uart_init(9600);//PWM_initilize();。
5.智能小车-按键控制小车的启动

实验五:树莓派平台-------按键控制小车启动实验1、实验前准备图1-1 树莓派主控板图1-2 按键开关2、实验目的ssh服务登录树莓派系统之后,编译运行按键控制小车启动实验后,按下KEY 启动小车,小车会自动先前进1s,后退1s,左转2s,右转2s,原地左转3s,原地右转3s,接着停止0.5s。
3、实验原理按键消抖:通常我们的按键开关一般都是机械弹性开关,当机械触点断开,闭合时,由于机械触点的弹性作用,一个按键开关子在闭合时不会马上就能稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开时会伴随着一连串的抖动。
图3-1 按键抖动状态图抖动时间一般都是由按键的机械特性决定的,一般都会在10ms以内,为了确保程序对按键的一次闭合后一次断开只响应一次,必须进行按键的消抖处理,有硬件消抖和软件消抖。
其中,软件消抖指的是检测出键闭合后执行一个延时程序,产生5ms~10ms 的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。
当检测到按键释放后,也要给5ms~10ms的延时,待后沿抖动消失后才能转入该键的处理程序。
硬件消抖是在开关两段接一个0.1uf的电容。
本次实验我们采取的是软件延时去抖。
4、实验步骤4-1.看懂原理图图4-1 树莓派主控板电路图图4-2 按键图4-3 树莓派40pin引脚对照表4-2 由电路原理图可知按键是直接连接到主控板上的wiringPi编码的10口。
我们设置10口为输入模式,并当按下按键时通过检测该引脚的电平状态,来判断按键是否被按下。
4-3 程序代码如下:输入:gcc KeyScanStart.c -o KeyScanStart -lwiringPi -lpthread ./KeyScanStart接着./initpin.sh初始化引脚。
基于树莓派的二维码控制小车设计报告

基于树莓派的二维码控制小车设计报告一、前言随着物联网技术的不断发展,树莓派成为了一个非常流行的单板计算机,广泛应用于各类物联网设备中。
同时,二维码也成为了一种非常常见的信息传递方式,被广泛应用于各类场景中。
本文介绍了基于树莓派的二维码控制小车的设计方案。
二、方案介绍1.硬件系统硬件系统包括:树莓派、小车底盘、车载摄像头、L298N电机驱动模块、电池等。
2.软件系统软件系统包括:Raspbian系统、Python编程环境、OpenCV库、gpiozero库、qrcode库等。
3.设计思路通过车载摄像头实时采集小车运行场景,并通过OpenCV库中的图像处理方法识别小车运动方向。
同时,树莓派中运行的Python程序生成控制小车运动的二维码,在合适的时机将二维码显示给车载摄像头。
小车运动方向和小车的运行速度可以由Python程序生成的控制指令决定。
4.设计实现在Raspbian系统中安装Python编程环境,并使用pip安装OpenCV、gpiozero和qrcode库。
使用L298N电机驱动模块控制小车的运动方向和速度。
使用树莓派上的GPIO口驱动L298N电机驱动模块实现小车的前进、后退、左转和右转等基本运动。
通过摄像头采集小车运动场景,使用OpenCV库对图像进行处理,实现小车运动方向的识别。
根据小车识别出的运动方向和速度,使用qrcode库生成对应的二维码,将二维码显示给车载摄像头。
根据车载摄像头所采集到的二维码,识别控制指令,控制小车运动。
五、总结基于树莓派的二维码控制小车设计方案简单易懂,可实现基本的运动控制。
但在实际的应用中,需要考虑到车载摄像头与二维码的距离、光照等因素对小车控制的影响。
此外,对二维码的识别准确率也会对小车的控制造成一定的影响。
因此,在实际应用中需要进行一定的调试和优化。
基于树莓派的智能预警避障小车设计

电机部分使用的是直流电机,通过单片机输出的信号来控制电机的正反转, 从而实现小车的前进、后退和转向。
2、软件设计
软件部分主要是实现避障算法和控制逻辑。避障算法可以采用多种方式,如 基于模糊逻辑的避障算法、基于神经网络的避障算法等。控制逻辑则是根据避障 算法输出的结果来控制电机的运动。
三、实验结果与分析
在实验中,我们使用基于模糊逻辑的避障算法进行测试。实验结果表明,智 能避障小车能够有效地避开前方的障碍物,并根据障碍物的位置和距离调整自身 的运动方向和速度,实现了预期的避障效果。
四、结论
本次演示设计的基于单片机的智能避障小车,通过硬件和软件的配合,实现 了对前方障碍物的检测和避让。实验结果表明该设计方案是可行的,具有实际应 用价值。未来的研究方向可以是对避障算法的进一步优化,提高避障小车的反应 速度和准确度,也可以考虑加入更多的传感器和控制策略,实现更复杂的避障行 为。
五、
感谢观看
设计思路和流程
基于树莓派的智能预警避障小车的设计思路是以树莓派为核心控制器,通过 GPIO接口连接各类传感器和执行器,从而实现对小车的智能控制。具体设计流程 如下:
1、确定控制系统:选用树莓派作为控制核心,因为它具有丰富的GPIO接口, 可以连接多种传感器和执行器。
2、确定传感器和执行器:选择红外线传感器、超声波传感器、摄像头等传 感器来获取环境信息;选择电机、舵机等执行器来控制小车的运动。
基于树莓派的智能预警避障小 车设计
目录
01 智能预警避障小车的 应用背景和意义
03 参考内容
02 设计思路和流程
随着科技的不断发展,智能车辆已经成为现代社会的一个重要组成部分。在 这种背景下,基于树莓派的智能预警避障小车应运而生。本次演示将介绍一种基 于树莓派的智能预警避障小车的设计方案,包括硬件和软件部分,并最后通过实 验验证其可行性和有效性。
基于树莓派的智能小车控制系统设计

基于树莓派的智能小车控制系统设计智能小车控制系统已经成为现代科技的研究热点之一。
它使得机器人具有更好的自主感知和行为决策能力,为人类生产和生活提供了更多便利和选择。
在这篇文章中,我们将探讨基于树莓派的智能小车控制系统的设计原理、实现方法以及其在实际应用方面的优势。
一、设计原理基于树莓派的智能小车控制系统的设计原理主要包括三个方面:感知模块、控制模块和决策模块。
1.感知模块感知模块主要是通过多种传感器来感知环境,包括红外线传感器、超声波传感器、摄像头和麦克风等。
通过收集和处理感知模块所得到的数据信息,可以实现对其所处环境的自主感知。
2.控制模块控制模块主要是根据感知模块所提供的数据信息,通过控制电机、舵机和灯光等组成的执行器来实现小车的运动控制、转向控制和灯光控制。
3.决策模块决策模块主要是通过分析感知模块所提供的数据信息,从而得出连续动作序列,完成运动控制、转向控制和灯光控制等行为决策。
二、实现方法基于树莓派的智能小车控制系统的实现方法主要包括硬件实现和软件实现两个方面。
1.硬件实现硬件实现主要包括小车的机械结构设计和电路设计。
机械结构设计需要满足小车运动的必要条件,保证小车在各种情况下的稳定性和安全性。
而电路设计则包括了电源管理、传感器接口设计、执行器控制和通信接口等电路部分。
树莓派板载GPIO(General Purpose Input Output)口提供了以电平信号为基础的输入输出接口,使用树莓派适配板将这些口映射到通用接口上,即可完成与各种硬件的连接。
2.软件实现软件实现主要包括操作系统安装、驱动程序编写和应用程序开发等方面。
在树莓派上,可以安装常用的操作系统,如Raspbian 等,针对赛车所用的传感器与执行器设备编写驱动程序,并根据实际需求使用Python等编程语言进行应用程序开发。
三、实际应用基于树莓派的智能小车控制系统在现实中已经有了广泛的应用。
例如,可以用于智能家居场景中的清洁机器人、智能物流配送中的 AGV 等。
基于树莓派的果园智能喷药车用遥控器设计与实现

基于树莓派的果园智能喷药车用遥控器设计与实现基于树莓派的果园智能喷药车是一种可以自动喷洒农药的设备,能够帮助果农提高喷洒效率和精度。
为了方便操控和控制该车辆,我们设计了一种遥控器,可以实现对喷药车的远程操控。
遥控器主要由以下几个部分组成:树莓派、无线模块、按键、显示屏和电源。
树莓派是整个系统的核心控制单元,负责接收遥控器的指令并将其传递给喷药车。
无线模块用于实现遥控器与喷药车之间的无线通信。
按键是用来输入指令的装置,可以通过按钮来控制喷药车的运动和喷洒操作。
显示屏用于显示当前的车辆状态和操作指令,方便操作人员实时了解车辆的情况。
电源则为遥控器提供所需的电力支持。
遥控器的设计与实现主要包括以下几个步骤:1. 硬件搭建:将树莓派、无线模块、按键、显示屏和电源进行连接,确保各个部分能够正常工作。
可以通过GPIO接口将树莓派与其他硬件进行连接。
2. 软件配置:安装必要的软件库和驱动程序,确保树莓派能够正常运行。
配置无线模块的网络连接,确保遥控器与喷药车能够建立无线通信。
3. 接收指令:使用Python编程语言编写程序,在树莓派上运行,接收来自遥控器的指令。
可以通过GPIO库来读取按键的输入,并根据相应的按键来执行不同的指令。
4. 传输指令:将接收到的指令通过无线模块发送给喷药车。
可以通过网络编程实现指令的传输,将指令封装成数据包发送给喷药车。
5. 显示状态:将当前的车辆状态和操作指令显示在显示屏上。
可以通过编程语言和相关库来实现显示屏的控制,将需要显示的信息输出到显示屏上。
通过以上步骤的设计与实现,可以将遥控器和喷药车相连接,实现对喷药车的远程操控。
操作人员可以通过按键来控制车辆的运动和喷洒操作,并实时了解车辆的状态。
这样可以提高果农的工作效率和喷洒精度,降低劳动强度和农药的浪费,有利于果园的可持续发展。
【树莓派】树莓派小车(三)Python控制小车

【树莓派】树莓派⼩车(三)Python控制⼩车正⽂之前由于最近忙于复习赶考,所以暂时没有拿起树莓派⼩车,直到昨天,终于空出时间来把代码整理⼀下来和⼤家分享。
正⽂在中,讲到了树莓派的引脚定义⽅式有两种:PHYSICAL NUMBERINGGPIO NUMBERING我采⽤的是第⼆种⽅式。
开始写1. 导⼊库import RPi.GPIO as GPIOimport time2. 定义接⼝⽅式以及接⼝位置GPIO.setmode(GPIO.BCM)IN1 = 17IN2 = 18IN3 = 27IN4 = 22IN5 = 23IN6 = 24IN1 - IN4为L298N接⼊,IN5和IN6为红外线模块接⼊。
车轮驱动⽅式:IN1和IN2负责驱动车轮转动(前进)。
IN3和IN4负责驱动车轮转动(后退)。
3. 初始化def init():GPIO.setup(IN1, GPIO.OUT)GPIO.setup(IN2, GPIO.OUT)GPIO.setup(IN3, GPIO.OUT)GPIO.setup(IN4, GPIO.OUT)GPIO.setup(IN5, GPIO.IN)GPIO.setup(IN6, GPIO.IN)连接L298N的接⼝设为输出,因为需要输出的信号来驱动电机。
连接红外线模块的接⼝为输⼊,因为需要输⼊的信号来做出判断。
4. 基础⽅向⾏为def up():GPIO.output(IN1, GPIO.HIGH) //右侧车轮前进GPIO.output(IN2, GPIO.HIGH) //左侧车轮前进GPIO.output(IN3, GPIO.LOW)GPIO.output(IN4, GPIO.LOW)def down():GPIO.output(IN1, GPIO.LOW)GPIO.output(IN2, GPIO.LOW)GPIO.output(IN3, GPIO.HIGH) //右侧车轮后退GPIO.output(IN4, GPIO.HIGH) //左侧车轮后退def turn_left():GPIO.output(IN1, GPIO.HIGH) //右侧车轮前进GPIO.output(IN2, GPIO.LOW)GPIO.output(IN3, GPIO.LOW)GPIO.output(IN4, GPIO.LOW)def turn_right():GPIO.output(IN1, GPIO.LOW)GPIO.output(IN2, GPIO.HIGH) //左侧车轮前进GPIO.output(IN3, GPIO.LOW)GPIO.output(IN4, GPIO.LOW)需要说明的是:由于不含舵机,转弯的操作是单边车轮驱动,带动车⾝转动5. 红外控制init()n = 5while (n > 0): //总共转弯五次in_left = GPIO.input(IN5) //左侧红外线接收器in_right = GPIO.input(IN6) //右侧红外线接收器up() //未遇到障碍时直⾏if (in_left == GPIO.LOW):down()time.sleep(1)turn_right()time.sleep(1)n = n - 1continueif (in_right == GPIO.LOW):down()time.sleep(1)turn_left()time.sleep(1)n = n - 1continueif (in_right == GPIO.LOW & in_left == GPIO.LOW):down()time.sleep(1)turn_right() //如果两侧都有障碍,就右转(个⼈喜好)time.sleep(1)n = n - 1continuestop()GPIO.cleanup() //清空GPIO接⼝配置信息如果前⽅遇到障碍,就后退⼀秒,然后转弯,最后继续直⾏,直到遇到下⼀个障碍。
采用树莓派与L298N制作遥控小车全攻略

采用树莓派与L298N制作遥控小车全攻略 本文主要描述使用树莓派和L298N制作一个简单的遥控小车,遥控器使用简单的WEB来实现。
准备工作 树莓派,(本文使用的是Raspberry PI 2 B型,即2B) 8G以上TF卡树莓派上可用和不可用的SD卡列表 四驱小车底(含电机,注:本文中的小车底盘佩戴的是高扭矩直流电机) 母对母、公对母、公对公(可不用)杜邦线 L298N双HD桥电机驱动板 无线网卡(最好支持AP的) 充电电池组(7V以上的,镍氢或者18650充电电池皆可) 系统安装没什幺说的,系统烧到SD就可以了,我使用的Raspbian,这货是基于Debian的,配置命令习惯几乎和ubuntu/debian一样,接上网线开机进入系统配置。
换上中科大的源,再apt-get update一次; 为root用户设置密码; 配置无线网卡有两中方案,编辑/etc/network/interface,网上教程蛮多 自动连接到路由器,家里有无线路由器,小车在WIFI覆盖的地方; 树莓派上搭建WIFI热点,信号更好,可以在小区里面开,顺便勾搭妹子,哦哦哦,不对,应该是淘气小孩。
唯一需要注意的是网卡芯片。
底盘组装 拼装没啥难度,亚克力板上的牛皮纸沾得简直是丧心病狂,马蛋,废了好一会儿功夫才撕干净(⊙﹏⊙)b; 马达那货就比较坑了,没有带线是裸机的,手中也恰巧没有电烙铁,当时我就懵逼啦。
好吧,手中还有多余的公对公杜邦线,拔掉其中一头的接头,打火机烧一下(小时候学会的神技),拔掉一部分把铜线拧紧。
最后铜线穿过马达接口的小洞里面,再拧紧。
哎丫,没有胶带,最后用透明胶凑合凑合,绑紧。
repeat 4次。
线路连接 +12V接口 +5V~+35V,如需要板内取电,则供电范围Vs:+7V~+35V 电机 OUT1、OUT2 为电机A输出;OUT3、OUT4为电机B输出 IO接口 ENA和ENA分别为A、B电机的使能端,一开始ENA和ENB各自的上下两个针脚是用跳线帽连接起来的,拔掉就可以接线了。
L298N驱动小车接线方法和测试程序

L298N驱动电机今天就用Arduino简单的控制一下小车的前进及转弯。
话不多说,要准备的东东有:小车底盘、Arduino控制器、Arduino传感器扩展板(这里我为了接线方便使用)、L298N直流电机驱动板、电池、杜邦线若干。
L298N桥直流电机驱动板的接线方式及使用方法以前文章自走车驱动连接曾介绍过,这里就不再说了,不过还有一些网友不清楚怎么控制两路直流电机,以及网友们对前篇文章反映不清楚的地方,这里做一下详细说明。
首先VMS驱动部分取电可接外接电源,一般是12V左右比较合适,逻辑部分可板内取电,即端子可悬空,也可接入+5V-+7V。
端子左右两排三个插针分别用来控制两路直流电机。
EA、EB接入ArduinoPWM接口用于电机调速,I1、I2、I3、I4接口,分别用来控制两路直流电机前进、后退、转向以及刹车,只需接入Arduino的数字接口即可。
到此准备工作基本完成,可以编写程序了,这里我把小车直走、后退、左转、右转、刹车的功能都编写进程序供大家参考。
程序如下:int pinI1=8;//定义I1接口int pinI2=9;//定义I2接口int speedpin=11;//定义EA(PWM调速)接口int pinI3=6;//定义I3接口int pinI4=7;//定义I4接口int speedpin1=10;//定义EB(PWM调速)接口void setup(){pinMode(pinI1,OUTPUT);pinMode(pinI2,OUTPUT);pinMode(speedpin,OUTPUT);pinMode(pinI3,OUTPUT);pinMode(pinI4,OUTPUT);pinMode(speedpin1,OUTPUT);}void loop(){//直走analogWrite(speedpin,100);//输入模拟值进行设定速度analogWrite(speedpin1,100);digitalWrite(pinI4,LOW);//使直流电机(右)逆时针转digitalWrite(pinI3,HIGH);digitalWrite(pinI1,LOW);//使直流电机(左)顺时针转 digitalWrite(pinI2,HIGH);delay(2000);//后退analogWrite(speedpin,100);//输入模拟值进行设定速度 analogWrite(speedpin1,100);digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转 digitalWrite(pinI3,LOW);digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转 digitalWrite(pinI2,LOW);delay(2000);//左转analogWrite(speedpin,60);//输入模拟值进行设定速度 analogWrite(speedpin1,60);digitalWrite(pinI4,LOW);//使直流电机(右)逆时针转 digitalWrite(pinI3,HIGH);digitalWrite(pinI1,HIGH);//使直流电机(左)逆时针转 digitalWrite(pinI2,LOW);delay(2000);//右转analogWrite(speedpin,60);//输入模拟值进行设定速度 analogWrite(speedpin1,60);digitalWrite(pinI4,HIGH);//使直流电机(右)顺时针转 digitalWrite(pinI3,LOW);digitalWrite(pinI1,LOW);//使直流电机(左)顺时针转 digitalWrite(pinI2,HIGH);delay(2000);//刹车digitalWrite(pinI4,HIGH);//使直流电机(右)刹车digitalWrite(pinI3,HIGH);digitalWrite(pinI1,HIGH);//使直流电机(左)刹车digitalWrite(pinI2,HIGH);delay(2000);}注:程序里我所用的左转和右转只是转弯的一种控制方式,其他方式就不一一列举了,大家可以自己尝试。
基于树莓派循迹小车设计概述

智能循迹小车作为电子自动化技术的代表产品,是一个较为典型的 高 的组装空间,在这样的设计要求下,选择广泛电 路 板,连 接 PWM,GPIO 和
科技综合系统。在其工作过程中,囊 括 了 很 多 在 高 新 技 术 的 使 用,比 如 探 电机。树莓派的 GPIO 端口 连 接 电 路 板 GPIO,PWM 用 于 控 制 之 后 所 需
别 出 在 右 侧 的 桥 体 ,过 桥 之 后 通 过 门 体 结 束 运 行 。
离检测功能。在激活之后该模块将发送超声波择
回。最后,信号被检测到,然后利用时间函数计算时间,从而计算出汽车 与
1 、运行主板。在本设计中,除了小车的基本结构之外,选择 Raspberry 障碍物之间的实际距离。
7 .断轴保护:安装在深度指示器上,通 过 传 感 器 和 磁 组 给 PLC 输 入 信 号 ,当 深 度 指 示 器 失 效 时 ,能 断 开 安 全 回 路 ,从 而 使 盘 型 闸 抱 闸 。
8 .过负荷欠电压保护:当提升机电压低于 9 0 %或提升机负荷超过提升 机设计能力时,会通过高压综合保护 使 得 高 压 真 空 断 路 器 线 圈 断 电,从 而 是安全回路断开。
【关 键 词 】循 迹 小 车 ;硬 件 选 择 ;软 件 处 理
【中图分类号】TP3 9 1 .4 1
【文 献 标 识 码 】B
【文章编号】2 0 9 5 -5 8 8X(2 0 1 9 )-0 4 -0 1 2 3 -0 2
一 、循 迹 小 车 概 述
限,适用于其他情况的系统,在有限体积内,我们需要为其他硬件留出足 够
2 、传感器选择。在本次设计中,我 更 倾 向 于 选 择 超 声 波 传 感 器,相 比
人 ,只 是 将 机 器 人 的 双 腿 变 成 了 轮 子 。
玩转树莓派:树莓派智能小车DIY全过程手机控制循迹避障(包含源码)

树莓派3代B型主板 部分配件 别小看树莓派 相信出色的你能玩出更多新花样 先看一下我制作的哪些功能 红外避障 黑线循迹 手机软件控制 Scratch编程 红外跟随 下面开始进入主题 为了节省工作量呢 我从C语言版本开始说。 系统配置中文环境和拼音我就不罗嗦了 sudo apt-get install ttf-wqy-zenhei (安装中文字体库) sudo apt-get install scim-pinyin (安装中文输入法 当然了你也可以全装其他的输入法) 我建议最好用远程桌面的方式连接,以便小车运行时方便修改代码。 树莓派安装xrdp 就可以直接用笔记本自带的远程桌面工具进行远程操作了。最新的系统安 装步骤: sudo apt-get install xrdp sudo apt-get install tightvncserver 然后在windows打开远程桌面连接 打开对应的IP地址,即可连接成功 远程桌面界面
C语言安装wiringPi库 WringPI库介绍 wiringPi 安装 方案 A——使用 GIT 工具,通过 GIT 获得 wiringPi 的源代码。 git clone git:///wiringPi 测试一下是否安装成功: $gpio -v 先来搭建手机远程控制的功能,稍后再进行与传感器的结合。 简单看一下树莓派上即 服务端代码:carserver.c 几种初始化wiringPi的函数 首先在程序的开始的时候需要调用上面的任意的函数来对wiringpi 进行初始化,否则你的 程序不能正常工作。wiringPiSetup() 该函数初始化wiringPi,幵假定程序将使用wiringPi 的管脚定义图。具体管脚映射,可以通过gpio readall命令来查看。该函数需要root权限。 驱动电机使用四个引脚。1、4控制一侧,5、6另外一侧。编码方式为wPi。 引脚定义 pinMode函数 原型 void pinMode (int pin, int mode) ;使用该函数可以将某个引脚配置为INPUT(输 入)、 OUTPUT(输出) 、PWM_OUTPUT (脉冲输出) 或者GPIO_CLOCK(时钟)。在我们的 小车C语言控制程序中我们分别设置了GPIO1,GPIO4,GPIO5,GPIO6这四个引脚来控制左右 两侧的电机。此时我们是通过GPIO的输出来实现的,所以这里设置mode为OUTPUT。 digitalWrite函数
基于树莓派的红外避障小车

(5)传感器部分:红外避障模块。红外传感器模块连与树莓派,正 常工作时,红外避障模块的工作电压为5V左右,但红外避障模块上 的红外接发器接受到遇障碍物而折回的红外时,电压会下降0.1V左 右。进而产生信号,是树莓派执行避让语句。
(2)电源部分:包括四节1.5V (5号)电池,5000毫安移动电源。四 节1.5V (5号)电池为L298n提供6V电压,5000毫安移动电源为树莓 派提供稳定的5V电压。
(3)驱动部分:包括小车底盘、L298n电机驱动、直流电机(2个)、 三个车轮(两个前轮和一个万向轮)。L298n驱动前轮,配合万向轮实 现前进、后退以及左右转向。
制小车的目的;利用红外避障传感器模块实时监测小车距离障碍物的距离,设计基于红外线反射测距的避障算法以达到避障目的。
关键词: 避障小车;红外避障;树莓派;L 2 9 8 n ;程序实例
中图分类号:TP391
文献标识码:A
文章编号:1007-9416(2018)01-0089-02
1 硬件设计
(1)避障小车硬件组成包括:小车底盘、3个车轮(两个前轮一个 后轮)、两个直流电机、红外模块、红外避障传感器(2个)、电源盒、移动 电源(小型)、无线网卡、树莓派。PS:3个车轮中,两个前轮由直流电机 直接驱动,后轮选择万向轮。
( 2) 初始化GPI O端口: 不要忘记的在设置完信息交流通道 (channel)后,还要定义GPIO端口为输入端还是输出端,代码如下:
(3)定义基础方向:避障行为是由基础方向+树莓派选择调用构 成,所以需要在此处先定义最基本的基础移动方式。代码如下:
基于树莓派和GPS导航的智能避障小车设计

计算机科学与人工智能河南科技Henan Science and Technology总第811期第17期2023年9月收稿日期:2023-04-12作者简介:李承泽(2002—),男,本科生,研究方向:电子信息科学与技术。
基于树莓派和GPS 导航的智能避障小车设计李承泽(西北大学信息科学与技术学院,陕西西安710119)摘要:【目的】实现无人驾驶智能多功能小车的自动感知、规避障碍物功能,并使其按GPS 导航的路径行驶。
【方法】基于树莓派和GPS 导航对智能避障小车进行设计,以自主开发的多功能控制系统为小车的指挥协调中枢,从而实现小车高速行驶时的黑线循迹单元功能。
同时,系统通过轮询机制来实现均衡负载,可确保小车的操作能准确感知规避障碍物,并减少由每1s 进行一次数据传输造成的系统繁忙或网络拥塞。
【结果】研究结果表明,智能避障小车可自动准确地感知和规避障碍物,并按规划路径行驶。
【结论】基于树莓派和GPS 导航的智能避障小车设计具有良好的商业应用前景。
关键词:树莓派;GPS 导航;多功能控制系统;自动驾驶中图分类号:TP368.1文献标志码:A文章编号:1003-5168(2023)17-0031-04DOI :10.19968/ki.hnkj.1003-5168.2023.17.006Design of Intelligent Obstacle Avoidance Vehicle Based on RaspberryPi and GPS NavigationLI Chengze(School of Information Science and Technology,Northwestern University,Xi'an 710119,China)Abstract:[Purposes ]This paper aims to realize the automatic perception and obstacle avoidance functionof the unmanned intelligent multi-functional vehicle,and make it travel according to the path of GPS navigation.[Methods ]Based on Raspberry Pi and GPS navigation,the intelligent obstacle avoidance carwas designed.The self-developed multi-functional control system was used as the command and coordi⁃nation center of the car,so as to realize the black line tracking unit function when the car was running athigh speed.At the same time,the system realizes balanced load through the polling mechanism,which can ensure that the operation of the car can accurately perceive and avoid obstacles,and reduce the sys⁃tem busyness or network congestion caused by data transmission every 1s.[Findings ]The results show that the intelligent obstacle avoidance vehicle can automatically and accurately perceive and avoid ob⁃stacles,and drive according to the planned path.[Conclusions ]The design of intelligent obstacle avoid⁃ance vehicle based on Raspberry Pi and GPS navigation has a good commercial application prospect.Keywords:Raspberry Pi;GPS navigation;multifunctional control system;autonomous driving0引言基于GPS 的树莓派智能小车可通过状态分析系统来自动规划路线和识别交通信号,从而保证车辆的安全运行[1-5]。
小车远程编程操作方法

小车远程编程操作方法小车远程编程操作方法小车的远程编程操作方法主要是通过无线网络实现的。
当我们需要对小车进行控制时,可以通过电脑、手机等设备进行远程编程,并发送指令给小车进行相应的操作。
下面将详细介绍小车远程编程操作方法的具体步骤和相关技术。
1. 硬件准备首先,我们需要准备好一台可以连接到无线网络的开发板或者单片机作为小车的控制器。
比如使用树莓派、Arduino等设备均可。
同时,需要给小车安装相应的传感器和执行器,以便能够进行远程控制。
比如加装摄像头、超声波传感器、电机,以及相应的电源和驱动器等。
2. 软件准备在进行远程编程操作之前,我们需要准备好相应的软件环境。
首先,需要在控制器上安装操作系统和相应的开发环境,比如树莓派上可安装Raspbian操作系统和Python编程语言。
其次,需要选择合适的远程连接工具,比如VNC、SSH 等。
这些工具可以使我们在本地设备上对控制器进行远程访问和编程操作。
3. 连接到无线网络对于小车来说,远程编程操作是需要通过无线网络实现的。
因此,我们需要将控制器连接到可用的无线网络上。
如果是树莓派或者其他可以连接到显示器的设备,可以通过GUI界面进行无线网络连接的配置。
如果是只有命令行界面的设备,可以通过编辑网络配置文件的方式完成无线网络连接的配置。
4. 开启远程访问在成功连接到无线网络后,我们需要开启远程访问功能,以便能够通过其他设备进行远程编程操作。
对于树莓派来说,可以在配置界面中选择启用SSH和VNC 功能。
对于Arduino等设备,可能需要自行编写相应的远程访问程序。
5. 远程连接控制器一旦远程访问功能开启,我们就可以通过其他设备远程连接到控制器上。
对于树莓派,可以使用SSH工具进行命令行远程访问和编程操作。
对于Arduino等设备,可以使用相应的编程软件进行上传代码和远程调试。
另外,对于具有图形界面的设备,可以使用VNC来对控制器进行远程桌面操作。
6. 远程编程操作一旦成功远程连接到控制器上,我们就可以进行远程编程操作了。
基于树莓派的多传感器远程驾驶小车设计

第2期2024年1月无线互联科技Wireless Internet Science and TechnologyNo.2January,2024作者简介:郭梦蝶(2004 ),女,本科;研究方向:计算机技术㊂基于树莓派的多传感器远程驾驶小车设计郭梦蝶,贺㊀飞,韩㊀磊(沈阳科技学院,辽宁沈阳110167)摘要:文章旨在创作基于树莓派控制系统的多传感器远程驾驶小车,该设计通过树莓派的处理能力和丰富的接口,实现对小车的远程操控和监视㊂用户可以通过一个应用程序与小车建立连接并实时控制其移动方向㊁速度参数等㊂同时,小车上搭载了摄像头和多种传感器,可以将实时的图像和环境数据传回到控制端实现对小车周围环境的远程监控和感知㊂此设计具有高实时性和稳定性,能适应各种复杂的场景并提供良好的用户交互体验,可运用在探索检测㊁巡逻㊁智慧交通㊁安防监控等领域㊂关键词:树莓派;远程驾驶;多传感器;实时监控中图分类号:TP31㊀㊀文献标志码:A 0㊀引言㊀㊀近年来,信息技术和计算能力的提升推动了智能化技术的发展,远程驾驶技术也取得了全方位的突破㊂远程控制产品在各个领域得到了广泛应用,发挥着不可替代的作用㊂在搜救探测和智慧交通等领域,人们的需求不断增加,远程控制驾驶小车应运而生㊂在火灾现场㊁自然灾害发生地和人类未涉足的区域,探测者经常需要冒险进入复杂的环境中采集环境数据[1]㊂为了保证安全,可以使用远程驾驶小车代替人类完成相关工作㊂树莓派作为核心控制单元,引入了安全认证机制和数据加密技术优化数据传输和图像处理,通过远程数据操控小车,提高效率和便利性,推动智能交通的发展与应用㊂随着科技水平的进步,远程驾驶小车种类繁多,各类传感器设备被用于避障及探测模块上[2]㊂然而,探测数据可视化和丰富化方面仍存在缺陷㊂如何将各种传感器的信息融合,实现优势互补,是一个需要研究的课题㊂本设计选取树莓派做为主控制器,凭借激光雷达和双目摄像头等设备收集环境信息,并通过4G 移动信号通信实现与控制终端信息交互的功能,使用C 语言编写主程序实现信号加密传输与控制,实时将信号传输给控制器,实现对小车的定位追踪和调控[3]㊂1㊀远程驾驶小车功能设计1.1㊀设计目的㊀㊀市面上有许多单一传感器的远程驾驶小车,这些产品存在感知能力受限㊁依赖环境条件㊁易受干扰㊁信息不全面等问题㊂单一传感器,如仅使用摄像头或激光雷达等,摄像头可能受到光线㊁天气和遮挡等因素的干扰,影响图像质量和识别能力;而激光雷达虽然能够提供较为准确的距离和位置信息,但对于透明物体或特殊表面可能存在识别困难㊂同时,在强烈阳光照射下,摄像头可能无法正确识别物体,或者在环境过于复杂或变化频繁时,激光雷达的数据处理和解释可能变得困难㊂另外,摄像头可能因干扰物或光线条件导致误识别物体或出现虚假识别;激光雷达数据也可能因被其他物体反射或干扰物遮挡而产生错误的距离测量㊂单一传感器的数据只能提供有限的信息,无法获得物体完整㊁多角度的视觉或距离信息㊂这可能导致在远程驾驶过程中忽略一些重要的细节或障碍物㊂为了克服这些缺点,本设计使用多传感器融合的方法,即将多个不同类型的传感器组合起来,综合利用它们的优势和互补性㊂使用多传感器数据融合算法,可以提高远程控制小车的感知能力,增强对不同环境的适应性,降低错误和干扰的影响㊂1.2㊀实现功能㊀㊀树莓派远程驾驶小车通过多个传感器来感知外界环境,这些传感器是小车的 眼睛 ,而树莓派控制器则是小车的 大脑 ㊂具体而言,红外雷达㊁激光雷达㊁双目摄像头这3个传感器可以识别感知外界环境,并将相关信息传输到树莓派控制器中㊂该控制器通过对收集到的外界环境数据的整合,从中提取有用信息,经过处理后向各个板块和零件下达命令,从而提高了系统的容错性㊁安全性和便利性㊂另一方面,本设计采用语音识别芯片LD3320和配套的模块控制电路以及STC公司的STC10L08XE 单片机,成功实现了远程驾驶小车的语音控制系统㊂LD3320芯片集成了语音识别处理器和外部电路,因此,不需要额外添加RAM芯片或Flash等㊂当外部声音进入语音识别模块后,LD3320将处理后的语音数据传输到树莓派控制器进行处理,之后树莓派控制器发送控制命令数据到远程驾驶小车外围串行设备,实现控制操作[4]㊂本设计采用了传感器信息融合技术,利用SLAM 建模方法处理激光雷达测量的数据,从而获取环境中障碍物的精确距离信息㊂同时,利用SIFT算法从双目摄像头在不同视角或距离获取的图像中找出特征点进行匹配,得到旋转角度信息㊂通过导航工具箱消除机器人在行进过程中双目摄像头获取图像时间上的差异,结合激光雷达㊁红外雷达以及双目摄像头收集的信息,本设计融合了距离信息和旋转角度信息,由此确定移动机器人的初始位置并获得路标信息,构建了特征地图㊂最后,采用扩展卡尔曼滤波器进行自主导航[5]㊂2 硬件组成2.1㊀主控制模块㊀㊀本设计以树莓派4B微型主板作为小车的控制核心,并搭载了ARM Cortex-A531.4GHz64位4核ARMv8CPU㊂此外,该主板内存较大,具备可实现多方扩展功能的USB接口和更为先进的网络接口,同时还可以实现视频和音频的有效传输以及人机之间的数据交流[6]㊂2.2㊀驱动电机模块㊀㊀智能小车采用4个直流步进电机和TB6612FNG 电机驱动模块进行运动控制[6]㊂TB6612FNG是一款高效率㊁大负载能力的直流电机驱动器件,它由TB6612FNG芯片㊁电源接口㊁电机输出接口和控制信号输入接口等组成㊂相比传统的晶体管H桥驱动器,它具有更高的效率和更大的负载能力㊂通过控制电机的速度和方向,小车可以适应各种环境,实现正转㊁反转㊁制动㊁启停等动作,使智能小车能够正常运行㊂同时,电机驱动模块接收PWM信号来调节电机速度,进而实现智能小车的运动控制㊂2.3㊀红外雷达探测模块㊀㊀该小车使用红外线传感器和光敏电阻器来检测周围环境㊂红外线传感器由发射管和接收管组成,当发射管发射一定频率的红外线时,如果没有检测到障碍物,接收管接收不到信号,电平保持不变;反之,如果前方有障碍物,接收管会接收到经过反射后的红外线,此时检测相关引脚的电平变化可以判断前方的障碍物情况和环境状况㊂同时,小车还装有光敏电阻器,其电阻值随环境的光强而改变,二者呈现明显的负相关关系㊂将光敏电阻连接到主控板上,通过相关引脚的电平变化判断环境光的强弱[6]㊂主控板接收信号后,结合上述2种不同信号,运用相关算法对周围环境情况进行分析,从而准确判断前方障碍物情况和光照状况㊂2.4㊀激光雷达模块㊀㊀在远程驾驶小车中,激光雷达是一种重要的传感器,可以广泛应用于车辆的环境感知和导航㊂其主要作用是通过发射激光束并测量其返回时间来获取环境的三维结构和信息㊂相比其他传感器,激光雷达不受光照条件限制,即使在黑暗环境中也能稳定工作㊂激光雷达的数据匹配定位具有很好的鲁棒性和精度,因此应用广泛㊂本设计采用SLAMTEC思岚科技公司开发的激光雷达传感器RPLIDAR A2㊂该传感器结构包括激光测距核心㊁供电与机械部分㊁通信与供电接口以及USB转接模块等㊂其中,激光雷达测距的核心部分由发射头和接收头组成㊂发射头主要负责发射激光信号,接收头专门用于接收反射信号并进行专业处理㊂RPLIDAR A2的工作原理:发射器发射激光信号,遇到障碍物产生反射,之后被激光接收器接收㊂激光接收器内部具有高速视觉采集处理机构,经过嵌入在RPLIDAR A2内部的DSP处理器实时处理信号,从而可以从通信接口输出被照射到的障碍物与RPLIDAR A2的距离值和角度信息㊂2.5㊀双目视觉模块㊀㊀树莓派微型电脑主板可以通过外接4G图像传输模块实现视频音频的实时传输,因此探测模块加装了线性CCD摄像头来对需要探测的环境进行图像采集,并将采集的图像资料转换成数据资料传输到小车控制主板㊂树莓派主板通过4G移动信号将图像传输到控制终端,然后由控制终端将控制指令传输到树莓派主控制器,主控制器控制电机做出相应的反应动作㊂摄像头的加入进一步丰富了小车的探测数据,弥补了激光雷达和红外线的探测结构可视性不够好的缺点,使得探测小车的应用范围更加广泛[6]㊂3㊀探测信号传输㊀㊀在系统激活后,CCD摄像头双目视觉模块开始工作,利用4G传输将收集到的图像信息送出至树莓派主控制器上,收到信号后树莓派主控制器向远程驾驶小车上的其他模块及零件下达命令,电机驱动模块开始工作㊂紧接着小车开始运动,CCD摄像头㊁激光雷达传感器㊁红外探测传感器运行㊂这样就可以通过收集到的数据进行即时定位和地图构建,进而确定小车的位置和周围情况㊂树莓派控制器在接收到消息后,对其进行整合并提取有用信息㊂再次将这些信息传输给电机驱动模块,不断调整行驶角度㊁方向㊁速度,使小车安全平稳运行㊂4㊀结语㊀㊀基于树莓派的多传感器远程驾驶小车的技术改进和未来的发展方向如下㊂(1)改进传感器技术㊂传感器是多传感器远程驾驶小车的核心组件,不断提升传感器的性能可以增强系统的感知能力㊂(2)加强算法和人工智能技术研发㊂多传感器远程驾驶小车需要利用大量的数据进行感知㊁决策和控制,需要针对不同的驾驶场景和情况设计和优化相关算法㊂(3)加强通信和网络技术研究㊂多传感器远程驾驶小车的远程驾驶模式需要通过网络实现车辆与控制中心之间的通信和数据交互㊂为了确保通信的可靠性和实时性,需要研究和开发高速㊁低延迟的通信和网络技术㊂参考文献[1]刘天君,常昊,马准,等.基于树莓派的智能探测小车设计[J].电子测试,2021(1):5-7,11.[2]韦晓琴.基于激光雷达的AGV机器人SLAM与定位导航研究[D].广州:华南理工大学,2020. [3]杜博文,倪晓昌,孔维敬,等.多传感融合的激光雷达SLAM及应用进展[J].天津职业技术师范大学学报,2023(3):1-5,85.[4]杜钊君,吴怀宇.基于激光测距与双目视觉信息融合的移动机器人SLAM研究[J].计算机测量与控制,2013(1):180-183.[5]金鑫,田犇,阙大顺.基于LD3320的语音控制系统设计实现[J].电脑与信息技术,2011(6):22-25. [6]张敏,杜丹阳,李洪海.智能语音控制系统设计[J].工业控制计算机,2019(1):144-145,150.(编辑㊀沈㊀强)Design of multi-sensor remote driving vehicles based on Raspberry PiGuo Mengdie He Fei Han LeiShenyang University of Science and Technology Shenyang110167 ChinaAbstract The purpose of this paper is to create a multi-sensor remote driving car based on the Raspberry Pi control system.Through the processing power of Raspberry Pi and rich interface the design realizes the remote control and monitoring of the ers can connect to the car via an App and have real-time control over its direction speed etc.At the same time the car is equipped with a camera and a variety of sensors which can transmit real-time images and environmental data back to the control end to achieve remote monitoring and perception of the surrounding environment of the car.This design has high real-time and stability can adapt to a variety of complex scenarios and provide good user interaction experience.The design can be applied to explore detection patrol intelligent traffic security monitoring and other fields.Key words Raspberry Pi remote driving multi-sensor real time monitoring。
树莓派控制无线小车大报告

树莓派控制无线小车大报告-CAL-FENGHAI.-(YICAI)-Company One1计算机学院嵌入式方向综合工程设计技术报告题目:树莓派控制无线小车姓名:学号姓名:学号姓名:学号指导老师:起止时间: 2014 年 9 月至 2015 年 1 月西安电子科技大学计算机工程系摘要:树莓派由注册于英国的慈善组织“Raspberry Pi 基金会”开发, 2012年3月,英国剑桥大学埃本·阿普顿正式发售世界上最小的台式机,又称卡片式电脑,外形只有信用卡大小,却具有电脑的所有基本功能,这就是树莓派电脑板,中文译名"树莓派"。
树莓派用途广泛,专为业余兴趣者和想学习编程的年轻人们设计的,提供一个具有基本功能的,廉价的硬件平台。
它是一款基于ARM的微型电脑主板,以SD卡为内存硬盘,卡片主板周围有四个USB接口和一个网口,可连接键盘、鼠标和网线,同时拥有视频模拟信号的电视输出接口和HDMI高清视频输出接口。
其尺寸只有信用卡大小,运行速度比台式机稍慢,但已具备了电脑的所有基本功能,只需接通电视机和键盘,就能执行如电子表格,文字处理,玩游戏,播放高清视频等诸多功能。
树莓派控制无线小车,利用树莓派通过L298N控制四个电机。
左边两个并联,右边两个并联,通过差速小车转向。
关键词:树莓派、电机、L298N、无线小车目录第一章绪论 (3)1.设计要求 (3)2.设计内容 (3)第二章系统需求分析 (3)1.设计思路 (3)2.总体方案 (3)第三章系统软硬件设计与实现 (4)1.L298N芯片相关 (4)2.树莓派相关 (5)3.无线网卡相关 (9)4.软件相关 (10)第四章系统调试与测试 (13)第五章总结 (14)第一章绪论1.设计要求(1)设计一个无线遥控的小车,小车通过树莓派无线连接至电脑通过电脑控制小车的运动。
(2)小车可以前进、后退、左转、右转、左转圈、右转圈。
2.设计内容(1)基于L298N的电机驱动模块设计与实现(2)树莓派与电脑连接的设计与实现(3)树莓派控制小车的设计与实现第二章系统需求分析1.设计思路(1)分析无线遥控小车基本控制技术以及各种通行方案,并以此为基处提出自己的无线控制小车的初步方案。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
采用树莓派与L298N制作遥控小车全攻略
本文主要描述使用树莓派和L298N制作一个简单的遥控小车,遥控器使用简单的WEB来实现。
准备工作
树莓派,(本文使用的是Raspberry PI 2 B型,即2B)
8G以上TF卡树莓派上可用和不可用的SD卡列表
四驱小车底(含电机,注:本文中的小车底盘佩戴的是高扭矩直流电机)
母对母、公对母、公对公(可不用)杜邦线
L298N双HD桥电机驱动板
无线网卡(最好支持AP的)
充电电池组(7V以上的,镍氢或者18650充电电池皆可)
系统安装没什么说的,系统烧到SD就可以了,我使用的Raspbian,这货是基于Debian的,配置命令习惯几乎和ubuntu/debian一样,接上网线开机进入系统配置。
换上中科大的源,再apt-get update一次;
为root用户设置密码;
配置无线网卡有两中方案,编辑/etc/network/interface,网上教程蛮多的:
自动连接到路由器,家里有无线路由器,小车在WIFI覆盖的地方;
树莓派上搭建WIFI热点,信号更好,可以在小区里面开,顺便勾搭妹子,哦哦哦,不对,应该是淘气小孩。
唯一需要注意的是网卡芯片。
底盘组装
拼装没啥难度,亚克力板上的牛皮纸沾得简直是丧心病狂,马蛋,废了好一会儿功夫才撕干净(⊙﹏⊙)b;
马达那货就比较坑了,没有带线是裸机的,手中也恰巧没有电烙铁,当时我就懵逼啦。
好吧,手中还有多余的公对公杜邦线,拔掉其中一头的接头,打火机烧一下(小时候学会的。