采用树莓派与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制作

基于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一号机学院:机电学院(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.智能小车-按键控制小车的启动

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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;
马达那货就比较坑了,没有带线是裸机的,手中也恰巧没有电烙铁,当时我就懵逼啦。

好吧,手中还有多余的公对公杜邦线,拔掉其中一头的接头,打火机烧一下(小时候学会的。

相关文档
最新文档