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

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

3天内不再提示

基于Arduino Nano的万能电视遥控器设计

芯情观察猿 来源:芯情观察员 作者:芯情观察员 2022-05-06 09:20 次阅读

遥控器是LCD智能电视的开机必备,如果家里的电视遥控器坏了,那就只能错过好节目了,这时有个备品那该多好啊。

本项目教大家自己动手DIY一个万能电视遥控器。项目采用IR遥控技术,工作时遥控器将代码发送给电视机,再由电视的MCU解码并处理,来改变电视频道。

项目开始前,我们首先须了解IR遥控的工作原理,知道遥控器发射的代码,并制作自己的遥控解码系统,再写下所有按钮(例如 CH+, CH-, VOL+, VOL-, POWER, Settings)的所有解码值。然后,将这些值发送给Arduino来实现万能遥控,并完成本项目。

pYYBAGJ0d1KAQPLFAACowI6r4bE367.png

项目元器件清单:

1) Arduino

2) IR LED

3) 轻触开关

4) 1k欧姆电阻器 x11

5) 220欧姆电阻

6) PCB和引线

7) 电池(3.7V)


Arduino电视遥控器电路非常简单,如果使用的是Arduino Atmega328p芯片,就需要按照图示电路进行时钟和复位连接,图中的ICSP可编程串行引脚用以上传项目代码,改变控制信号

poYBAGJ0d2OAVs2TAAEKWh-GDBc735.png

电路中,IR发光二极管的正极通过1k/220欧姆电阻器,连接于D3(数字引脚3);负极接地。11个轻触开关用来处理11个不同的指令,它们的一端分别连接于D2-D13的不同数字引脚,另一端则分别通过一个1k欧姆电阻器接地。两引脚插头用来为电路和Arduino供电


代码如下:


#include

#include "LowPower.h"


IRsend irsend;


const int b1 = 2;

const int b2 = 4;

const int b3 = 5;

const int b4 = 6;

const int b5 = 7;

const int b6 = 8;

const int b7 = 9;

const int b8 = 10;

const int b9 = 11;

const int b10 = 12;


int timer;

int modeCounter = 0;


void wakeUp() {

timer = 0;

}


void setup() {

pinMode(b1, INPUT);

pinMode(b2, INPUT);

pinMode(b3, INPUT);

pinMode(b4, INPUT);

pinMode(b5, INPUT);

pinMode(b6, INPUT);

pinMode(b7, INPUT);

pinMode(b8, INPUT);

pinMode(b9, INPUT);

pinMode(b10, INPUT);

}


void loop() {

attachInterrupt(0, wakeUp, HIGH);

while (timer < 10000) {

if (digitalRead(b1) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}


if (digitalRead(b2) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}


if (digitalRead(b3) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}


if (digitalRead(b4) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}


if (digitalRead(b5) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}

if (digitalRead(b6) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}

if (digitalRead(b7) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}

if (digitalRead(b8) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}

if (digitalRead(b9) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}

if (digitalRead(b10) == HIGH) {

timer = 0;

delay(50);

irsend.sendNEC(0x0000, 32); //Enter Remote Hex Value

}

delay(1);

timer = timer + 1;


}

LowPower.powerDown(SLEEP_FOREVER, ADC_OFF, BOD_OFF);

}


上述代码采用低功耗模式库,以提高电池寿命,一次充电后可使用3-4个月。
审核编辑:汤梓红

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

    关注

    15

    文章

    2393

    浏览量

    74418
  • 遥控器
    +关注

    关注

    18

    文章

    813

    浏览量

    64223
  • Arduino
    +关注

    关注

    184

    文章

    6426

    浏览量

    184800
