云台

云台控制设计


云台标识

这里写图片描述
云台的标识标明了云台接线的各接线端接通时所执行的功能。


云台接线

这里写图片描述


云台控制器

这里写图片描述
画圈标明处用来接USB转485转换器,通过转换器,将运行程序写入控制器中,控制云台工作。


这里写图片描述
每个Byte都用十六进制表示;
Synch Byte总是为0xFF;
Address为云台的本地地址(即第几个云台,如:0x02)
这里写图片描述
想要云台怎样工作,只要相应为给1就可以;
Data1和Data2为云台的转速控制位,给0为停止,数值越大,转速越快;
Check Sum为检验位,为Byte2、Byte3、Byte4、Byte5、Byte6的和。


程序例子:

#include <stdio.h>
#include <unistd.h>
#include <fcntl.h>
#include <termios.h>

int main(void)
{
    int fd;

    fd = open("/dev/ttyUSB0", O_RDWR|O_NOCTTY|O_NONBLOCK);//要加上O_NOCTTY|O_NONBLOCK才能把串口打开
    if (fd < 0)
    {
        perror("open");
        return 1;
    }

    fcntl(fd, F_SETFL, 0);//将O_NOCTTY|O_NONBLOCK标志位去掉

    struct  termios opts;

    tcgetattr(fd, &opts);//获取当前端口属性选项

    cfsetispeed(&opts, B9600);//设置波特率 9600
    cfsetospeed(&opts, B9600);

    opts.c_cflag |= CREAD|CLOCAL;//打开接收,设置本地模式

    //8N1
    opts.c_cflag &= ~CSIZE;//清空数据位
    opts.c_cflag |= CS8;//设置8位数据位
    opts.c_cflag &= ~PARENB;//不使用奇偶校验位
    opts.c_cflag &= ~CSTOPB;//使用1位停止位

    opts.c_cflag &= ~CRTSCTS;//opts.c_cflag &= ~CNEW_RTSCTS;//不使用硬件流控

    opts.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG);//使用原样输入(不经过处理)
    opts.c_oflag &= ~OPOST;    //使用原样输出(不经过处理)

    tcsetattr(fd,TCSANOW , &opts);//设置端口属性选项

    //      Synch Byte, Address, Command1, Command2, Data1, Data2, Check Sum
    char cmd_left[7] = {0xff, 0x02, 0x00, 0x04, 0x01, 0x01, 0x08};//左
    char cmd_right[7] = {0xff, 0x02, 0x00, 0x02, 0x01, 0x01, 0x06};//右
    char cmd_up[7] = {0xff, 0x02, 0x00, 0x08, 0x01, 0x01, 0x0C};//上
    char cmd_down[7] = {0xff, 0x02, 0x00, 0x10, 0x01, 0x01, 0x14};//下
    char cmd_stop[7] = {0xff, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02};//停止

    while(1)
    {
        write(fd, cmd_up, 7);//上
        sleep(10);
        write(fd, cmd_down, 7);//下
        sleep(10);
        write(fd, cmd_left, 7);//左
        sleep(10);
        write(fd, cmd_right, 7);//右
        sleep(10);
        write(fd, cmd_stop, 7);//停止
        sleep(10);
    }

    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值