0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【开源】基于迪文屏的智能眼

迪文智能屏 2023-06-22 10:17 次阅读

——来自迪文开发者论坛

本次为大家推荐的迪文开发者论坛开源项目是一个很有意思的模拟人眼跟随运动的例程。工程师使用几张人眼图片素材,实现了眼珠运动、眨眼、人脸识别和跟随等功能,让我们一睹为快:

01

方案简介

1. UI图片素材

编者注:迪文智能屏是基于图片来完成UI开发的,可以便捷的实现各类显示效果。

f5018964-10a2-11ee-a579-dac502259ad0.png

2.界面开发

通过DGUS软件开发界面比较简单,只需要两个图形控件即可。在该例程中,工程师选择了一款2.1寸圆形智能屏。f52095d4-10a2-11ee-a579-dac502259ad0.png

3.实现眨眼

隔一段时间让眼皮的图片轮流显示一下://眨眼动画

void blink_animat(void)

{

if(blink_flag == 0)

{

blink_cnt++;

if(blink_cnt >= 4)

{

blink_flag = 1;

}

}

else

{

blink_cnt--;

if(blink_cnt <= 0)

{

blink_flag = 0;

} }

write_dgus_vp(0x3000, (u8 *)&blink_cnt, 2);

}

void blink_run()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

if(run_timer_cnt >= 2000000)

{

run_timer_cnt = 0;

blink_animat();

Delay_ms(30);

blink_animat();

Delay_ms(30);

blink_animat();

Delay_ms(30);

blink_animat();

Delay_ms(30);

blink_animat();

Delay_ms(30);

blink_animat();

Delay_ms(30);

blink_animat();

Delay_ms(30);

blink_animat();

Delay_ms(30);

}

}

4.实现眼珠自然左右看

这里和眨眼类似,但是需要比较晶振的控制眼球运动的时间,这里经过多次调试,工程师设计出了下面这套代码。//眼珠动画
void eyeball_animat(void)

{

eyeball_timer_cnt++;

if(eyeball_timer_cnt < 50)

{

eyeball_cnt = 20;

}

else if(eyeball_timer_cnt < 51)

{

eyeball_cnt = 50;

}

else if(eyeball_timer_cnt < 52)

{

eyeball_cnt = 80;

}

else if(eyeball_timer_cnt < 53)

{

eyeball_cnt = 94;

}

else if(eyeball_timer_cnt < 103)

{

eyeball_cnt = 94;

}

else if(eyeball_timer_cnt < 104)

{

eyeball_cnt = 80;

}

else if(eyeball_timer_cnt < 105)

{

eyeball_cnt = 50;

}

else if(eyeball_timer_cnt < 106)

{

eyeball_cnt = 20;

}

else if(eyeball_timer_cnt < 107)

{

eyeball_cnt = -10;

}

else if(eyeball_timer_cnt < 108)

{

eyeball_cnt = -40;

}

else if(eyeball_timer_cnt < 158)

{

eyeball_cnt = -54;

}

else if(eyeball_timer_cnt < 159)

{

eyeball_cnt = -40;

}

else if(eyeball_timer_cnt < 160)

{

eyeball_cnt = -10;

}

else if(eyeball_timer_cnt < 161)

{

eyeball_cnt = 20;

eyeball_timer_cnt = 0;

}

//左右移动

// if(eyeball_flag == 0)

// {

// eyeball_cnt++;

// if(eyeball_cnt >= 94)

// {

// eyeball_flag = 1;

// }

// }

// else

// {

// eyeball_cnt--;

// if(eyeball_cnt <= -54)

// {

// eyeball_flag = 0;

// }

// }

if(eyeball_cnt >= 0)

{

eyeball_pos[0] = 0x00;

eyeball_pos[1] = eyeball_cnt;

}

else

{

eyeball_pos[0] = 0xFF;

eyeball_pos[1] = (eyeball_cnt & 0xFF);

}

write_dgus_vp(0x3111, (u8 *)&eyeball_pos, 2);

}

void eyeball_run()

{

static u32 run_timer_cnt = 0;

run_timer_cnt++;

if(run_timer_cnt >= 20000)

{

run_timer_cnt = 0;

eyeball_animat();

}

}

5.加入ESP32人脸识别,实现眼珠跟随人脸运动

这里的处理方式是,检测到人脸的时候眼睛自己不运动了,定义一个变量在while循环中自增,当自增到一定数值时,眼珠就自己运动。当串口收到数据时,这个变量就清零,然后只根据人脸的位置进行眼睛的移动。主要代码如下:if(rec_data_timer_cnt < 1000000)

{

rec_data_timer_cnt++;

}

else

{

eyeball_run();

}

extern u32 rec_data_timer_cnt;

extern u16 eyeball_timer_cnt;

void Communication_CMD(u8 st)

