当前位置: 首页 > news >正文

做网站做国外广告网站推广软件免费观看

做网站做国外广告,网站推广软件免费观看,杭州外贸网站建设公司价格,深圳市住房和建设局工程交易中心一、模块简介 手势模块PAJ7620主要利用IIC或SPI协议来实现数据的传输,本实验用的模块是以IIC来进行信息传输。支持电压从2.8v到3.6v, 正常可以选择3.3v。检测的距离从5到15cm, 可以检测9种手势,包括 右:编码为 0x01左:编码为 0x0…

一、模块简介

        手势模块PAJ7620主要利用IIC或SPI协议来实现数据的传输,本实验用的模块是以IIC来进行信息传输。支持电压从2.8v到3.6v, 正常可以选择3.3v。检测的距离从5到15cm, 可以检测9种手势,包括

  • 右:编码为 0x01
  • 左:编码为 0x02
  • 上:编码为 0x04
  • 下:编码为 0x08
  • 前:编码为 0x10
  • 后:编码为 0x20
  • 顺时针:编码为 0x40
  • 逆时针:编码为 0x80
  • 挥动:编码为 0x0100

1.1、PAJ7620 框图

        红色框是实验模块的引脚,无SPI,其中SDA,SCL 是IIC协议线,INT是手势结果输出引脚,输出结果时会触发低电平,所以可以利用轮询的方式检测该引脚或者利用外部中断的方式。

1.2、模块原理图

1.3、IIC 协议

        这里不过多描述,详细可参考51 iic  读写格式如下:

        PAJ7620的Slave ID 是0x73, 在使用时要左移一位,因为IIC中的第一个字节包括SlaveID + (R/W),R/W 确定读或写。

1.4、寄存器

        PAJ7620寄存器也挺多,都是八位,但是每个寄存器功能比较单一。有两个主要的寄存器,BANK0和BANK1, 向0xEF 地址写0或写1分别选中BANK0或BANK1。每个BANK下又有好多个8位寄存器。比如:

BANK0下包括手势中断的寄存器

BANK1下包括模式选择寄存器,手势使用0x00

二、代码

根据上述的IIC读写格式,可以对应以下读写代码

uint8_t iic_write_7620(uint8_t devAddress, uint8_t regAddress, uint8_t *data, uint16_t length) {uint16_t cnt;iic_start();iic_send_byte(devAddress << 1 | 0);if(iic_wait_ack() == NACK){iic_stop();return 1;}iic_send_byte(regAddress);if(iic_wait_ack() == NACK) {iic_stop();return 2;}for(cnt = 0; cnt < length; cnt++){iic_send_byte(data[cnt]);if(iic_wait_ack() == NACK) {iic_stop();return 3;}}iic_stop();return ACK;
}uint8_t iic_read_7620(uint8_t devAddress, uint8_t regAddress, uint8_t *data, uint16_t length) {uint16_t cnt;iic_start();iic_send_byte(devAddress << 1 | 0);if(iic_wait_ack() == NACK) {iic_stop();return 1;}iic_send_byte(regAddress);if(iic_wait_ack() == NACK) {iic_stop();return 2;}iic_start();iic_send_byte(devAddress << 1 | 1);if(iic_wait_ack() == NACK) {iic_stop();return 3;}for(cnt = 0; cnt < length; cnt++){data[cnt] = iic_read_byte();if(cnt == length - 1) {iic_send_ack(NACK);} else {iic_send_ack(ACK);}}iic_stop();return 0;
}

2.1、获取手势的代码

轮询

while (1){/* USER CODE END WHILE *//* USER CODE BEGIN 3 */if(paj7620_getInterrupt()){paj7620_action();}HAL_Delay(20);}

中断(记得配置成下降沿触发)

void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) {paj7620_action();
}

手势处理代码

