蓝牙串口通信助手apk代码,实现智能小车的前进后退和左右转四个功能

在Android studio上写蓝牙串口通信代码遇到了问题? - 知乎有问题,上知乎。知乎作为中文互联网最大的知识分享平台,以「知识连接一切」为愿景,致力于构建一个人人都可以便捷接入的知识分享网络,让人们便捷地与世界分享知识、经验和见解,发现更大的世界。2被浏览38分享邀请回答赞同 3 条评论分享收藏感谢收起写回答1688.com,阿里巴巴打造的全球最大的采购批发平台
1688/淘宝会员(仅限会员名)请在此登录
cbulogin.center.eu13Server is OK& &这次设计应用了上位机LabVIEW软件和下位机Arduino控制器。为了实现智能小车前进、后退、左转、右转,使小车能够向不同的方向运行,必须对小车的两个电机进行控制,包括对智能小车左右电机转向控制和速度调节。通过控制小车左右电机的转向,可以实现小车上述的四个行为动作。通过LabVIEW前面板控制左右电机的转速,达到对小车行驶速度的调节。LabVIEW前面板如图1所示。
& & 本文的着重点是利用Proteus软件仿真环境,模拟LabVIEW上位机软件控制小车左右轮直流电机的转速和转向,并详细介绍两个软件在PC机中进行零成本联机仿真的全过程。Proteus仿真的实物模型见图2,这个模型的机械结构由MakeBlock铝合金积木搭建而成,而电控部件选用了DFRobot公司的智能车三件套。
图1 小车控制LabVIEW前面板
图2 直流电机驱动的智能车
一、硬件设计
& & 图2使用到了 DFRobot公司出品的智能车三件套,它有三层电路板层叠而成,底下的板子是Arduino UNO,中间的板子是L298N大电流双路直流电机驱动板(L298N Motor Shield),最上面的板子是Xbee V5传感器扩展板,用于方便插接各种控制线。
图3 DFRobot公司出品的智能车三件套
& & L298N Motor Shield扩展模块是一款基于直流电机驱动芯片L298N的Arduino扩展板。该模块可以驱动两个电机,采用了可堆叠的设计方式,使用时直接插装到Arduino UNO控制板上就可以使用,它采用PWM方式进行直流电机的调速。在实验中,将左右电机的两根电源线分别接在该模块电机端口上,并在外接电源端口接上电池盒的电源线。对直流电机供电的电源应有较大的功率,这里选择了6节1.5V的充电电池进行供电,确保电机具有强大的动力。接线示意图如图4所示。33
图4 L298N模块接线
& & 搭建硬件平台的时候,将L298N Motor Shield扩展模块插装在Arduino控制板上。下面将会讨论到该模块对Arduino控制板的引脚占用情况。表1是L298N Motor Shield扩展模块对Arduino控制板数字引脚占用的详细说明。
表1& L298N模块对控制板引脚资源的占用
& & DIRA(M1)和PWMA(E1)分别控制小车左侧电机的转向和转速。同样,DIRB(M2)和PWMB(E2)分别控制小车右侧电机的转向和转速。由于两个电机是对称安装在小车底板横梁上的,如果对它们采用相同的接线方法,那么两个电机为了保持在小车行驶时转向一致,必须让两个电机的转向相反。在本文采用的是这种方法,在表2中给出了小车的动作与电机转向的关系。当然,如果是将它们的接线采用相反方式,就可以让两个电机按相同的转向运行。
表2&小车动作与电机的转向
& &该驱动板用来驱动两个电机,分别控制电机1的使能端口E1和转向端口M1,电机2的使能端口E2和转向端口M2。Arduino控制器向这4个端口发送信息,就可以控制两个电机的启停,转向和速度,从而实现实验的要求。
二、下位机软件设计
& &下面介绍两个直流电机驱动的Arduino程序编写。Arduino控制板主要任务是接收上位机发送的指令,然后对L298N Motor Shield扩展模块的四个控制端口进行控制,从而控制两个电机的运转。可以根据电机M1和M2的功能表来确定Arduino程序如何正确可靠地实现对电机的控制。功能表如下:
表3& E1和M1的功能表
& &参照功能表,不难得出Arduino在接收到上位机LabVIEW的控制指令后应该如何改写电机M1和M2的转向端和使能端的电位,以达到正确的控制效果。当然,下位机和上位机只有协调一致才可以获得理想的控制效果。在这里,先给出下位机Arduino的程序。
& &Arduino程序有两个主要的任务:首先,接收上位机LabVIEW发送的4字符的控制命令。然后,根据字符串命令,向电机驱动板的E1、M1、E2和M2发指令,刷新电位,控制两台电机的运行。字符串命令中,前2个字符val[0]、val[1]控制电机M1,后2个val[2]、val[3]控制电机M2。下面是Arduino的详细程序和解释说明。图5是Arduino的程序流程图,展示了整个下位机的控制思想。(双击图片,都可以放大观看!)
图5 两个电机控制的程序流程图
Arduino程序:
int E1 =5;
//连接电机1的使能端口到数字接口5
int M1 =4;
//连接电机1的转向端口到数字接口4
int E2 = 6;
//连接电机2的使能端口到数字接口6
int M2 =7;
//连接电机2的转向端口到数字接口7
byte val[4];
//暂存上位机发送的四个字节的电机控制指令
void setup()
Serial.begin(9600);
//设置串口波特率为9600 pbs
pinMode(M1, OUTPUT);
//设置引脚为输出模式
pinMode(E1, OUTPUT);
pinMode(M2, OUTPUT);
pinMode(E2, OUTPUT);
void loop()
delay(10);
//延时10ms
if (Serial.available()&0)
//如果读缓冲区有字节
for(int i=0; i&4; i++)
//读取上位机发送的四个字节的控制指令
val[i] = Serial.read();}
if(val[0]==0xAA && val[2]==0xAA) //如果第一、二个字节为0xAA
digitalWrite(M1,HIGH);
//电机1反转
analogWrite(E1,val[1]);
//电机1 PWM调速
digitalWrite(M2,HIGH);
//电机2反转
analogWrite(E2,val[3]);
//电机2 PWM调速
if(val[0]==0xBB && val[2]==0xAA) //如果第一、二字节分别为0xBB和0xAA
digitalWrite(M1,LOW);
//电机1正转
analogWrite(E1,val[1]);
//电机1 PWM调速
digitalWrite(M2, HIGH);
//电机2反转
analogWrite(E2, val[3]);
//电机2 PWM调速
if(val[0]==0xAA && val[2]==0xBB) //如果第一、二字节分别为0xAA和0xBB
digitalWrite(M1, HIGH);
//电机1反转
analogWrite(E1, val[1]);
//电机1 PWM调速
digitalWrite(M1, LOW);
//电机2正转
analogWrite(E2, val[3]);
//电机2 PWM调速
if(val[0]==0xBB && val[2]==0xBB) //如果第一、二字节为0xBB
digitalWrite(M1, LOW);
//电机1正转
analogWrite(E1, val[1]);
//电机2 PWM调速
digitalWrite(M2, LOW);
//电机2正转
analogWrite(E2, val[3]);
//电机2 PWM调速
三、上位机软件设计
& & 这里编写了上位机LabVIEW程序对Arduino进行控制。LabVIEW主要任务是向下位机发送4个字节的字符串命令。字符串命令的格式为:
&AA/BB&+电机1转速+&AA/BB&+电机2转速
& &通过格式化写入字符串VI后,得到符合上文格式的字符串命令。通过VISA写入将字符串命令写入缓冲区发送到下位机Arduino。LabVIEW框图程序如图6所示。
& & 配置好相关的串口参数后,就可以实现上位机LabVIEW对智能小车电机的控制。在实际运行之前,可以先通过Proteus进行仿真,来验证方案是否是可行的。接下来将介绍Proteus联合LabVIEW和Arduino进行仿真。
图6 LabVIEW电机控制程序框图
四、系统仿真
Proteus对Arduino单片机进行仿真,可以验证方案的可行性。在仿真之前,需要对软件进行一些必要的设置。下面,详细介绍Arduino单片机Proteus仿真的实现过程。
1、&虚拟串口
& &为了实现上位机与下位机的通讯的仿真,需要使用虚拟串口软件,在设备中创建一对虚拟串口,如图7所示,创建了一对虚拟串口COM7和COM8。
图7虚拟串口配对
2、定位Hex文件的生成位置
& &Arduino编译之后,会自动删除Hex文件,在Proteus仿真中,需要使用Arduino软件生成的Hex文件。为了找到hex文件,并且加载到Porteus仿真环境中的单片机ATMEGA328P中进行仿真,所以需要预先新建一个文件夹用于存放Arduino编译后生成的Hex文件。
& & 首先要在D盘新建一个命名为&Arduino_Hex&文件夹,用于放置Hex文件。然后,击Arduino IDE菜单栏的File-&preferences,打开对话框,如图8所示。把&Show verbose output during&的两项参数打勾。双击&preferences.txt&打开文件。点击Arduino界面preferences对话框下方的OK按钮,然后关闭Arduino IDE编程界面。最后,在刚才打开的preferences文档的最后一行加入&build.path=d:\Arduino_Hex&,保存文档即可。
图8 &Arduino的Preference参数设置
3、生成HEX文件
& 程序编写完后,编译Arduino程序。点击编译按钮,就可以在D:\Arduino_Hex文件夹中生成目标文件Hex(二进制机器码文件)。
4、Proteus设置
在Proteus ISIS软件模块里绘制电气原理图。打开电气原理图,如图9所示。
图9& ATMEGA328P单片机电气原理图
& & 双击图中的Proteus ISIS电气原理图中ATMEGA328P单片机,在弹出的对话框中点击&Program File&参数项的&文件夹&按钮,选择上面生成的Hex文件。修改菜单中的三个参数项,将&CLKDIV8(Divide clock by 8)&参数项修改为&Unprogrammed&;将&CKSEL Fuses&参数项修改为&(1111)Ext. Crystal 8.0-MHz&;将Advanced Properties的Clock Frequency参数项设为16Mhz。具体设置如图10所示。最后点击编辑对话框中的&确定&按钮即可。
图10 ATMEGA328P单片机的Hex文件加载和参数设置
& & 此外,还需要对RS232串口进行必要的配置。双击图9中的COMPIM,即可打开元件P1的&编辑元件&菜单,在该菜单中,可以对元件COMPIM(P1)的串口、波特率、字节数和停止位等参数进行设置。按图11所示对其参数进行设置即可。
图11 COMPIM(P1)元件参数设置
& & L298N Motor Shield扩展模块可实现了对两个电机的控制,Proteus用于仿真的实物L298N扩展模块的电气原理图如图12所示。配合图9可以看出,用于控制两台电机运转的四根控制线DIRA(M1)、PWMA(E1)、DIRB(M2)和PWMB(E2),分别接到了ATMEGA328P单片机的数字I/O引脚PD4、PD5、PD7和PD6。与实物连线方式是一样。
图12 L298N Motor Shield扩展模块的电气原理图
5、联合仿真
& & 在LabVIEW中选择串口COM8(可在设备管理器中查看相应的串口号,本次实验创建了一对虚拟串口COM7和COM8,COM7已分配给Proteus软件中的P1元件),运行LabVIEW和Proteus程序,就可以观察到仿真动画。点击LabVIEW中的控件,就可以在Proteus中观察到电机的转向和转速的变化。
基于Proteus和LabVIEW的小车双轮电机控制仿真演示视频:
& & &通过仿真验证,说明方案是可行的,就可以进行实物的调试。其方法与虚拟仿真的过程大同小异。设置好配对的串口,就可以通过在LabVIEW软件前面板点击各种控件,来控制小车电机的正反转及调整速度。通过实验中对小车行驶路径的观察测量,找到了两组速度,可以使左右电机的速度相匹配,使小车在前进时不会出现左右电机由于运行参数不匹配而偏离直线轨迹的情况。
&程序请下载:
& & 在这一节中,探究了通过上位机LabVIEW对下位机Arduino的控制,实现智能小车两个电机转向和转速的控制。设置并配对了虚拟串口,尝试了联合LabVIEW,通过Proteus对Arduino单片机的进行仿真。该方法对后续的实验也有着重要的指导意义。
& 2010 - 2018 苏州灵动帧格网络科技有限公司 版权所有.
ICP经营许可证 苏B2-&当前位置: &
> 单片机用主从一体蓝牙...
描述属实:分
服务态度:分
发货速度:分
最近成交: 笔
最近成交: 笔
单片机用主从一体蓝牙模块 UART转蓝牙(串口) 智能车arduino龙邱
今日价格:
货号: c588d91681e
商品库存: 2176 件
积&&&&分:单件送52积分亲小积分有大用途哦~
所属分类:
热门标签:
&好用才是硬道理!龙邱品质、值得信赖!&3月10日起,免费升级到主从一体,不加价!蓝牙从机不具备USB口,无法通过上位机设置参数,如需设置请配套购买USB转TTL。&蓝牙主机与从机建议配套使用LQ_BTM1V23.3V~5V19mm*56mm00///115200带 UART功能的所有单片机信号更稳定,塑胶绝缘保护套能有效防止静电。&&&好用才是硬道理!龙邱品质、值得信赖!&3月10日起,免费升级到主从一体,不加价!蓝牙从机不具备USB口,无法通过上位机设置参数,如需设置请配套购买USB转TTL。&蓝牙主机与从机建议配套使用LQ_BTM1V23.3V~5V19mm*56mm00///115200带 UART功能的所有单片机信号更稳定,塑胶绝缘保护套能有效防止静电。&&
登陆去以下购物网站购买商品可获得现金返利和积分
¥11 元已售出:44人收货件
¥7 元已售出:35人收货件
¥9 元已售出:32人收货件
¥6 元已售出:31人收货件
¥10 元已售出:31人收货件
评论获取中.....
店铺的“宝贝与描述相符”得分
评论评价人
chiusir热销商品
经营性网站备案信息
不良信息举报中心
网络110报警服务
中&&&&&国互联网协会
|||||||||广告联系QQ:|
Copyright (C)
经营许可证编号:All Rights Reserved 版权所有智能车专用无线模块——WIFI232模块(原理图、示例代码、使用说明及视频等)
模块概述:串口WiFi,内置天线,带屏蔽罩,被大量使用,适用于大流量通信,不考虑功耗的场合。关于WIFI232家族:
硬件上,我们集成了MAC、射频收发单元、功率放大器等,加上天线,你就可以直接拿去用。软件上,我们自带固件,内置WiFi协议、TCP/IP协议,你只需要简单的配置下我即可。简单来说,我们做了很多事,而你,只需要通过一个UART接口来跟我沟通要做什么,我们就帮你实现。我们会给你相应的配置命令(AT指令集),操作上,当然就像使用串口一样简单。作为AP时的应用:特点:
操作简单:会操作串口就会操控我(提供指令集;我是串口WIFI)启动时间:6S。(市面上普通WIFI模块启动时间大都多于6S,部分甚至接近30S)功耗:3.3V供电,170mA-300mA。(功耗偏大,适用于非电池供电等一些对功耗无要求的场合)带屏蔽罩:对模块核心部分进行封包。(不少厂家没有加屏蔽措施)适合做热点:可接入终端多,支持路由/桥接模式网络构架。(路由器AP方案)TCPB功能:支持2 x TCP功能,即可以同时支持2个网络连接。(市面上的普通模块没有这个功能)演示视频:功能:
方案:Marvell WiFi(路由器方案,硬件AP)、ARM支持无线局域网标准:IEEE 802.11 b/g/n支持WIFI加密方式和算法:WEP/WPA-PSK/WPA2-PSK/WAPI等支持STA/AP/STA+AP共存工作模式(AP即WIFI热点;STA是WIFI终端)
AP模式:可接入32个设备STA模式:server端支持32个连接AP+STA模式:具有路由功能,AP允许32个客户端连接支持多种网络协议:TCP/UDP/ARP/ICMP/HTTP/DNS/DHCP支持DHCP自动获取IP支持AT+指令集及Web配置模块参数支持透明/协议数据传输模式,1M缓存空间(用于TCP的缓存是4K)支持串口分帧延迟和数据量设置支持波特率可达460800bps,支持硬件流支持以太网数据传输、PWM输出、GPIO控制支持web升级固件内置PA,57600波特率双向互传不丢包,轻松穿三层混泥土墙通讯距离:外置3DB天线400米,内置天线150米。(开阔地;模块对传)支持恢复出厂设置:通过拉低Reload IO口三秒即可恢复出厂设置,无须担心设置错误支持路由/桥接模式网络构架(由路由器方案决定支持)内建看门狗和心跳机制,保证在线能力配套软件: WINDOWS、iOS、Android下的测试软件(方便你测试)iOS、Android通信源码(方便你借鉴)实物购买链接:http://www.waveshare.net/shop/WIFI232-A.htm
电路相关文件(请在PC端查看下载)
扫码关注电路设计技能
电路城电路折扣劵获取途径:
电路城7~10折折扣劵(全场通用):对本电路进行评分获取;
电路城6折折扣劵(限购≤100元电路):申请成为卖家,上传电路,审核成功后获取。
版权声明:电路城所有电路均源于网友上传或网上搜集,供学习和研究使用,其版权归原作者所有,对可以提供充分证据的侵权信息,本站将在确认后24小时内删除。对本电路进行投诉建议,点击反馈给电路城。
使用说明:直接使用附件资料或需要对资料PCB板进行打样的买家,请先核对资料的完整性,如果出现问题,电路城不承担任何经济损失!
大家都在看:
R8188ETV是一款高性能的无线模块,其极高的兼容性,能够快速、方便的与无线设备互相联通,支持新的64/128位WEP数据加密,支持WPA-PSK/WPA2-PSK,WPA/WPA2安全机制,无线传输速率高150M,是普通11B产品的10倍。本设计是一款基于RTL8188ETV的USB WIFI适配器设计,其具体特性如下: 采用嵌入式模块RL-UM12BS-8188ETV,带RTL8188ETV工作在2.4 GHz频段1x1 MIMO技术可提高有效吞吐量和范围符合802.11 n / g / b标准FCC自以来批准数据速率:高达150Mbps802.11e兼容的突发和I标准BPSK,QPSK,16 QAM,64 QAM调制方案WEP,TKIP和AES,WPA,WPA2硬件加密方案标准USB A型连接器板载PCB天线4个测试焊盘,便于跟踪电源,d-,d +和GNDPCB:FR-4,1.00毫米(0,039英寸),阻焊膜,丝网印刷组件尺寸:35x15 mm(1.38x0.60“)无线模块 RTL8188ETV USB WIFI适配器实物截图:
来自:时间:
ATK-LORA-01无线串口模块是ALIENTEK推出的一款体积小,微功率、低功耗、高性能远距离LORA无线串口模块。模块设计的采用高效率的ISM频段射频SX1278扩频芯片。该ATK-LORA-01无线串口模块工作频率410Mhz-441Mhz,以1Mhz频率为步进信道,共32个信道,可通过AT指令在线修改串口速率,发射功率,空中速率、工作模式等各种参数,并且支持固件升级功能。模块电气参数:附件资料截图:
可能感兴趣的项目设计:(资料汇总)SX1278超远距离433M无线收发模块
来自:时间:
这是我的新项目,智能手机控制的Arduino 4WD机器人车或蓝牙Arduino机器人。它可以前后左右移动,改变其速度,打开/关闭前后灯,也可以发出喇叭声。硬件组件:
Arduino UNO&Genuino UNO×
HC 06射频无线蓝牙收发器从模块×
4WD智能机器人汽车底盘套件×
SparkFun双H桥电机驱动器L298×
LED(通用)×
电阻221欧姆×
软件应用程序和在线服务:
Arduino IDEArduino蓝牙遥控车手工工具和制造机器:
烙铁(通用)这是一个非常简单的设计机器人,您可以轻松构建它。第1步:要求所需零件:Arduino Uno R3主板带直流电机和车轮x4的底盘4WD电机驱动器L298N x2蓝牙模块HC-06锂离子电池18650 x2LED +电阻220欧姆x4蜂鸣器步骤2:组装4WD机器人智能汽车底盘详见附件视频:如何组装4WD机器人智能汽车底盘套件。第3步:接线图按照上图中的接线图进行连接。第4步:上传机器人代码代码详见附件!第5步:注释在上传代码之前,您必须从Arduino Uno板(引脚0,1)断开蓝牙模块的连接。第6步:下载Android应用程序Arduino蓝牙遥控车第7步:连接蓝牙模块要将您的智能手机连接到Arduino蓝牙模块HC-06,我们必须输入PIN码。第8步:完成一旦你完成了所有的步骤,机器人已经准备好了!
来自:时间:
一辆碰碰车通常由疯狂的狂欢者驱动 - 但我们要建造一辆自驾车碰撞车! 该机器人将使用Circuit Playground Express进行大脑和碰撞检测以及其机载加速度计。 Crickit将提供驱动两台TT直流变速箱电机所需的全部肌肉,以及一个微型伺服方向指示器标志。一个小型扬声器和NeoPixels也会给我们反馈,而保险杠机器人就在那里玩得开心!视频观看地址:https://youtu.be/d-vAdquc1XA所需材料:1 x Adafruit CRICKIT1个电路游乐场快车(圆形,真棒微控制器板)2个TT电动机直流变速箱(200 RPM 3至6VDC)2个橙色和清晰TT电机轮(用于TT DC变速箱电机)1个微型伺服器(180度旋转伺服)1个迷你金属扬声器w /电线(8欧姆0.5W)1个防水3xAA电池盒(与打开/关闭开关)1个直流电源适配器(2.1mm插头螺丝端子台)1节碱性AA电池(3包)所需工具:材料和工具中小瓦楞纸箱统治者爱好刀或剪刀回形针或安全别针双棍泡沫胶带使用MakeCode进行编码微软MakeCode团队的优秀人员一直在忙着将Crickit功能添加到MakeCode中! 目前,这可与MakeCode的测试版一起使用,因此请点击此链接开始。 然后,创建一个新项目。要在MakeCode中启用Crickit功能,请单击高级类别,然后单击扩展。代码其他详情见附件。
来自:时间:
urnipBit改造智能小车套件所需器材:TurnipBit开发板 一块下载数据线 一条智能小车套件 一套(底盘、车轮、电机等)超声波模块(HC-SR04)一个(用作小车的“眼睛”)L298N电机驱动模块 一个接入互联网的电脑 一台(推荐使用Google Chome或者Firefox浏览器) 电机驱动和超声波的安装
超声波模块共4个引脚,分别是VCC、GND、Trig和Echo。VCC接TurnipBit扩展板的+5V引脚,GND接TurnipBit扩展板的GND引脚,Trig触发引脚接P5,Echo回传引脚接P8。L298N电机驱动模块左侧OUT3、OUT4接线端子对应接入左轮电机的下侧、上侧侧铜片,右侧也是。L298N的输入端IN1、IN2、IN3、IN4分别接入扩展板的P19、P13、P12、P11。详细见下表:TurnipBit扩展板超声波模块L298N+5VVCC+12V、+5VGNDGNDGNDP5TrigP8EchoP11IN4P12IN3P13IN2P14IN1程序设计伪代码分析让我们先用伪代码来分析一下避障车的程序逻辑。首先,我们通过小车的超声波模块来检测前方是否存在障碍物,计算出与障碍物之间的距离。当与障碍物的距离小于或等于我们预设的安全距离时,控制小车进行转向避开障碍物;当与障碍物的距离大于我们预设的安全距离时,控制小车进行继续前进;逻辑顺序如下:第一步,触犯超声波模块开始检测;第二步:计算出与前方障碍物的距离;第三步:判断与障碍物的距离是否小于设定的安全距离;第四步:若小于或等于则进行转向,避开障碍物;第五步:若大于则继续保持前进。根据伪代码,画成流程图如下:代码分析会思考的避障车整体代码,可参考右侧代码显示区,如下。from microbit import *display.show(Image.ARROW_N)pin11.write_digital(0)pin12.write_digital(1)pin13.write_digital(0)pin19.write_digital(1)while True:num = 0pin5.write_digital(0)pin5.write_digital(1)sleep(0.01)if pin8.read_digital() != True:pin5.write_digital(0)pin5.write_digital(1)sleep(0.01)while pin8.read_digital():num = num + 1if num &= 8:display.show(Image.ARROW_W)pin11.write_digital(1)pin12.write_digital(0)pin13.write_digital(0)pin19.write_digital(1)sleep(1000)display.show(Image.ARROW_N)pin11.write_digital(0)pin12.write_digital(1)pin13.write_digital(0)pin19.write_digital(1)接下来,我们一起来分析一下代码。通过上面的代码,不难发现,控制避障车前进的代码部分我们重复编写了两遍,在实际项目中这种写法是不合理的。为了让代码更加简洁,优雅,我们将控制前进的代码部分提取出来建立名称为Go()的函数,在需要执行前进的地方直接调用Go()函数即可。from microbit import *def Go():display.show(Image.ARROW_N)pin11.write_digital(0)pin12.write_digital(1)pin13.write_digital(0)pin19.write_digital(1)Go()while True:num = 0pin5.write_digital(0)pin5.write_digital(1)sleep(0.01)if pin8.read_digital() != True:pin5.write_digital(0)pin5.write_digital(1)sleep(0.01)while pin8.read_digital():num = num + 1if num &= 8:display.show(Image.ARROW_W)pin11.write_digital(1)pin12.write_digital(0)pin13.write_digital(0)pin19.write_digital(1)sleep(1000)Go()按照同样的方式,我们将控制转向和检测障碍物的代码分别建立Turn()和Detection()函数。from microbit import *def Go():display.show(Image.ARROW_N)pin11.write_digital(0)pin12.write_digital(1)pin13.write_digital(0)pin19.write_digital(1)def Turn():display.show(Image.ARROW_W)pin11.write_digital(1)pin12.write_digital(0)pin13.write_digital(0)pin19.write_digital(1)def Detection():num=0pin5.write_digital(0)pin5.write_digital(1)sleep(0.01)if pin8.read_digital() != True:pin5.write_digital(0)pin5.write_digital(1)sleep(0.01)while pin8.read_digital():num = num + 1 return numGo()while True:num = Detection()if num &= 8:Turn()sleep(1000)Go()代码如上 ,拼插编程代码见附件。转自Geek-bodasister。
来自:时间:
猜你喜欢(实时推荐最适合你的电路)
在网上看到鼓捣车间分享的萌宠机器人Pando 和 Pandy 机器人,转载分享给更多的网友看,它们是一对小巧玲珑的卖萌机器人组合。他们除了外形可爱会卖萌外,最大的特点是可以共用一个 3D 打印的核心头部结构,当头部加上双足,就变成了 Pando 双足机器人;当头部加上车轮,就变成了 Pandy 智能车。
其中 Pando 机器人参考了很多 Otto 机器人的元素,在此基础之上,将 Otto 的结构做了一些改版,使之可以同时兼容 Pando 和 Pandy 两个机器人的安装。
这篇主要分享Pando 的制作教程,Pandy 教程见下一篇。
Pando机器人视频:
实物图片:
所需材料:
DFRobot Romeo BLE mini V2.0 控制器 × 1
DFRobot FireBeetle 24×8 LED点阵屏 × 1
Tower Pro MG90S 舵机 × 4
TTP223 触摸传感器 × 1
MPU6050 六轴陀螺仪 × 1
模拟声音传感器 × 1
蜂鸣器 × 1
7.4V 锂电池 × 1
拨动开关2档3脚 SS-12F15G5 × 1
数据线 × 1
3D 打印结构件(头、身体、双腿、双足)
2mm 厚的半透明黑色亚克力
螺丝、螺帽若干
热缩管若干
视频教程:
文字教程详见附件!
【转载自DF社区】
来自:时间:
这个之前做的一个两轮自平衡循迹小车,小车采用两片STM32,一块负责图像处理,另一块负责对电机的控制。两块板子之间使用串口通信传输数据。实现的功能:完成基本角度闭环程序,基本调节出角度的PD,完成基本速度闭环和位置闭环程序,基本可以按照设定方向前进,完成基本的前进 后退蓝牙控制功能,就是有些时候出现过冲停顿。完成基本控制功能,前进、后退、原地左转、原地右转、使用简单的蓝牙指令控制,0x01前进、0x02后退、 0x03原地左转、 0x04原地右转、0x00什么保持直立状态,优化静止时的状态。加入了手机APP蓝牙控制 出现问题 抖动过大多次控制容易出现死机现象。加入了 模糊控制 参数调节的还算可以,只调节了直立参数 速度闭环和位置闭环参数还没有调节等待明天调节。所有功能都已完毕。直立、壁障、循迹、蓝牙遥控、由于循迹采用双线导致有些时候不稳定、不知道是机械愿意还是软件原因导致直立静止时有些抖动。基本可以完成所有多需任务。小车图片:源码说明:
以stm32f103rct6为例测试串口通信数据MPU数据进行处理检测X轴加速度,Y轴角速度参考网上例程
来自:时间:
这次的diy项目,是避障循迹小车。此小车为四驱驱动 车底盘网上买的现成的。使用stc89c52rc芯片、l298n电机驱动模块、四路红外寻迹、超声波避障。
小车主要逻辑是检测到黑线 按黑线行走 没有黑线 转到避障模式。
小车的底盘,我是在网上买的现成的。建议想做的朋友,如果动手能力强就自己做个底盘,然后买几个电机和轮子。
二、焊接最小系统
这一块基本了解一些,所以基本还可以。
三、测试电机驱动模块
电机驱动,我使用的网上现成的L298n模块。使用了两个,一个模块驱动两个电机。控制方式是一个模块控制前两个轮子,另外一个控制后两个轮子。这块的连线应该还是比较容易的
网上搜索有一堆资料。这块还是强调一下,要和单片机共地。 另外说一嘴,电机的导线接的长一点。我的驱动因为放在底层的底盘,所以弄的短了些。当时我手头没有104电容,所以电机也没焊接电容。但是还好,我没遇到干扰的问题。建议焊接上,具体什么作用,我就不大了解了,说是滤波。
四、测试舵机
舵机这块调试时间最长。程序调了好久,电路也调整好几次。我一开始连接到p0上了,怎么弄都不好用。后来查了一下,p0端口需要焊接上拉电阻。正好在单位捡了一块抽屉底下的小木板,就自己用壁纸刀切了一个舵机云台。感觉还不错。哈哈
五、避障模式
电机驱动、电机、舵机都拼到一块。用12v的变压器,测试都是正常的。当时晚上鼓捣的,不知怎么鬼使神差的居然把芯片烧掉了。然后换个芯片,又烧掉了。后来发现应该是有一个驱动模块稳压模块坏了,输出的电压不是5v。直接变成高电压了。最后的最后才发现,最终的损失不止两个芯片一个驱动模块,居然连超声波也烧坏了一个。没办法没芯片了,又得等好几天了。最后就采用单片机和驱动单独供电。两节电池供电机,一节电池供单片机。基本稳定下来了。程序就比较容易了。
六、循迹模式
我一开始没控制电机驱动的通道使能。小车都是全速前进的。在循迹这块发现不行了,跑的太快了。小车都冲出跑道。唉 真心觉得不能偷懒 又都都拆开,重新接上杜邦线。这块也发现,因为我个人不算有洁癖,但还是希望
小车整体看起来利索点。所以驱动和红外模块都放在底层底盘了。这个其实不是特别方便。因为在调试的时候 看不到红外模块的指示灯。大家可以注意点。
调整程序 通过占空比 控制轮子转速。这块程序也比较顺利 程序基本是一次性通过。
电路图就是参考网上焊接的。程序放上来,入不了大神的法眼,请勿见笑!
制作过程中的一些截图:
来自:时间:
所需硬件:
STC15W系列单片机(有串口就行)wifi模块(ESP8266淘宝10元一片还包邮)找开手机wifi,搜索名为“WIFI”热点,输入密码,成功连接后。打开本手机APP,点击登录,跳出成功连接,然后会自动跳转到控制界面,轻点一下“开关按钮”,灯会被打开,同时模块会向手机终端返回“灯亮”,反之......硬件连接及注意事项:1.单片机型号为stc15w408as。其他型号也可以,要求:stc15w系,有P2.4口。2.供电为3.3v,因为ESP8266额定电压为3.3v。单片机的P3.0的P3.1(也就是串口通信线)分别与wifi模块的串口通信线连接,注意不要接反,esp8266其它脚位按规格书上连接即可。3.单片机的P2.4口控制灯,可接于三极管基极上(或通过继电器可以控制ac220的灯)。注意,点亮时IO口输出的是0低电平,灭时为1高电平。4.wifi的名称为“WIFI”,密码为“”,因为只是个试验,所以本手机app不可以更改密码等操作。纯属玩玩而已,通信数据未经校验,故勿用于商业。桌面图标:登录界面:控制界面:
来自:时间:
2018年全国大学生智能车竞赛,光电四轮组硬件原理图、PCB,引脚分配、元件参数全有标注。板上有所有常用外设,以及舵机、电机电流电压检测(ina260)。而且能跑,外带两组电源,4数据线,fpc接口。
来自:时间:
2017 年 02 月 21日
dydy9999购买了:
lichanglong购买了:
china_he购买了:
SETUP购买了:
elderboat购买了:
cwoy购买了:
wangminwr-1879975购买了:
°卡?购买了:
免费下载!
您想购买此电路吗?,上传电路,审核成功后获取电路城6折折扣劵。
6折折扣劵只能购买小于100元(含100元)的电路。

我要回帖

更多关于 蓝牙串口通信协议 的文章

 

随机推荐