请选择 进入手机版 | 继续访问电脑版

作品展示

原创作品:uestc_ecovacs_c

系统分类: 机器人创想秀 - 技术流

作品版权:uestc_ecovacs_c 版权所有,禁止匿名转载;禁止个人使用。

uestc_ecovacs_c

2015-6-20 16:28:49

初赛得分

总分(62.24)点赞数(12)评委打分(61.6)

评委[创想秀_评委1]:1.缺乏创新和新颖性 2.智能是如何体现的?

作品亮点:

机械结构:采用目前市场上广泛应用的圆盘形和辊刷结构,采用全亚克力材料,在减少重量的同时,能够较好地保证耐碰撞能力。 硬件设计:传感器电路,驱动电路以及主控芯片均集成在内部,采用直流减速电机驱动,12V锂电池供电。 软件设计:,11

作品说明:

[align=left]一、 总体构架设计[/align][align=left]采用stm32为主控板的芯片,稳压芯片采用TPS76850,驱动芯片采用L298N,避障传感器采用hc-sr04超声波模块以及红外模块,编码器采用16线光电码盘。[/align]
[align=left][media=swf,500,375]http://player.youku.com/player.php/sid/XMTI2NjY0MDYwOA==/v.swf[/media][/align][align=left]若视频无法查看请点击:[url=http://v.youku.com/v_show/id_XMTI2NjY0MDYwOA==.html?from=s1.8-1-1.2]http://v.youku.com/v_show/id_XMTI2NjY0MDYwOA==.html?from=s1.8-1-1.2[/url][/align][align=left]二、 软件详解[/align][align=left]部分程序[/align][align=left]#include "includes.h"[/align][align=left]/* [/align][align=left] * 函数名:main[/align][align=left] * 描述  : 主函数[/align][align=left] * 输入  :无[/align][align=left] * 输出  : 无[/align][align=left] */[/align][align=left] //要写入到STM32 FLASH的字符串数组[/align][align=left]u8 mode=0;//机器人模式[/align][align=left]u8 key=0,coder_read_flag=0;//编码器读取标志[/align][align=left]struct DTIME *DTime={0};[/align][align=left]struct DIS_PARA *dis_para={0};[/align][align=left]struct ULTRONIC *ultronic={0};[/align][align=left]struct MPU6050 *mpu6050={0};[/align][align=left]/*************************[/align][align=left]函数名称:void init(void)[/align][align=left]功能:    硬件初始化[/align][align=left]参数 无[/align][align=left]输出      无[/align][align=left]*************************/[/align][align=left]void init(void)[/align][align=left]{     [/align][align=left]     DTime=(struct DTIME*)malloc(sizeof(struct DTIME));[/align][align=left]     dis_para=(struct DIS_PARA*)malloc(sizeof(struct DIS_PARA));[/align][align=left]     ultronic=(struct ULTRONIC*)malloc(sizeof(struct ULTRONIC));[/align][align=left]     mpu6050=(struct MPU6050*)malloc(sizeof(struct MPU6050));[/align][align=left]         delay_init();[/align][align=left]     NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级[/align][align=left]     para_init(DTime);//参数初始化[/align][align=left]         key_init();[/align][align=left]     oled_init();//液晶屏初始化[/align][align=left]     RTC_Init(2014,11,25,22,44,0); //RTC初始化,参数为现在年月日时间[/align][align=left]         motor_init();//电机初始化,四路PWM控制[/align][align=left]         ir_init();//红外避障与防跌落[/align][align=left]     ultronic_init();//捕获初始化,还未给触发信号[/align][align=left]         encode_init();//编码初始化[/align][align=left]}[/align][align=left]#if MODE==APPLY[/align][align=left]int main(void)[/align][align=left]{[/align][align=left]           init();//所有硬件初始化[/align][align=left]           if(mode==TIME_MODE)//判断是否为定时模式下启动[/align][align=left]           {[/align][align=left]             DTIME_Read(DTime);//从FLASH中读取DTIME[/align][align=left]         rtc_nearweek(DTime);//修改RTC闹钟计数器值为下一预定时间[/align][align=left]       }[/align][align=left]            else//不是待机唤醒则进入按键控制界面[/align][align=left]            {[/align][align=left]                 while(!mode)[/align][align=left]                 {[/align][align=left]                         mode=key_mode(DTime);//等待用户选择模式[/align][align=left]                 }[/align][align=left]            }[/align][align=left]           ultronic_trig();//超声波信号触发[/align][align=left]           TIM2_Timer_Init(10,72);//10US定时器[/align][align=left]             while(1)[/align][align=left]           {                                [/align][align=left]                   if(DTime->Set_seconds>DTime->seconds)//时间到[/align][align=left]                   {[/align][align=left]            stop();//关机[/align][align=left]          }[/align][align=left]                   coder_read_flag=encode_read(dis_para);//编码器读取[/align][align=left]                   if(coder_read_flag)//更新编码器距离后控制一次[/align][align=left]                   {                                [/align][align=left]             //show_para(ultronic,dis_para);//显示参数                        [/align][align=left]                     road_judge(ultronic,dis_para);//判断道路,“回”字形[/align][align=left]                     danger_happen(ultronic,dis_para);//判断是否发生危险[/align][align=left]                     control_car(dis_para->turn_way);//控制车体[/align][align=left]                   }[/align][align=left]       }[/align][align=left]}[/align][align=left]#endif[/align]
其他作品
返回列表