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

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

3天内不再提示

怎样使用Arduino控制电视

454398 来源:网络整理 作者:佚名 2019-10-31 17:21 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

步骤1:准备接收信号

怎样使用Arduino控制电视

首先,您需要获得简介中提到的IR LED接收器

您可以在这里获得一个:http://www.adafruit.com/products/157

它们的价格为2美元,不包括运输和处理费用。

因此,您要按照第一个方法连接接收器。图片。

我强烈建议将IR接收器和遥控器放在鞋盒或较暗的物品中(当然是同一鞋盒)。这样可以确保干扰最少,并且代码更清晰,因此您不必为一项简单的任务就对Arduino进行12次编程。另外,请确保您不妨碍人们看电视。

并且要下载名为IR_RECORD.PDE的文件并将其打开到Arduino程序中。

我希望使用USB电缆将Arduino插入您已经执行第2步!

第2步:接收信号

因此您要将程序上传到您的您已在最后一步中下载了Arduino。

您要正确连接IR接收器。

一切都正确设置后,Arduino便已打开并连接到计算机。单击Arduino程序中的按钮(如图中所圈出的按钮),打开串行监视器。一旦启动并运行。您需要找到一个您想用来控制某物的遥控器。我的意思是:

-查找要控制的遥控器

-将其指向接收器

-按下您想要一次获得代码的按钮

串行监视器

-将整个代码粘贴到记事本或写字板中-进行第3步

第3步:解释信号

您将得到一堆数字,后跟“ usecs”或“ usec”。

请确保已将所需的信号复制到了一个字垫中,以方便参考。像这样:

500usec,300usec

600usec,1200usec

但是会有更多的数字。

现在在程序中,您会看到很多次: br》

delayMicroseconds();

pulseIR();

您要获取第一个数字并将其放在delayMicroseconds(“ here”)括号中。 value

并且您要从与delayMicroseconds()之一相同的行中获取第二个数字;值并将其放在pulseIR()的括号中;值。

示例:

说要在串行监视器上获取此值:

OFF ON

1660 usec,580 usec

1640 usec,560 usec

要输入相应的值

例如:

delayMicroseconds(1660);

pulseIR(580);

delayMicroseconds(1640);

pulseIR(560);

这太可恶了容易。

一旦获得所需的代码,请在Arduino程序中打开IR_SEND.pde文件,然后将您从串行监视器获得的值放在括号之间,方法与我向您展示的方法相同。

下一步将显示我如何使用Comcast遥控器进行此操作的示例。

步骤4:发送信号

现在,一旦有了所需的代码,并用您要发送的信号上载了程序,您要做的就是将IR LED挂接到针脚13,然后类似于图中的示意图接地。图片。如果您有Duemilanove Arduino,则不需要电阻,因为它具有用于PIN 13的内置电阻,因此您不必担心。

这也可以通过ATTINY 8引脚微控制器来实现尺寸。我有一个,但我不确定如何使用它。

现在,我将向您展示如何执行此操作的真实示例。

再次,这不是我的密码,我只是复制并粘贴以便于理解。

所以当我按下Comcast遥控器上的频道向上按钮时,我得到了这段代码。如果您有使用小型黑色遥控器的小型黑匣子,则将拥有这种遥控器。它们充当只能转换通道的模数转换器盒。

这是串行监视器代码:

已接收:

OFF ON 《363》 usec,280 usec

820 usec,300 usec

1580 usec,320 usec

640 usec,240 usec

2740 usec,240 usec 《1280》 1280 usec,240 usec 《12》 usec,240 usec

1120 usec,240 usec

2600usec,240usec

12740usec,240usec

840usec,240usec 《980》 980usec,240usec 《700》 700usec,240usec

700usec,240usec

720 usec,240 usec

2460 usec,260 usec

700 usec,240 usec

700 usec,240 usec

14904 usec,260 usec

820 usec,240 usec

1660 usec ,240 USEC

700 USEC,260 USEC

2740 USEC,240 USEC

1240 USEC,240 USEC

