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

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

3天内不再提示

【开源获奖案例】基于T5L智能屏的零食机

迪文智能屏 ? 2025-04-30 18:20 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

——来自迪文开发者论坛

本期为大家推送迪文开发者论坛获奖开源案例——基于T5L智能屏的零食机。该方案基于T5L芯片,通过PWM接口实现实时调控爪子抓取力度、速度,并支持后台按键长按时间读取,各模块自检,报错提醒,同步显示用户投币次数、游戏倒计时等功能,支持投币比例、游戏模式、多语言界面、抓力阈值等参数设置。


GUI工程设计
c4219962-25ac-11f0-9434-92fbcf53809c.png
C51工程设计

(1)T5L智能屏和主控的通信代码:

voiduart2_master_isr() interrupt 4{ u8 res; if(RI0) { RI0 =0; res = SBUF0; uart2_rx_timeout = UART2_RX_TIMEOUT; if((uart2_rx_sta&UART2_PACKET_OK)==0) { if(step==0) { recv_len =0; if(res==0x15) step =1; } elseif(step==1) { date_len = res; step =2; if(date_len>UART2_PACKET_MAX_LEN) step =0; } elseif(step==2) { if(recv_len==date_len) { step =0; if(res==0x16) { uart2_rx_sta = date_len; uart2_rx_sta |= UART2_PACKET_OK; } } else uart2_buf[recv_len++] = res; } } }}

(2)电机的驱动代码:

