亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 制造工艺

Arduino 控制的 USB 触控板

组件和用品

Arduino Micro
× 1

应用和在线服务

Arduino IDE

关于这个项目

每次出现新的 Raspberry Pi 时,我都会看一下规格,然后对自己说“我真的很想用它来制造一台笔记本电脑”,但总会出现一个问题,那就是我永远找不到独立的 USB 触控板笔记本电脑。因此,在这个项目中,我们将从一台破旧的笔记本电脑上回收一个触控板,并使用 Arduino Pro Micro 将其转换为 USB 设备。

第 1 步:零件

这个项目所需的部件非常简单,我们需要一个旧笔记本电脑的触控板、一个 Arduino micro 和一些电线。不幸的是,我们可以使用的 Arduino 版本只有几种,这些是 Arduino micro、pro micro 和 Leonardo,因为它们可以被编程为显示为 HID(人机界面设备),这意味着它们可以作为一个显示在计算机上鼠标或键盘。这是 Arduino Uno 无法做到的。您可以在此处获得 Arduino pro micro:此处如果您想购买触控板,请在此处找到:此处

第 2 步:为什么这样做

因此,我们可以将触控板与 Arduino 连接的原因是,大多数较旧的笔记本电脑触控板通过 PS/2 接口与计算机通信,这意味着触控板电路具有 PS/2 输出,即数据和时钟,然后这些数据由 Arduino 读取并转换成可以通过USB接口发送到计算机的数据。现在我必须注意,并非所有笔记本电脑的触控板都相同,几乎所有较旧的笔记本电脑都使用 PS/2 接口,但一些较新的笔记本电脑使用 USB 接口而不是 PS/2 接口。如果您设法找到这些 USB 触控板之一而不是 PS/2 触控板,您只需在 google 上搜索触控板的名称并找到 USB 引脚并将其插入 USB 计算机,它就会工作。然而,对于这个项目,我们将使用更常见的 PS/2 触控板,并使用 Arduino 将其制成 USB 鼠标。

第 3 步:接线

这个项目的接线非常简单,我们需要做的就是在我们的触控板上找到 4 个焊盘。它们很容易找到,因为它们被标记为 T10(数据)、T11(时钟)和 T20,并且接地连接只是一个大的外露金属平面。我们需要小心地将电线焊接到每个焊盘上,然后将它们连接到相应的 Arduino 引脚。

  • T10 连接到 Arduino micro 上的引脚 10
  • T11 连接到 Arduino micro 上的引脚 9
  • T20 连接到 Arduino micro 上的 5v
  • 地平面连接到 Arduino micro 上的地

将电线焊接到触控板上的焊盘后,不要对这些焊盘施加任何压力,这一点至关重要,即使对焊盘施加最轻微的压力,也可以将它们完全拉下来,使触控板无法使用。焊接后最好用热胶覆盖连接。

第 4 步:安装一些库

对于这个项目,我们需要在 Arduino IDE 中安装两个库,这些库是:

  • 鼠标库:这里
  • PS/2 库:这里

下载它们,打开 Arduino IDE 的库文件并将它们放入。 PS/2 库用于从触控板获取数据,鼠标库允许我们获取这些数据并将其转换为计算机可以读取的鼠标命令USB 端口。

第 5 步:代码

现在我们已经安装了库,我们可以将我们的代码上传到 Arduino,代码可以在下面找到,但是我必须注意,除非在工具下选择的板是 Arduino micro 或 Leonardo,否则代码不会上传或编译,因此请将其保留在请注意编译代码时是否出现错误。代码上传后,Arduino 应该作为 HID 设备重新启动并在计算机上显示为鼠标。

thistouchpad.ino

第 6 步:完成并排除故障

因此,现在当您触摸触摸板时,您应该在屏幕上移动,因为 Arduino 充当 USB 设备,您可以将其插入任何计算机,无论操作系统或计算机类型如何,它都会立即作为 USB 鼠标启动.现在,如果您不想完成对 Arduino 进行编程和接线的过程,您可以只购买一个 PS/2 到 USB 转换器,但我不建议这样做,因为我已经读到这与来自触控板,并且可以使其无法使用,此外,通过使用 Arduino,我们可以根据自己的喜好完全自定义鼠标的所有内容,例如鼠标速度以及双击和滚动等操作,可以找到有关如何完全自定义您的操作的信息在 Arduino 鼠标页面这里。

如果您的触控板没有发回数据,这可能很容易解决,请查看触控板的背面并尝试找到一个零件编号,然后您可以使用 pinout 一词在此零件编号上进行谷歌搜索,它应该会显示数据的位置、时钟和 5 伏引脚是。

非常感谢您一如既往地阅读,如果您有任何问题,请在评论中留言,我会尽力回复您。

代码

  • 代码
代码Arduino
粘贴在arduino ide
#include #include #define PS2_DATA 10#define PS2_CLK 9byte mstat1;byte mstat2;byte mxy;byte mx;字节我;字节 mz; int msval[2];int repeatCnt;PS2 moose(PS2_CLK, PS2_DATA); void setup() { Mouse.begin(); moose.write(0xff); moose.read(); moose.read(); moose.read(); moose.write(0xf0); moose.read();延迟微秒(100); moose.write(0xe8); moose.read(); moose.write(0x03); moose.read(); moose.write(0xe8); moose.read(); moose.write(0x00); moose.read(); moose.write(0xe8); moose.read();驼鹿写(0x01); moose.read(); moose.write(0xe8); moose.read(); moose.write(0x00); moose.read(); moose.write(0xf3); moose.read(); moose.write(0x14); moose.read(); Serial.begin(9600);}void ms_read(){moose.write(0xeb); moose.read(); mstat1 =moose.read(); mxy =moose.read(); mz =moose.read(); mstat2 =moose.read(); mx =moose.read();我 =moose.read(); msval[0] =(((mstat2 &0x10) <<8) | ((mxy &0x0F) <<8) | mx ); msval[1] =(((mstat2 &0x20) <<7) | ((mxy &0xF0) <<4) | 我的); msval[2] =int(mz);}void loop() { ms_read(); if (msval[0]> 0 and msval[2]> 10) { repeatCnt++; } else { repeatCnt =0; } if (repeatCnt> 2) { msval[0] =map(msval[0], 580, 5164, -1023, 1023); msval[1] =map(msval[1], 1120, 5967, 1023, -1023); Mouse.move(msval[0]/200,msval[1]/200); }}

制造工艺

  1. 通过蓝牙控制的树莓派机器人
  2. 手势控制互动桌灯
  3. 使用 Raspberry Motor Shield 的 Android 控制玩具
  4. Alexa 通过 Raspberry Pi 控制 LED
  5. 操纵杆控制的遥控车
  6. Nunchuk 控制机械臂(使用 Arduino)
  7. 语音控制机器人
  8. MobBob:由 Android 智能手机控制的 DIY Arduino 机器人
  9. 带有 OK Google 的蓝牙语音控制设备
  10. Arduino 控制的钢琴机器人:PiBot
  11. Wi-Servo:Wi-Fi 浏览器控制的伺服电机
  12. 使用 Arduino 的触摸控制灯