1260 USEC,240 USEC 1100 USEC,240 USEC 《26》 2620,240 USEC usec

12720 usec,260 usec

840 usec,220 usec 《20》 usec,240 usec

1780 usec,260 usec 《700》 c,240 usec

700 usec,240 usec

2480 usec,240 usec

700 usec,240 usec

700 usec,240 usec

这是我从原始数据中编写的代码通过将代码放入以下代码即可:

//此草图将每隔十秒钟更改一次频道,以便您可以在看电视的同时做其他事情

//而不必更改频道,例如在笔记本电脑

//众所周知,按下按钮是如此困难,所以为什么不使其自动化呢?

int IRledPin = 13;//连接到数字引脚13的LED

//当草图开始时,setup()方法运行一次

void setup(){

//将IR数字引脚初始化为输出:

pinMode(IRledPin,OUTPUT);

Serial.begin(9600);

}

无效循环()

{

SendChannelUpCode();

delay(20 * 1000);//等待二十秒(20秒* 1000毫秒),以不同的时间间隔更改此值。

}

//此过程向IRledPin

//发送38KHz脉冲一定的微秒数。每当需要发送代码时,我们都会使用此方法。

void pulseIR(long microsecs){

//我们将从等待等待的微秒数开始倒数

cli();//关闭所有后台中断,而(microsecs》 0){

//38 kHz大约高13微秒,而低13微秒

digitalWrite(IRledPin,HIGH);//这大约需要3微秒的时间

delayMicroseconds(10);//闲逛10微秒

digitalWrite(IRledPin,LOW);//这也需要大约3微秒

delayMicroseconds(10);//闲逛10微秒

//所以总共26微秒

微秒-= 26;

}

sei();////将它们重新打开

}

void SendChannelUpCode(){

//这是CHANNEL +的代码,用于电视COMCAST

delayMicroseconds(36328);//Time off(LEFT column)

pulseIR(280);//打开时间(RIGHT列)《-------请勿将这些UP

delayMicroseconds(820);

pulseIR(300);

delayMicroseconds(1580);

pulseIR( 320);

delayMicroseconds(640);

pulseIR(240);

delayMicroseconds(1280);

pulseIR(240);

delayMicroseconds(1240);

pulseIR(240) ;

delayMicroseconds(1120);

pulseIR(240);

delayMicroseconds(2600);

pulseIR(240);

delayMicroseconds(12740);

pulseIR(240);

delayMicroseconds(840);

pulseIR(240);

delayMicroseconds(980);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(720);

pulseIR(240);

delayMicroseconds(2460);

pulseIR(240);

delayMicroseconds( 700);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(14904);

pulseIR(240);

delayMicroseconds(820) ;

pulseIR(240);

delayMicroseconds(1600);

pulseIR(240);

delayMicroseconds(700);

pulseIR(260);

delayMicrose conds(2740);

pulseIR(240);

delayMicroseconds(1240);

pulseIR(240);

delayMicroseconds(1260);

pulseIR(240);

delayMicroseconds( 1100);

pulseIR(240);

delayMicroseconds(2620);

pulseIR(240);

delayMicroseconds(12720);

pulseIR(260);

delayMicroseconds(840) ;

pulseIR(220);

delayMicroseconds(2080);

pulseIR(240);

delayMicroseconds(1780);

pulseIR(260);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(2480);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

delayMicroseconds(700);

pulseIR(240);

}