voidmotor_move(MOTOR motor,MOTOR_DIR dir){ if(motor==MOTOR_Z)//Z轴上的爪子电机 { if(dir==MOTOR_DIR_NONE)//停止 { MOTOR_Z_DISABLE(); } else { if((IS_MOTOR_Z_BACKWARD_POS()&&(dir==MOTOR_DIR_BACKWARD))|| (IS_MOTOR_Z_FORWARD_POS()&&(dir==MOTOR_DIR_FORWARD))) { MOTOR_Z_DISABLE(); dir =MOTOR_DIR_NONE; } else { MOTOR_Z_ENABLE(); MOTOR_Z_DIR_PIN= (dir==MOTOR_DIR_BACKWARD); } } } elseif(motor==MOTOR_X)//X轴移动电机 { if(dir==MOTOR_DIR_NONE)//停止 { MOTOR_X_DISABLE(); } else { if(IS_MOTOR_X_BACKWARD_POS()&&(dir==MOTOR_DIR_BACKWARD)) { MOTOR_X_DISABLE(); dir =MOTOR_DIR_NONE; } else { MOTOR_X_ENABLE(); MOTOR_X_DIR_PIN= (dir==MOTOR_DIR_BACKWARD); } } x_last_dir = dir; } elseif(motor==MOTOR_Y)//Y轴移动电机 { if(dir==MOTOR_DIR_NONE)//停止 { MOTOR_Y_DISABLE(); } else { if((IS_MOTOR_Y_BACKWARD_POS()&&(dir==MOTOR_DIR_BACKWARD))|| (IS_MOTOR_Y_FORWARD_POS()&&(dir==MOTOR_DIR_FORWARD))) { MOTOR_Y_DISABLE(); dir =MOTOR_DIR_NONE; } else { MOTOR_Y_ENABLE(); MOTOR_Y_DIR_PIN= (dir==MOTOR_DIR_BACKWARD); } } y_last_dir = dir; } elseif(motor==MOTOR_CLAW) { if(dir==MOTOR_DIR_NONE) { MOTOR_CLAW_RELEASE(); } else { MOTOR_CLAW_HOLD(); } }}

(3)通过PWM调节爪子力度,速度的代码:

constu16 MOTOR_DUTY[MOTOR_TOTAL][MOTOR_SPEED_MAX+1] = { {45+DUTY_OFFSET,60+DUTY_OFFSET,80+DUTY_OFFSET,110+DUTY_OFFSET,130+DUTY_OFFSET,160+DUTY_OFFSET,200+DUTY_OFFSET,250+DUTY_OFFSET,550+DUTY_OFFSET,TIM_ARR},//X {45+DUTY_OFFSET,60+DUTY_OFFSET,80+DUTY_OFFSET,110+DUTY_OFFSET,130+DUTY_OFFSET,160+DUTY_OFFSET,200+DUTY_OFFSET,250+DUTY_OFFSET,550+DUTY_OFFSET,TIM_ARR},//Y {45,60,80,110,130,160,200,250,550,TIM_ARR},//Z {200,220,240,270,290,320,360,410,550,TIM_ARR}//爪子 };voidmotor_set_speed(MOTOR motor,u8 speed){ if(speed>MOTOR_SPEED_MAX) return; pwm_set_duty((PWM_CH)motor,MOTOR_DUTY[motor][speed]);}voidmotor_set_claw_strength_by_vol(floatvol){ #defineCLAW_DUTY_MIN 200 #defineCLAW_DUTY_MAX TIM_ARR u16 duty; vol = (float)(vol-QZLDY_MIN)/(QZLDY_MAX-QZLDY_MIN); if(vol<0)? ? vol =?0;? ? else?if(vol>1) vol =1; duty = (u16)(vol*(CLAW_DUTY_MAX-CLAW_DUTY_MIN)+0.5f)+CLAW_DUTY_MIN; pwm_set_duty(PWM_CH_MOTOR_CLAW, duty);}

(4)厂家后台按键长按检测:

u8 key_check_long_press(KEY key,u32time){ while(1) { if(!(KEY_Scan(1)&key)) return1;//失败 if(time) { sys_delay_ms(1); time--; if(time==0) return0;//成功 } }}

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

    关注

    3

    文章

    3755

    浏览量

    43992
  • 迪文屏
    +关注

    关注

    3

    文章

    83

    浏览量

    5821
  • 智能屏幕
    +关注

    关注

    0

    文章

    72

    浏览量

    3676
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    什么是T5L

    ` 本帖最后由 ZXC_1 于 2019-2-21 16:10 编辑 T5L 是迪文科技针对AIoT应用需求而设计的低功耗、高性价比双核8051 人机界面专用ASIC。T5L ASIC特点:a.
    发表于 02-20 15:44

    分享|基于迪文T5L智能的净水机智能控制系统方案

    ——来自迪文开发者论坛用户开源案例整体方案基于评估板EKT043设计,单T5L芯片处理屏幕显示触摸以及外部系统的控制:接收并处理由高压传感器监测到的高、低压开关信号,实时显示数值在屏幕上;控制进水
    的头像 发表于 01-14 10:02 ?1466次阅读
    分享|基于迪文<b class='flag-5'>T5L</b><b class='flag-5'>智能</b><b class='flag-5'>屏</b>的净水机<b class='flag-5'>智能</b>控制系统方案

    基于STM32单片零食箱控制系统设计

    零食箱控制系统可以进行进行时间与光电的检测,DS1302起到定时时间的检测作用,光电管起到人体检测作用,通过OLED进行数据显示,通过继电器控制零食箱,系统内可以实现定时开箱的功能,本次设计的
    的头像 发表于 07-21 09:24 ?854次阅读
    基于STM32单片<b class='flag-5'>机</b>的<b class='flag-5'>零食</b>箱控制系统设计

    开源获奖案例】基于T5L的smtp邮件发送器

    ——来自迪文开发者论坛本期为您推送一个非常实用的迪文开发者论坛获奖开源案例——基于T5L的smtp邮件发送器。工程师采用T5L智能
    的头像 发表于 10-31 08:14 ?1037次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】基于<b class='flag-5'>T5L</b>的smtp邮件发送器

    开源获奖案例】水泥多量测定仪

    ——来自迪文开发者论坛本期为大家推送的论坛获奖开源案例可用于建筑行业检测水泥成分含量——基于T5L智能的水泥多量测定仪。工程师基于
    的头像 发表于 11-18 08:13 ?726次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】水泥多量测定仪

    浏览器网页与T5L迪文串口深度扩展(Node-RED技术)

    ——来自迪文开发者论坛本期为大家推送一个很有创意的迪文开发者论坛获奖开源案例——浏览器网页与T5L迪文串口深度扩展(Node-RED技术)。工程师使用
    的头像 发表于 12-09 08:13 ?1420次阅读
    浏览器网页与<b class='flag-5'>T5L</b>迪文<b class='flag-5'>屏</b>串口深度扩展(Node-RED技术)

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

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

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

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

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

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

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

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

    开源获奖案例】基于T5L芯片的调音台麦克风混响回声控制

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——基于T5L芯片的调音台麦克风混响回声控制。工程师采用800×480分辨率屏幕,通过T5L串口4与混响开发板进行数据交互
    的头像 发表于 01-07 15:32 ?549次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】基于<b class='flag-5'>T5L</b>芯片的调音台麦克风混响回声控制

    开源获奖案例】基于T5L智能的EQ均衡效果器

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——基于T5L智能的EQ均衡效果器。工程师采用800×480分辨率屏幕,通过
    的头像 发表于 02-14 11:27 ?558次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】基于<b class='flag-5'>T5L</b><b class='flag-5'>智能</b><b class='flag-5'>屏</b>的EQ均衡效果器

    开源获奖案例】基于T5L智能的FM收音

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——基于T5L智能的FM收音
    的头像 发表于 03-28 15:39 ?449次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】基于<b class='flag-5'>T5L</b><b class='flag-5'>智能</b><b class='flag-5'>屏</b>的FM收音<b class='flag-5'>机</b>

    开源获奖案例】基于T5L智能的音乐播放与歌词显示方案

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——基于T5L智能的音乐播放与歌词显示方案。该方案通过
    的头像 发表于 05-08 09:52 ?297次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】基于<b class='flag-5'>T5L</b><b class='flag-5'>智能</b><b class='flag-5'>屏</b>的音乐播放与歌词显示方案

    开源获奖案例】AI智能交互新方案:基于T5L智能的AI DeepSeek大模型

    ——来自迪文开发者论坛本期为大家推送迪文开发者论坛获奖开源案例——AI智能交互新方案:基于T5L智能
    的头像 发表于 07-12 09:02 ?338次阅读
    【<b class='flag-5'>开源</b><b class='flag-5'>获奖</b>案例】AI<b class='flag-5'>智能</b>交互新方案:基于<b class='flag-5'>T5L</b><b class='flag-5'>智能</b><b class='flag-5'>屏</b>的AI DeepSeek大模型