{

if((uart[st].Rx_F==1 )&&(uart[st].Rx_T==0))

{

rec_data_timer_cnt = 0;

eyeball_timer_cnt = 0;

#if(Type_Communication==1)

Describe_8283(st);

#elif(Type_Communication==2)

Describe_Modbus(st);

#endif

uart[st].Rx_F=0;

uart[st].Rx_Num=0;

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 人脸识别
    +关注

    关注

    76

    文章

    4012

    浏览量

    81903
  • 迪文屏
    +关注

    关注

    3

    文章

    78

    浏览量

    5389
收藏 人收藏

    评论

    相关推荐

    文科技邀您共赴上海国际压缩机及设备展览会

    2024上海国际压缩机及设备展览会于2024年11月5日-8日在上海新国际博览中心举办,文科技携显控一体产品方案、DGUS智能及多媒体显示方案等亮相展会现场。敬邀广大客户莅临
    的头像 发表于 11-06 08:01 262次阅读
    <b class='flag-5'>迪</b>文科技邀您共赴上海国际压缩机及设备展览会

    开源获奖案例】基于T5L智能的汽车抬头显示器方案

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——基于T5L智能
    的头像 发表于 09-24 08:03 304次阅读
    【<b class='flag-5'>开源</b>获奖案例】基于T5L<b class='flag-5'>智能</b><b class='flag-5'>屏</b>的汽车抬头显示器方案

    高校暑期实践活动圆满结束

    产线车间,详细了解智能从设计到生产全流程,了解自主设计研发的人机交互专用ASIC在工业自动化、医疗器械、美容保健、智慧家居及家电、新能源等行业领域的应用案例
    的头像 发表于 09-03 08:02 312次阅读
    <b class='flag-5'>迪</b><b class='flag-5'>文</b>高校暑期实践活动圆满结束

    串口如何与电脑连接

    效果好、稳定性高、易于集成等特点。串口广泛应用于工业自动化、医疗设备、智能家居等领域。
    的头像 发表于 08-01 15:10 1128次阅读

    开源获奖案例】基于T5L智能的便携功率计解决方案

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——基于T5L智能
    的头像 发表于 08-01 08:13 314次阅读
    【<b class='flag-5'>开源</b>获奖案例】基于T5L<b class='flag-5'>智能</b><b class='flag-5'>屏</b>的便携功率计解决方案

    串口ModBus开发流程

    这里接前一章节,继续的开发,前章主要讲解基础开发流程,此章节开始讲解ModBus协议栈的使用方法。前文指路:《
    的头像 发表于 07-19 08:21 507次阅读
    <b class='flag-5'>迪</b><b class='flag-5'>文</b>串口<b class='flag-5'>屏</b>ModBus开发流程

    开源获奖案例】基于T5L智能的指纹识别解决方案

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——基于T5L智能
    的头像 发表于 07-06 08:13 311次阅读
    【<b class='flag-5'>开源</b>获奖案例】基于T5L<b class='flag-5'>智能</b><b class='flag-5'>屏</b>的指纹识别解决方案

    串口基础GUI开发流程

    和UART4是RS232接口的,UART2也作为系统默认的调试串口,UART5是RS485接口的,但UART4和UART5都需要对系统的OS核做修改才能使用。的资料较为
    的头像 发表于 07-05 08:21 718次阅读
    <b class='flag-5'>迪</b><b class='flag-5'>文</b>串口<b class='flag-5'>屏</b>基础GUI开发流程

    基于T5L智能的万能红外控制器

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——基于T5L智能
    的头像 发表于 06-22 08:13 338次阅读
    基于T5L<b class='flag-5'>智能</b><b class='flag-5'>屏</b>的万能红外控制器

    文科技中国供热展圆满闭幕

    5月11日至13日,在北京中国国际展览中心举办的“2024年中国供热展览会”已圆满落幕。在本次展会上,文科技聚焦暖通、新风等行业,面向广大参会者展示了丰富多样的智能产品及相关解决方案,
    的头像 发表于 05-13 17:18 260次阅读
    <b class='flag-5'>迪</b>文科技中国供热展圆满闭幕

    开源获奖案例】与安卓手机双向联动控制音乐播放

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——
    的头像 发表于 04-29 08:13 603次阅读
    【<b class='flag-5'>开源</b>获奖案例】<b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>屏</b>与安卓手机双向联动控制音乐播放

    开源获奖案例】多功能称重器

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——多功能称重器。工程师采用4英寸COF
    的头像 发表于 04-20 08:12 414次阅读
    【<b class='flag-5'>开源</b>获奖案例】多功能称重器

    文科技2024年首展丨湖南医疗器械展完美收官

    3月28日-3月30日,文科技精彩亮相第32届湖南医疗器械展览会。展会现场,文科技展出了丰富多样的智能产品以及智慧护理呼叫系统、人体检测等解决方案,吸引了众多观众前来体验交流,现
    的头像 发表于 03-31 08:12 342次阅读
    <b class='flag-5'>迪</b>文科技2024年首展丨湖南医疗器械展完美收官

    控制WS2812氛围灯

    ——来自开发者论坛本期为大家推送开发者论坛获奖开源案例——
    的头像 发表于 01-26 08:12 1055次阅读
    <b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>屏</b>控制WS2812氛围灯

    开源获奖案例】智能培养室

    为大家推送开发者论坛获奖开源案例——智能培养室。工程师通过Modbus协议实现了T5L智能
    的头像 发表于 01-09 08:13 424次阅读
    【<b class='flag-5'>开源</b>获奖案例】<b class='flag-5'>智能</b>培养室