迪文科技论坛

 找回密码
 立即注册
搜索
查看: 203|回复: 0

【开源】COF案例分享:触摸调节式云台及视角状态指

[复制链接]

574

主题

169

回帖

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12353
发表于 2022-4-25 13:27:55 | 显示全部楼层 |阅读模式
——文档转载自电子发烧友

前段时间申请到一套摄像头组件,可与电脑连接来显示拾取的图像,但却无法直接将采集的图像显示到一般的显示屏上。如今网友已使用ESP32开发板同摄像头相结合实现了在屏上的显示功能,这就为制作小巧的操控型摄像装置提供新途径。

该如何来实现摄像头的操控呢?那就是为摄像头配上一个可操控的云台,并通过步进电机来驱动云台的转动。而云台的操控则是通过迪文智能屏来完成,并直接显示出摄像头所转动的视角,其界面及制作见图1和图2所示。

      
1 操控界面                                                                 2界面制作


此外,为了防止缠绕性地转动,还设置了边界的提示保护功能,即达到边界后自动停止自动,并提供蜂鸣器来报警提示。该装置在硬件方面由迪文5寸触摸屏、步进电机、驱动模块及蜂鸣器模块所组成,见如图3所示。其中,步进电机所使用的引脚为P1.0~P1.3,蜂鸣器所使用的引脚为P1.4。

3 硬件构成

在使用时,是通过触摸界面上的正转、反转及停止键即可操作云台运转。云台的转动范围在0~360度之间。

正反转功能函数为:
void zx(void)
{
u8 j;
for(j=0;j<8;j++)
{
MDH;
MAH;
delay_ms(n);
MAL;
delay_ms(n);
MCH;
delay_ms(n);
MDL;
delay_ms(n);
MBH;
delay_ms(n);
MCL;
delay_ms(n);
MAH;
delay_ms(n);
MBL;
delay_ms(n);
}
}

void fx(void)
{
u8 j;
for(j=0;j<8;j++)
{
MDL;
MAH;
delay_ms(n);
MBH;
delay_ms(n);
MAL;
delay_ms(n);
MCH;
delay_ms(n);
MBL;
delay_ms(n);
MDH;
delay_ms(n);
MCL;
delay_ms(n);
MAH;
delay_ms(n);
}
}

实现视角显示与边界提示的主程序为:
void main(void)
{
u16 n,i,m;
InitCPU();
Starttimer(1,500);
delay_ms(200);
IO_OUT();
MAL;
MBL;
MCL;
MDL;
BEEP=1;
i=0;
n=0;
Write_Dgus(0x2004,0);
while(1)
{
m=Read_Dgus(0x2000);
IF(m==1)
{
zx();
i=i+1;
}
if(m==2)
{
fx();
i=i-1;
}
n=i*360/64;
Write_Dgus(0x2004,n);
if((i>=64)||(i==0))
{
m=0;
Write_Dgus(0x2000,m);
BEEP=0;
delay_ms(1000);
BEEP=1;
}
if(m==3)
{
m=0;
}
delay_ms(10);
}
}

本作品完全是利用迪文屏的自身资源来实现云台的控制,并配以转动位置显示及边界提示功能。




















本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|迪文科技论坛 ( 京ICP备05033781号-1 )

GMT+8, 2025-1-14 21:24 , Processed in 0.071911 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表