责任编辑:wv

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

    关注

    15

    文章

    2623

    浏览量

    78637
  • Arduino
    +关注

    关注

    190

    文章

    6515

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Arduino plc和termux esp

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

    贸泽电子开售全新Arduino UNO Q单板计算机

    贸泽电子开售全新Arduino UNO Q单板计算机。Arduino UNO Q单板计算机(SBC)将高性能计算与实时控制结合,提供理想的创新平台。
    的头像 发表于 11-08 09:50 962次阅读

    高通宣布收购 Arduino,加速普及前沿边缘计算与 AI 技术

    UNO Q 是 Arduino 首款由高通 Dragonwing 平台驱动的“双大脑”开发板,它桥接了高性能计算与实时控制,能够“眨眼间实
    的头像 发表于 10-08 11:15 348次阅读
    高通宣布收购 <b class='flag-5'>Arduino</b>,加速普及前沿边缘计算与 AI 技术

    如何在 NuMaker-IoT-M467 板上使用 Arduino IDE 控制 Wi-Fi 模块?

    在NuMaker开发板上,有一个ESP-12F Wi-Fi模块;但是,Arduino IDE 中的 NuMaker UNO 包不提供该模块的相关控制。如果您希望在 Arduino IDE 中
    发表于 09-04 08:28

    如何用Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录引导程序bootlaoder

    本文介绍了如何用能够Arduino IDE下载的Arduino Nano/UNO R3开发板给另一个Arduino IDE不能下载的Arduino Nano/UNO R3开发板重新烧录
    的头像 发表于 08-08 20:16 3064次阅读
    如何用<b class='flag-5'>Arduino</b> Nano/UNO R3开发板给另一个<b class='flag-5'>Arduino</b> IDE不能下载的<b class='flag-5'>Arduino</b> Nano/UNO R3开发板重新烧录引导程序bootlaoder

    Arduino与LabVIEW联合编程指南

    Arduino编程并与LabVIEW上位机结合实现设备的远程控制与数据采集。
    发表于 06-19 15:54 1次下载

    免费分享Arduino入门+进阶(全套例程+书籍)

    创意,比如控制灯光、传感器、电机等。以下是Arduino入门+进阶学习资料1.Arduino编程语言说明(相关文件可在下文扫码领取)2.Arduino系列学习例程
    的头像 发表于 05-22 11:40 796次阅读
    免费分享<b class='flag-5'>Arduino</b>入门+进阶(全套例程+书籍)

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

    的发展,在Arduino出现以前,虽然也有很多公司在推广一些简单易用的可编程控制器,但是由于开发平台种类繁多,而且使用这些控制器基本上都需要对电子技术、数字逻辑、寄存器等内容进行多方面的了解和学习,才能
    发表于 05-13 09:28

    AFE4400怎样控制开始ADC,停止ADC?

    AFE4400怎样控制开始ADC,停止ADC。
    发表于 01-14 08:15

    等离子电视与液晶电视的区别

    、显示原理 等离子电视(PDP)和液晶电视(LCD)的显示原理是它们最根本的区别。等离子电视使用气体放电原理,每个像素由两个玻璃板之间的气体放电产生光。而液晶电视则是通过液晶分子的电场
    的头像 发表于 01-13 09:51 3746次阅读

    STM32、Arduino、树莓派开发方式差异大吗

    异同点 STM32、Arduino、树莓派是三种不同的硬件平台,各自具有独特的特点和适用场景。   一、硬件特性   硬件平台 STM32 Arduino 树莓派 类型 微控制器 开源电子原型平台
    的头像 发表于 01-02 11:33 1930次阅读

    液晶电视与OLED电视的区别

    (LED TV) 液晶电视,也称为LED电视,其全称是发光二极管背光液晶电视。这种电视使用LED作为背光源,通过液晶分子的排列变化来控制光线
    的头像 发表于 12-26 18:15 2557次阅读

    如何使用Arduino实现CAN总线通信呢

    CAN(Controller Area Network)总线是一种常用于汽车和工业控制系统的串行通信协议,以其高可靠性和实时性而闻名。Arduino,作为一种流行的开源微控制器平台,可以通过附加
    的头像 发表于 12-23 09:06 2817次阅读

    Arduino采集雷达模块数据与串口绘图

    Arduino采集雷达模块数据与串口绘图
    的头像 发表于 12-14 11:44 1211次阅读
    <b class='flag-5'>Arduino</b>采集雷达模块数据与串口绘图

    Arduino Nano Matter开发板正式上市

    Silicon Labs(芯科科技)和Arduino在近日共同宣布Arduino Nano Matter开发板现已正式上市。这是延续今年3 月芯科科技和Arduino释出Arduino
    的头像 发表于 12-10 13:50 1430次阅读