使用 Arduino、1Sheeld 和 Android 的通用远程控制
组件和用品
![]() |
| × | 1 | |||
![]() |
| × | 1 | |||
| × | 1 | ||||
![]() |
| × | 1 |
关于这个项目
这个项目说明了如何代替使用遥控器。
此项目说明了如何使用您的 Android 手机控制您的电视、卫星接收器和立体声 而不是使用那里的遥控器。
基本上,您可以将此技术应用于任何其他可远程控制的设备 .我想用我的手机来控制家中的所有设备,而不是使用每个设备的遥控器。
现在,您只需使用手机上的 1 个应用程序即可随心所欲地控制您的家庭远程设备!
首先 , 我们在此步骤中要做的就是从 google play 商店下载 android 应用程序。申请
然后 , 你必须解码你的遥控器
当用户按下手机上的按钮时,遥控手机中的发射器会发出红外光脉冲流。发射器通常是一个发光二极管 (LED),它内置在遥控手持设备的指端中。红外光脉冲形成该按钮独有的图案。设备中的接收器识别该模式并使设备做出相应的响应(维基百科)。
所以我们必须知道每个按钮的独特模式。
简单地说,您必须下载IR 库 对于 Arduino。
在该库的示例中,您可以找到 IRrecvDump 示例(如第三张图片所示)。此代码用于对来自遥控器的数据进行编码。
您必须为 IR 接收器接线。如图所示:
1- 地面
2-5V
3- 引脚 11
上传后 Arduino 的这段代码打开串行监视器并按下电视遥控器上的任意按钮,您会发现如第五张图片所示的内容。
如第四张图所示,您可以找到指代遥控器每个按钮的十六进制代码。记下这些与其功能相对应的十六进制数字(例如 20DFC03F ,32 指电源按钮)。
注意 , 如果出现“未知编码”,请再次按下按钮。





现在,我们必须上传用于将命令传输到我们的设备的代码。您可以找到代码,但您会根据您的遥控器进行一些小的更改。
您在这里要做的就是用十六进制值替换 作为 (0x20DF10EF ) 由您从电源按钮、音量增大/减小按钮和您想要的任何其他按钮获得的值。
由于 1Sheeld 移动应用程序没有远程控制界面,我使用了KeyPad shield 作为遥控器,您可以选择键盘屏蔽 也适用于更多设备。


测试
终于 ,您使用 IR LED 引脚 3 在 Arduino 中并将其放置在设备前面的旁边,如图所示。
现在打开 1Sheeld 移动应用程序并将其与屏蔽连接,然后选择键盘屏蔽,所有这些都显示在视频中。
现在,通过按下手机上的按钮,它会执行相应的任务,是否开机、调高音量、调低音量、...等。


代码
- 遥控器代码
远程控制代码C/C++
此代码使用键盘屏蔽中的几个按钮来打开/关闭电视,更改卫星接收器频道并控制立体声。#include#include IRsend irsend;void setup( ) { OneSheeld.begin();}void loop(){ if(Keypad.isRowPressed(0) &&Keypad.isColumnPressed(0)) { irsend.sendNEC(0x20DF10EF, 32); } else if(Keypad.isRowPressed(0) &&Keypad.isColumnPressed(1)) { irsend.sendNEC(0x20DFC03F, 32); } else if(Keypad.isRowPressed(0) &&Keypad.isColumnPressed(2)) { irsend.sendNEC(0x20DF40BF, 32); } else if(Keypad.isRowPressed(1) &&Keypad.isColumnPressed(1)) { irsend.sendNEC(0x41048B7, 32); } else if(Keypad.isRowPressed(1) &&Keypad.isColumnPressed(0)) { irsend.sendNEC(0x410C837, 32); } else if(Keypad.isRowPressed(2) &&Keypad.isColumnPressed(0)) { for (int i =0; i <3; i++) { irsend.sendSony(0xa81, 12); // 索尼电视电源代码延迟(40); } }}
制造工艺
- 使用 Arduino 和智能手机的 DIY 电压表
- 使用物联网远程控制机械臂
- 使用 Raspberry Motor Shield 的 Android 控制玩具
- 使用 Arduino 的频率和占空比测量
- 使用 Firmata 和 Xbox One 控制器控制 Arduino Rover
- 使用 Bolt 和 Arduino 控制 LED 亮度
- 使用 Arduino 的简单智能机械臂
- 使用 Alexa 和 Arduino IoT Cloud 完全控制您的电视
- 使用 Arduino 和 RDA8057M 的 FM 收音机
- 从 iOS 和 Android 在 Arduino 上闪烁 LED
- 使用智能手机控制您的灯光系统
- 漏水探测器和阀门控制