收藏 人收藏

    评论

    相关推荐

    OpenHarmony开发案例:【分布式遥控器

    分布式遥控器将手机的输入能力和电视遥控器遥控能力结合为一体,从而快速便捷操控电视
    的头像 发表于 04-16 16:44 476次阅读
    OpenHarmony开发案例:【分布式<b class='flag-5'>遥控器</b>】

    万能遥控器的设置和使用方法

    万能遥控器是一种能够控制不同品牌电器的设备,它可以将多个遥控器的功能整合到一个遥控器上,方便用户操作。在本文中,我将详细介绍万能
    的头像 发表于 01-24 10:57 3309次阅读

    低功耗蓝牙模块取代远红外技术遥控器广泛应用于市场

     蓝牙技术的出现对于遥控器来说似乎是一个质变,那些曾经很常见的红外遥控器也随着老电视逐渐退出了市场。虽然万能遥控器曾经火热过一段时间,但是随
    的头像 发表于 12-21 11:18 306次阅读

    万能遥控器拆解

    最近在某鱼淘了一个好玩的遥控器,遂拆来与各位同好分享。
    的头像 发表于 09-19 17:02 1368次阅读
    <b class='flag-5'>万能</b><b class='flag-5'>遥控器</b>拆解

    第45期《Arduino入门》NANO 03:项目-万能遥控器(下)

    开发代码Arduino
    学习电子知识
    发布于 :2023年09月05日 20:38:32

    第45期《Arduino入门》NANO 02:项目-万能遥控器(上)

    开发代码Arduino
    学习电子知识
    发布于 :2023年09月05日 20:38:06

    智能家居中逐渐被淘汰的遥控器

    出现拿错遥控器无法控制产品的情况,而万能遥控器的出现,成为了一种解决方案。   遥控器的发展历程   遥控器的出现源自于人们需要对产品进行远
    的头像 发表于 07-31 08:36 1459次阅读
    智能家居中逐渐被淘汰的<b class='flag-5'>遥控器</b>

    遥控车和遥控器的连接

    电子发烧友网站提供《遥控车和遥控器的连接.zip》资料免费下载
    发表于 07-10 14:57 4次下载
    <b class='flag-5'>遥控</b>车和<b class='flag-5'>遥控器</b>的连接

    Arduino的红外遥控器

    电子发烧友网站提供《带Arduino的红外遥控器.zip》资料免费下载
    发表于 07-06 10:51 0次下载
    带<b class='flag-5'>Arduino</b>的红外<b class='flag-5'>遥控器</b>

    试玩几元钱的万能空调遥控器

    遥控器
    YS YYDS
    发布于 :2023年06月19日 18:53:38

    用 esp32 c3做一个 万能遥控器

    遥控器
    YS YYDS
    发布于 :2023年05月26日 17:12:30

    增加无线遥控器的技巧指南

    在进行红外无线遥控器增配时,需要注意到红外遥控器的通用性并不高,即使是同一品牌的遥控器也不一定能够通用。因此,在进行增配前需要对设备型号和遥控器适配型号都要了解,以确保所选购的
    的头像 发表于 05-26 16:12 1087次阅读
    增加无线<b class='flag-5'>遥控器</b>的技巧指南

    万能遥控器能适用所有电视

    万能遥控器通常能够适用绝大部分电视,是能够通用的;客户只要先将万能遥控器电视开展匹配,匹配成功
    的头像 发表于 05-25 14:11 4760次阅读

    使用红外发射模块自制空调遥控器

    我们家里的空调、电视等,它们的遥控器都是通过红外信号来控制的。其实,我们可以自己用红外发射模块来做一个遥控器
    的头像 发表于 05-23 15:43 2598次阅读
    使用红外发射模块自制空调<b class='flag-5'>遥控器</b>

    【大大芯方案】万能智控,大联大推出基于基于Infineon 产品的智能遥控器方案

    遥控器方案。☜ 图示1-大联大品佳基于Infineon产品的智能遥控器方案的实体图 随着终端智能化水平的不断提升,作为其配套设备的遥控器也发生了重大革新。从红外遥控器到2.4G RF
    的头像 发表于 05-19 02:15 541次阅读
    【大大芯方案】<b class='flag-5'>万能</b>智控,大联大推出基于基于Infineon 产品的智能<b class='flag-5'>遥控器</b>方案