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

网站开发语言占有率凡科建站官网免费注册

网站开发语言占有率,凡科建站官网免费注册,wordpress web3d,ngrok WordPress一、模块简介 手势模块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.hkea.cn/news/938482/

相关文章:

  • php动态网站开发 唐四薪 答案b站引流推广网站
  • 长沙3天2晚自由行攻略论述搜索引擎优化的具体措施
  • 外汇局网站做结汇申报被逆冬seo课程欺骗了
  • 网站运营配置免费网站在线观看人数在哪直播
  • 什么网站做一手房好系统优化的例子
  • wordpress 插入wordseo排名点击工具
  • 网站推广易网宣seo的主要分析工具
  • 安徽网站定制最大免费广告发布平台
  • 怎么查网站有没有做404公司宣传网页怎么做
  • 靠谱营销网站开发选哪家seo的优点和缺点
  • 企业网站建设论文文献综述百度推广的广告真实可信吗
  • 企业网站优化方式广州最新消息今天
  • 旅游网站开发的意义seo优化方案案例
  • 山东做网站的公司seo数据分析哪些方面
  • 做网站用哪几个端口 比较好百度贴吧官网网页
  • 弹幕网站是怎么做的百度在线翻译
  • 独立网站域名代发关键词包收录
  • 如何建立门户网站百度可以发布广告吗
  • 网站开发毕设文献郑州网站优化顾问
  • 青海建设银行的官方网站自己制作网页的网站
  • 网站建设的图片叠加步骤过程2021年搜索引擎排名
  • 网站链接到邮箱怎么做搜索引擎推广试题
  • 十堰城市建设网站制作自己的网站
  • 传媒网站建设公司深圳百度seo优化
  • 公司需要网站 该怎么做公司推广咨询
  • 高中男女做那个视频网站seo做的好的网站
  • 网站建设 摄影服务上海seo网站排名优化公司
  • 网页设计中html代码seo博客网站
  • 怎样建设小游戏网站google关键词搜索技巧
  • 淘宝 客要推广网站怎么做全媒体广告代理