查看: 3633|回复: 10

介绍一个蓝牙鼠标模块

[复制链接]

该用户从未签到

发表于 2016-7-15 21:54 | 显示全部楼层 |阅读模式
之前介绍过蓝牙键盘模块,也做了一个普通键盘转蓝牙键盘的装置,这次介绍的是蓝牙鼠标模块。
很多朋友随便网上买的蓝牙模块,然后问我怎么办……..再强调一次:蓝牙模块长相都相同,但是做蓝牙键盘和鼠标的模块不是普通的串口蓝牙模块,
还是淘宝的重庆翔码电子工厂店,购买之前要和卖家聊一下,告诉他你要买的是哪种。目前他家有三种:蓝牙键盘蓝牙鼠标 和 蓝牙条码枪模块。键盘和条码枪的差别在于后者只能发送  A-Z 和0-9 的字符。所以购买之前要说清楚。这个模块比较贵35元。
image001.jpg
此外,我搜了一下,淘宝上又出现了几款类似功能的模块,不知道怎么样。一年之前我搜索的时候,还只有这一家出售这样的模块。
读一下 datasheet,上面介绍了简单的用法: 工作电压 3.3-5v,串口通讯,默认波特率9600,通讯格式如下:

image003.jpg
使用 Arduino Pro Micro 来做实验,每5秒鼠标按照方格移动一圈。

image005.jpg

void setup() {    Serial1.begin(9600);     delay(200); } void SnedData(byte x,byte y) {           Serial1.write(0x08);  //BYTE1                Serial1.write(0x00);  //BYTE2           Serial1.write(0xA1);  //BYTE3           Serial1.write(0x02);  //BYTE4           Serial1.write(0x00);  //BYTE5                    Serial1.write(x);  //BYTE6                    Serial1.write(y);  //BYTE7           Serial1.write(0);  //BYTE8 } /* Move the mouse in a clockwise square every 5 seconds */ void loop() {     byte i;     for (i=0;i<100;i++) SnedData(1,0);     for (i=0;i<100;i++) SnedData(0,1);     for (i=0;i<100;i++) SnedData(-1,0);        for (i=0;i<100;i++) SnedData(0,-1);         delay(5000); }

打赏作者鼓励一下!

该用户从未签到

发表于 2018-12-30 15:13 | 显示全部楼层
Iphone键盘没输出啊!

void setup() {
  // put your setup code here, to run once:
Serial.begin(9600);  
  delay(200);
}

void loop() {
  // put your main code here, to run repeatedly:
Serial.write(0x0C);  //BYTE1     
    Serial.write(0x00);  //BYTE2   
    Serial.write(0xA1);  //BYTE3
    Serial.write(0x01);  //BYTE4
    Serial.write(0x00);  //BYTE5
    Serial.write(0x00);  //BYTE6     
    Serial.write(0x16);  //BYTE7   
    Serial.write(0x00);  //BYTE8

     delay(100);
      Serial.write(0x0C);  //BYTE1     
    Serial.write(0x00);  //BYTE2   
    Serial.write(0xA1);  //BYTE3
    Serial.write(0x01);  //BYTE4
    Serial.write(0x00);  //BYTE5
    Serial.write(0x00);  //BYTE6     
    Serial.write(0x00);  //BYTE7   
    Serial.write(0x00);  //BYTE8

     delay(10000);
}

该用户从未签到

 楼主| 发表于 2018-12-30 16:33 | 显示全部楼层
skillocr 发表于 2018-12-30 15:13
Iphone键盘没输出啊!

void setup() {

你买的是这种模块吗?
打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2019-9-17 00:35
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-8-23 17:12 | 显示全部楼层
    这个例子只是移动 拖动应该怎么弄呢  按下 移动  抬起 看文档 只是说明 1 是左键  2 是右键 4是中键 没有说怎么按下抬起

    该用户从未签到

     楼主| 发表于 2019-8-23 20:12 | 显示全部楼层
    想学坏的小孩 发表于 2019-8-23 17:12
    这个例子只是移动 拖动应该怎么弄呢  按下 移动  抬起 看文档 只是说明 1 是左键  2 是右键 4是中键 没有说 ...

    拖动是操作系统的行为
    不是鼠标自己的行为,因为鼠标不知道你点中什么
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2019-9-17 00:35
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-8-24 21:43 | 显示全部楼层
    Zoologist 发表于 2019-8-23 20:12
    拖动是操作系统的行为
    不是鼠标自己的行为,因为鼠标不知道你点中什么
    ...

    但是 拖动是 按下  移动 然后在抬起的步骤吧  这个模块文档里 没有写按下 抬起应该怎么弄

    该用户从未签到

     楼主| 发表于 2019-8-25 09:13 | 显示全部楼层
    想学坏的小孩 发表于 2019-8-24 21:43
    但是 拖动是 按下  移动 然后在抬起的步骤吧  这个模块文档里 没有写按下 抬起应该怎么弄 ...

    比如:对应按键位置写1 表示按下,下一次这个位置变成0 就表示抬起了
    打赏作者鼓励一下!
  • TA的每日心情
    奋斗
    2019-9-17 00:35
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-8-25 12:50 | 显示全部楼层
    Zoologist 发表于 2019-8-25 09:13
    比如:对应按键位置写1 表示按下,下一次这个位置变成0 就表示抬起了

    好的 多谢大佬 我试试
  • TA的每日心情
    奋斗
    2019-9-17 00:35
  • 签到天数: 48 天

    [LV.5]常住居民I

    发表于 2019-8-25 18:21 | 显示全部楼层
    Zoologist 发表于 2019-8-25 09:13
    比如:对应按键位置写1 表示按下,下一次这个位置变成0 就表示抬起了

    我用电脑串口工具 AT指令有反应  但是鼠标 键盘指令 发送过去 没反应 应该是那里的问题呢?
    试过 进入命令行模式 跟退出命令行模式都没效果

    该用户从未签到

     楼主| 发表于 2019-8-25 20:06 | 显示全部楼层
    想学坏的小孩 发表于 2019-8-25 18:21
    我用电脑串口工具 AT指令有反应  但是鼠标 键盘指令 发送过去 没反应 应该是那里的问题呢?
    试过 进入命令 ...

    首先你要专用蓝牙芯片,普通的 Hc05 06 不行

    另外,rt tx 要交叉,还有共地
    打赏作者鼓励一下!
    您需要登录后才可以回帖 登录 | 立即注册  

    本版积分规则

    热门推荐

    求ESP8266+0.96oled的天气代码
    求ESP8266+0.96oled的天气
    新人求助
    新人求助
    仿真出错!显示原因是这个,但是找不到该出错文件
    用Arduino制作支持ROS机器人操作系统的7轴机械臂
    用Arduino制作支持ROS机器
    参赛项目:[/backcolor] 用Arduino制作支持ROS机器人操作系统的7轴机械臂[/backcolor
    为拍月亮而生的便携望远镜系统。
    为拍月亮而生的便携望远镜
    参赛项目: 便携望远镜系统 参赛组员: 1人 布丁:嵌入式软件、上位机软件、电路、结
    光敏电阻检测环境光实验
    光敏电阻检测环境光实验
    本文节选自《Arduino程序设计基础》 一些简单的电子元件就可以做传感器使用,例如我
    Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
    快速回复 返回顶部 返回列表