0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

怎样使用Arduino和按钮自动重复按键

454398 来源:工程师吴畏 2019-07-26 14:09 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

世界各地的人们使用Arduino来控制电机,螺线管和泵,但是你做到了吗?知道Arduino也可以用来控制你的电脑吗?

使用一些简单的代码,Arduino可以作为键盘呈现给你的电脑,能够输入文字,按住键和触发键盘快捷键。您甚至可以将Arduino编码为鼠标或媒体控制器 - 可能性非常大!

强大的生产力工具

我觉得最令人兴奋的是,您可以对Arduino进行编程,以便向您的计算机发送一系列按键。因此,如果您将按钮连接到Arduino,您可以使用单按按钮来触发多次自动击键。

如果您经常发现自己键入重复文本或使用相同的键盘快捷键,那么现在是时候了你将你的Arduino变成一个强大的生产力工具,消除了很多关键的攻击!

向ATmega32u4问好

在你找到你之前Arduino Uno,你应该知道这个功能仅限于基于ATmega32u4微芯片的Arduino板。

与大多数Arduino板(有一个单独的微芯片来处理USB串行通信)不同,ATmega32u4可以完成所有工作。一个芯片,允许它直接呈现为键盘。

支持此功能的主板是Arduino Leonardo,Arduino Micro和Arduino兼容的Pro Micro。

对于本教程,我将使用Arduino兼容e Pro Micro。你可以从Ebay那里得到它们非常便宜,只要确保你不要把它与Pro Mini混在一起,这是一个完全不同的板!

与Arduino兼容的Pro Micro。

硬件

将我的Arduino兼容Pro Micro放入面包板并连接按钮,为触发我们的自动击键提供物理输入。这是一个非常简单的接线图 - 按钮的输入位于Arduino兼容Pro Micro的引脚2上。

这是接线图的示意图:

接线图示意图

如果你在家里玩(就像我一样,在我写作的时候),那么这里有一张照片实体板:

实际构建。不要介意我的(相当摇摆)电路布线。

击键自动化软件

该软件相当简单 - 它使用内置的 Keyboard.h 库发送击键,并有一个基本循环,用于监听第2针上的按钮按下。

#include // The main library for sending keystrokes.

void setup()

{

Keyboard.begin(); // Initialise the library.

}

// Loop around waiting for a button press on pin 2.

// When the button is pressed, go to the function triggerAutomation.

void loop()

{

if(digitalRead(2) == HIGH)

{

triggerAutomation();

}

}

void triggerAutomation()

{

Keyboard.press(KEY_LEFT_GUI); // Press and hold the Windows key.

Keyboard.press(‘r’); // Press and hold the ‘r’ key.

delay(100); // Wait for the computer to register the press.

Keyboard.releaseAll(); // Release both of the above keys.

delay(1000); // Wait for the Windows Run Dialog to open.

Keyboard.print(“Notepad”); // Type “Notepad”。

Keyboard.press(KEY_RETURN); // Press the Enter key.

delay(100); // Wait for the computer to register the press.

Keyboard.releaseAll(); // Release the Enter key.

}

作为一个有趣的例如,我已经将这个Arduino草图打开了Windows计算机上的应用程序记事本。它通过触发键盘快捷键“Windows Key + R”来打开Windows运行对话框来完成此操作。然后键入应用程序“记事本”的名称并按Enter键。

这种击键组合将使应用程序记事本在屏幕上快速弹出,所有这些都是通过链接到Arduino的单个物理按钮触发的。

如果您在Linux或OSX上并不绝望,可以非常轻松地调整代码以在您首选的操作系统中实现自动化 - 按键和快捷键的相同原则仍然适用。

后续步骤

想要打开不同的应用程序而不是记事本?简单!只需将字符串“notepad”替换为Arduino草图中的“winword”,看看会发生什么。..。..你可能对弹出的应用程序非常熟悉!

不要忘记延迟。..。..

可能不会立即显而易见的一件事是需要延迟代码。我把它们放进去是因为你的Arduino可以比计算机读取它们更快地发送击键。因此,您必须延迟100到1000毫秒才能使计算机赶上。

你能走多远?

如果你正在寻找使用这种Arduino键盘技术可以实现的一些灵感,然后看看Makey Makey。

它在一个聪明的小板上使用ATmega32u4芯片。设计用于连接(通过鳄鱼夹)香蕉,胡萝卜,软糖熊,以及任何你喜欢的东西!

带有Makey Makey的香蕉钢琴。图片由Makey Makey提供。