void paj7620_action(void) {uint16_t gCode = 0;gCode = paj7620_get_gesture();printf("%d====》", gCode);switch (gCode) {case 0x01: // uppaj7620_up();break;case 0x02: // downpaj7620_down();break;case 0x04: // leftpaj7620_left();break;case 0x08: // rightpaj7620_right();break;case 0x10: // pushpaj7620_push();break;case 0x20: // poppaj7620_pop();break;case 0x40: // rotate rightpaj7620_rotate_right();break;case 0x80: // rotate leftpaj7620_rotate_left();break;case 0x100:// wavepaj7620_wave();break;case 0x00: // nothingpaj7620_nothing();break;default:paj7620_error();}
}

初始化代码

uint8_t paj_init(void) {uint8_t data = 0, rtn = 0;uint16_t cnt = 0;delay_us(700);	//Wait 700us for PAJ7620U2 to stabilizepaj7620_sekect_bank(PAJ7620_BANK0);// 读0x00地址,正常会返回0x20rtn = iic_read_7620(PAJ7620_ADDRESS, PAJ7620_ADDR_PART_ID_0, &data, 1);if(rtn) {return rtn;}if(data != PAJ7620_PART_ID_0){return 0xff;}// 这一步文档上没有找到说明rtn = iic_read_7620(PAJ7620_ADDRESS, PAJ7620_ADDR_PART_ID_1, &data, 1);if(rtn){return rtn;}if(data != PAJ7620_PART_ID_1){return 0xfe;}for (cnt = 0; cnt < INIT_REG_ARRAY_SIZE; cnt++) {rtn = iic_write_7620(PAJ7620_ADDRESS, initRegisterArray[cnt][0], &initRegisterArray[cnt][1], 1);if(rtn){return rtn;}}paj7620_sekect_bank(PAJ7620_BANK1);  //gesture flage reg in Bank1// 这一步文档上没有找到说明//data = 0xB7;	// far mode 120 fps//data = 0x12;  		// near mode 240 fps//iic_write_7620(PAJ7620_ADDRESS, 0x65, &data, 1); paj7620_sekect_bank(PAJ7620_BANK0);  //gesture flage reg in Bank0return 0;
}

三、效果

手势小车

手势目前用在了小车上,简单操作了小车的左右转向,前后进等。 

完整版代码评论区留言。

http://www.mnyf.cn/news/46348.html

相关文章:

  • 做区域县城招聘网站百度统计收费吗
  • 网站建设网址站长百度
  • 做白酒有没有必要做个网站站长平台网站
  • 西安哪家做网站公司好seo排名的职位
  • 企业网站建设公司软文写作平台
  • 能看男女做那个的网站谷歌浏览器官网下载
  • 重庆做商城网站设计淄博网站seo
  • 微信营销号是啥意思长沙seo网站排名
  • 西安网站建设维护西安seo教程
  • 做网站营业执照经营范围怎么填写河北网站seo外包
  • 本地网站做哪方面吸引人成人用品推广网页
  • 怎样去权重高的网站做外链网络推广用什么软件好
  • 5g网站全媒体广告投放平台
  • 网站图片做伪静态深圳网站优化网站
  • 939w78w78w乳液永久长沙的seo网络公司
  • 手机单机游戏网站大全西安排名seo公司
  • 男子做淫秽网站图片微信搜一搜seo
  • 怎么知道网站用什么软件做的seo代码优化有哪些方法
  • flash网站的优缺点360排名优化工具
  • 郑州响应式网站成都网站制作维护
  • 做百度推广需要有自己的网站吗百度点击软件找名风
  • 网站健设推广产品多少钱百度产品
  • 网站设计怎么做关键词优化排名用什么软件比较好
  • 现在用JAVA做网站用什么框架seo建站技巧
  • 长春谁家做网站国际新闻网
  • 学做的网站基础蛋糕seo搜索工具栏
  • 网站接入服务单位深圳seo教程
  • 在家用服务器做网站百度搜索指数排名
  • 郑州网站建设特色北京百度seo
  • 网站后台怎么做alt标签seminar是什么意思