基于STM32+JAVA+Android的六足机器人控制系统设计实现(含代码)

STM32毕业设计——基于STM32+JAVA+Android的六足机器人控制系统设计与实现(毕业论文+程序源码)——六足机器人控制系统

大家好,今天给大家介绍基于STM32+JAVA+Android的六足机器人控制系统设计与实现,文章末尾附有本毕业设计的论文和源码的获取方式,也可现在直接进群免费领取。

点击这里找小助理0元领取:扫码进群领资料

1、项目简介

  1. 本设计主要是基于单片机的六足机器人控制系统设计,综合分析六足机器人的结构、步态和控制算法,结合云端服务器、WIFI技术、蓝牙技术、语音识别技术和手势识别技术进行多种控制模式的设计,并提出不同应用场景的不同构建方案。
  2. 本系统的硬件设计分为主控板和舵机控制板两部分。主控板主要负责各种控制模式的数据处理和显示,舵机控制板主要负责舵机转动角度的控制,两板通过串口进行数据的交互。主控制板采用STM32F103VET6芯片,舵机控制板采用STM32F103R8T6芯片,两者都基于ARM的Cortex M3内核进行设计的。主控制板的硬件电路设计主要有启动电路、晶振电路、下载电路、复位电路、稳压电路以及各个模块接口电路。在Altium Designer16软件中进行原理图的绘制和PCB的绘制,打样后进行焊接并完成整体的测试。
  3. 本系统的上位机主要是手机APP,其开发环境是Android Studio,采用C#作为云端开放平台语言,JAVA语言作为移动客户端设计语言,通过JAVA语言的编写实现手机客户端的数据接收和发送,最终实现基于云端和蓝牙的控制系统上位机板块的设计。本系统下位机的软件设计是在Keil5编程环境下进行的,参考STM32F1的手册和各个模块的数据手册进行程序的编写,最终实现云端控制、蓝牙控制、语音控制和手势控制这四种控制系统设计。


二、系统方案设计
2.1 控制系统方案设计2.1.1 远程控制方案设计

远程控制方案是基于云端的控制方案,是结合最新的云端技术进行开发的方案。本系统的舵机控制系统与控制模式选择的控制系统是分开来设计的,因此在对远程控制方案进行设计的时候,我们只需要关注WIFI模块如何与云端服务器连接,手机APP如何与云端服务器连接,手机APP如何与主控制板的WIFI模块进行数据交互。


该六足机器人结构上搭载的WIFI模块与主控板的主控芯片是用串口接口进行数据交互的,然后根据查阅相关AT指令,发送或接收相关AT指令可以配置WIFI模块,配置完成后便可使用无线透传模式来传输数据。

数据的流动过程是先从手机APP开始的,手机APP通过WIFI将数据发送到远端服务器,然后云端服务器做转发的作用,将数据通过互联网发送到六足机器人所在的局域网的路由器,然后路由器再一次进行转发将数据发送到六足机器人机械结构的WIFI模块上,WIFI模块通过串口将数据传输到主控芯片,主控芯片对数据进行解析,解析完成后发送相关的动作组指令到舵机控制板,最终实现机器人相关动作组动作。


远程控制方案是结合当前最新的技术进行开发的,只要六足机器人所在区域有网络,用户的手机在世界任何地方通过手机流量即可实现远程控制。再加上六足机器人搭载视频模块可以进行远程监控,因此可以实现真正的远程控制,这为后面的运用在不同场景下的方案设计起到很大的作用。当然,这也是本设计在控制系统方面重点要设计的内容。

2.1.2 蓝牙控制方案设计


2.1.3 人机交互方案设计


2.2 应用场景方案设计
2.2.1 系统运用方案说明


本系统硬件部分预留出模块或传感器的通信接口,采用模块化配置的方式来设计检测部分,用户可以根据不同的任务,不同的场景进行不同的模块搭配,通过不同的传感器进行数据的采集,可以实现温湿度、有毒气体、可燃气体、生命图像、坐标位置等等数据的采集,从而达到不同场景不同功能。

2.2.2 崎岖地形探测方案

本系统在不添加其他模块配置的情况下即可实现复杂地形的探测功能,因为该六足机器人因为本身的六足结构可以非常灵活在崎岖地形运动,然后其本身还带有远程视频模块,因此可以实现远程视频实时显示并可以通过云端实现远程的控制。所以,只要是在一些有网络但道路崎岖的地形,都可以让该六足机器人进行现场的探测,用户可以在远程进行现场的观察。

2.2.3 震后救灾搜寻方案

该六足机器人如果需要运用于地震后的救灾搜寻工作中则需要进行个别传感器和模块的搭配配置。比如生命探测模块、GPS模块和声音探测器等等。通过生命探测器可以对地震后的地面进行生命的搜寻,由于它可以灵活行走在一些工作人员无法进入的地方,所以很大程度上提高了搜寻的效率及面积。一旦检测到有生命,马上通过GPS模块进行定位,然后通过云端把坐标发送到工作人员的手机客户端,从而实现精确的灾后生命搜寻定位功能。除此之外,还可以通过声波的检测来判断是否有生命。当然,还可以通过它来进行食物的运输或者仪器的运输。

2.2.4 科研探险勘测方案


完整项目可进群免费领取,领取链接在文章开头和结尾!!


4.4.2 下位机的程序编写

远程控制模式是基于云端进行远程控制的,六足机器人身上搭载ESP8266WIFI模块,通过WIFI连上云端服务器,然后手机也联网,通过这样的方式来实现远程控制。这一块的程序是实现STM32F103VET6芯片与WIFI模块的数据交互,并配置相关的AT指令来设置STA模式中的TCP-CLIENT模式。
整个工程里面有两个文件是与WIFI相关的,一个是common.C文件,另一个是WIFISTA.C文件。下面是WIFI配置的流程图。
在common.C文件里面首先是需要写好路由器的名称和密码。具体设置如下:

const char* WIFISTA_ssid="AAAA"; //连接路由器 const char* WIFISTA_encryption="wpawpa2_aes"; //连接加密方式 const char* WIFISTA_password="88888888"; //连接密码 然后进行WIFI模块的连接,程序如下: while(ATK_8266_SEND_CMD("AT","OK",20)) //检查WIFI模块是否在线 {
	ATK_8266_quit_trans();//退出透传 ATK_8266_SEND_CMD("AT+CIPMODE=0","OK",200); //关闭透传模式  Show_Str(40,55,200,16,"未检测到模块!!!",16,1);
	delay_ms(800);
	LCD_Fill(40,55,200,55+16,BLACK);
	Show_Str(40,55,200,16,"尝试连接模块...",16,1);
} while(ATK_8266_SEND_CMD("ATE0","OK",20)); 


完整项目工程可进群免费领取。

嵌入式物联网的学习之路非常漫长,不少人因为学习路线不对或者学习内容不够专业而错失高薪offer。不过别担心,我为大家整理了一份150多G的学习资源,基本上涵盖了嵌入式物联网学习的所有内容。点击下方链接,0元领取学习资源,让你的学习之路更加顺畅!记得点赞、关注、收藏、转发哦!

点击这里找小助理0元领取:扫码进群领资料

the end

评论(0)