您可以通过有趣的事情在两个联系人之间建立联系(如一个香蕉)这将导致Makey Makey向您的计算机发送击键。只需打开一个在线钢琴应用程序并释放你的内心香蕉音乐家。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Arduino
    +关注

    关注

    190

    文章

    6527

    浏览量

    197431
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    别再无效加班!IT 运维自动化脚本,砍掉90%重复工作

    更新、配置漂移、同质化故障排查等缠满全身,核心规划工作反而没有精力推进。其实这些高频重复工作,大多能靠自动化脚本解决。很多团队仍在人工硬扛,核心痛点从来不是写不出脚
    的头像 发表于 04-07 16:57 297次阅读
    别再无效加班!IT 运维<b class='flag-5'>自动</b>化脚本,砍掉90%<b class='flag-5'>重复</b>工作

    MAX16124:小巧高效的双按钮控制器

    MAX16122–MAX16125:小巧高效的双按钮控制器 在电子设备的设计中,可靠的复位控制和电源监测至关重要。Maxim Integrated推出的MAX16122–MAX16125系列双按钮
    的头像 发表于 02-09 17:35 563次阅读

    MAX16123:小巧封装的双按钮控制器

    MAX16122 - MAX16125:小巧封装的双按钮控制器 引言 在电子设备的设计中,按钮控制和复位功能是非常重要的部分。今天要给大家介绍的是Maxim Integrated推出
    的头像 发表于 02-09 17:35 603次阅读

    经典 PLC 程序(4) - 消音按钮

    当设备出现故障,PLC控制蜂鸣器发声和报警灯闪烁。操作员听到/看到报警后,按下消音按钮,蜂鸣器暂时停止发声,报警灯常亮,直到故障排除后报警灯才熄灭。控制逻辑与硬件接线1.硬件元件IO地址根据
    的头像 发表于 01-06 11:44 392次阅读
    经典 PLC 程序(4) - 消音<b class='flag-5'>按钮</b>

    暂态事件记录的重复触发抑制是如何实现的?

    暂态事件记录的重复触发抑制通过 触发抑制时间(死区时间) 、 迟滞阈值 、 事件分级独立设置 和 事件验证机制 四大核心技术实现,确保同一暂态事件不被重复记录,同时保证真实事件完整捕捉。 一、核心
    的头像 发表于 12-10 18:01 2006次阅读
    暂态事件记录的<b class='flag-5'>重复</b>触发抑制是如何实现的?

    Arduino plc和termux esp

    Arduino plc和termux esp
    的头像 发表于 12-06 06:41 2005次阅读

    广州易显操作按钮控件实验

    相连驱动3.5寸~55寸的TFT-LCD/VGA显示器或者电视机进行操作按钮控件的控制与显示。用户鼠标或触摸屏点击操作按钮控件的时候,单片机智能显示卡发送按钮值给用
    的头像 发表于 12-02 16:29 525次阅读
    广州易显操作<b class='flag-5'>按钮</b>控件实验

    按键消抖的方法

    ,但是在人机交互界面的时候会有些许延迟,特别是有些队伍在智能车比赛过程中需要通过按键来修改阈值。一直点击按钮实现增减阈值,40ms的延时显得既不优雅又不顺畅。由于代码中有循环的部分,如果按键一直按下,其他
    发表于 11-27 06:12

    精密平台中重复精度的影响因素有哪些

    什么是重复定位精度?     在精密运动平台中,重复定位精度(或重复性)是指运动台多次运动到同一名义位置时,与实际位置偏差的某个统计量,根据不同的测试标准会有不同的统计计算方法,例如峰谷值、2σ、3
    的头像 发表于 10-15 11:24 940次阅读
    精密平台中<b class='flag-5'>重复</b>精度的影响因素有哪些

    Key_Scan按键扫描函数详解

    按键程序设计思路可以非常简单:想要知道某个按键是否被按下,只需检测连接到改按键的IO引脚是高电平还是低电平,若是低电平,说明按键正处于被按下的状态。
    的头像 发表于 08-04 14:01 2153次阅读

    BitsButton嵌入式按键处理框架

    支持 按键结果高性能缓冲区支持 按键模拟器Window环境支持 按键模拟器Linux/macOS环境支持 自动化测试框架支持 ✨ 已完成完整测试框架! CI/CD集成支持 ✨ 已
    发表于 08-02 11:24

    Texas Instruments TPS3423毫微功耗按钮控制器数据手册

    每个按钮最多可有两个输出端 ,用于电压调节器或断路器。该控制器的工作电压范围为1V至6V、 ±8kV按钮引脚的HBM ESD额定值、18nA典型纳安电源电流和 ±10%的最大时间精度。 典型应用包括可穿戴设备、游戏机、家庭影院娱乐、打印机、医疗保健、便携式电子产品以及工
    的头像 发表于 07-09 09:57 805次阅读
    Texas Instruments TPS3423毫微功耗<b class='flag-5'>按钮</b>控制器数据手册

    【RA4L1-SENSOR】触摸按键LED+串口传输

    并将鼠标移动到画布上。 2.点击鼠标左键来放下按钮图标。开发板上有2个电容触摸按钮,可以添加两个按钮。 3.两个按钮添加完成后,按侧选择Button菜单可以退出放置。 如果
    发表于 07-03 21:20

    《ESP32S3 Arduino开发指南》第二章 Arduino基础知识

    者使用Arduino进入硬件、物联网等开发领域;在大学里,自动化、软件专业,甚至艺术专业,也纷纷开设了Arduino相关课程。2.4 Arduino语言
    发表于 05-13 09:28

    Tektronix泰克MSO4054示波器按钮失灵维修案例

    近期某客户送修一台泰克MSO4054示波器,报修故障是按钮失灵。对仪器进行初步检测,确定故障为仪器缺缩放旋钮。仪器屏幕下侧按键串键、细调按钮和放大按键不好用。
    的头像 发表于 04-24 16:06 876次阅读
    Tektronix泰克MSO4054示波器<b class='flag-5'>按钮</b>失灵维修案例