Arduino红外遥控器,控制继电器水泵

news2024/9/23 5:15:52

我们将讨论如何使用Arduino和IRremote库来实现通过红外遥控器控制继电器的开关。通过这个项目,你将学会如何接收和解码红外信号,并根据接收到的信号控制继电器(这里的继电器可以换成其他传感器)的状态。

项目简介

我们将使用Arduino开发板、一个红外接收模块和一个红外遥控器来实现这个项目。当按下遥控器上的特定按钮时,继电器将会打开或关闭。我们将使用最新版本的IRremote库来接收和解码红外信号。

硬件准备

  • Arduino开发板(例如Arduino Uno)
  • 红外接收模块
  • 红外遥控器
  • 继电器
  • 杜邦线

电路连接

 

  1. 将红外接收模块的信号引脚连接到Arduino的数字引脚11。
  2. 将红外接收模块的VCC和GND分别连接到Arduino的5V和GND。

继电器连接如图所示,信号输入引脚接arduino的7号引脚 

软件准备

确保你已经在Arduino IDE中安装了最新版本的IRremote库。你可以通过以下步骤来安装:

  1. 打开Arduino IDE。
  2. 进入“工具”菜单,选择“库管理器”。
  3. 在弹出的窗口中搜索“IRremote”,找到“IRremote并安装。

 这是解码遥控器发出的红外信号的代码

#include <IRremote.hpp> // 引入新的IRremote库

const int RECV_PIN = 11; // 定义红外接收器引脚
const int LED_PIN = 13; // 定义LED引脚
bool ledState = LOW; // 初始化LED状态为低

void setup() {
  pinMode(LED_PIN, OUTPUT); // 设置LED引脚为输出模式
  Serial.begin(9600); // 初始化串口通讯,波特率为9600
  IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK); // 启动红外解码,并启用LED反馈
}

void loop() {
  if (IrReceiver.decode()) { // 判断是否接收到红外码
    Serial.print("bits: ");
    Serial.println(IrReceiver.decodedIRData.rawDataPtr->rawlen); // 打印红外线码元位数

    Serial.print("IRCode: ");
    Serial.println(IrReceiver.decodedIRData.decodedRawData, HEX); // 串口监视器查看红外解码结果(十六进制)

    ledState = !ledState; // 切换LED状态
    digitalWrite(LED_PIN, ledState); // 设置LED引脚电平

    IrReceiver.resume(); // 在解码一个红外线信号之后,持续接收下一组信号
  }
}

下面是通过遥控器控制继电器的代码

#include <IRremote.hpp> // 引入新的IRremote库

const int RECV_PIN = 11; // 定义红外接收器引脚
const int LED = 7; // 定义LED引脚

void setup() {
  Serial.begin(9600); // 初始化串口通讯,波特率为9600
  IrReceiver.begin(RECV_PIN, ENABLE_LED_FEEDBACK); // 启动红外解码,并启用LED反馈
  pinMode(LED, OUTPUT); // 设置LED引脚为输出模式
}

void loop() {
  if (IrReceiver.decode()) { // 判断是否接收到红外码
    unsigned long value = IrReceiver.decodedIRData.decodedRawData; // 获取解码后的红外码

    switch (value) {
      case 0xBA45FF00: 
        Serial.println("OPEN"); 
        digitalWrite(7, HIGH); // 打开LED
        break;
      case 0xB946FF00: 
        Serial.println("MODE"); 
        digitalWrite(7, LOW); // 关闭LED
        break;
      case 0xB847FF00: 
        Serial.println("jingyin"); 
        break;
      case 0xF30CFF00: 
        Serial.println("1"); 
        break;
      case 0xE718FF00: 
        Serial.println("2"); 
        break;
      case 0xA15EFF00: 
        Serial.println("3"); 
        break;
      case 0xF708FF00: 
        Serial.println("4"); 
        break;
      case 0xE31CFF00: 
        Serial.println("5"); 
        break;
      default: 
        Serial.println("Unknown"); 
        break; // 添加默认情况处理
    }

    IrReceiver.resume(); // 等待接收下一组信号
  }
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1678435.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自由职业是种怎样的体验?普通人如何成为一名自由职业者?

自由职业在哪都能办公自由职业在哪都要办公。 放弃幻想&#xff0c;没有不辛苦的工作&#xff0c;5年经验后端开发程序员&#xff0c;已经从事自由职业1年半&#xff0c;今天就来客观分享一下自由职业的利与弊。 时间自由&#xff0c;减少中间商赚差价 自由职业最让人羡慕的就…

探秘Web3科技:科技变革的下一个风口

引言 随着互联网的发展&#xff0c;我们正处于一个数字化时代&#xff0c;而Web3技术被认为是数字革命的下一个风口。相较于传统的Web2&#xff0c;Web3技术以其去中心化、安全可信的特点&#xff0c;正在引领着科技变革的潮流。本文将深入探讨Web3科技&#xff0c;揭示其背后…

泽攸科技无掩模光刻机:引领微纳制造新纪元

在当今科技迅猛发展的时代&#xff0c;微纳制造技术正变得越来越重要。泽攸科技作为这一领域的先行者&#xff0c;推出了其创新的无掩模光刻机&#xff0c;这一设备在微电子制造、微纳加工、MEMS、LED、生物芯片等多个高科技领域展现出了其独特的价值和广泛的应用前景。 技术革…

C#实现各种Hash计算

C#实现各种Hash计算 文章目录 C#实现各种Hash计算涉及框架及库目前支持可计算的类型核心代码完整可运行代码 BCrypt总结 涉及框架及库 自己在NuGet管理器里面安装即可 BouncyCastle.Cryptography&#xff1a;是加密算法和协议的.NET实现。 目前支持可计算的类型 BLAKE2B_16…

Laravel中使用MinIO进行文件操作及ZIP解压

Laravel中使用MinIO进行文件操作及ZIP解压指南 介绍 在本指南中&#xff0c;我们将详细介绍如何在laravel框架中操作minio&#xff0c;包含方法有&#xff1a;桶列表&#xff0c;创建桶&#xff0c;修改桶&#xff0c;上传文件&#xff0c;删除文件&#xff0c;生成直传链接&…

【全开源】JAVA语聊大厅语音聊天APP系统源码

语聊大厅语音聊天源码&#xff1a;打造专属的语音社交平台 核心功能 多人语音聊天&#xff1a;支持多人同时在线语音聊天&#xff0c;用户可以创建或加入不同的聊天室&#xff0c;与好友或陌生人进行实时互动。语音转文字&#xff1a;提供语音转文字功能&#xff0c;方便用户…

Folder Icons for Mac v1.9激活版:自定义文件夹图标

在追求个性和品味的今天&#xff0c;Folder Icons for Mac 让您的Mac桌面焕然一新。支持多种格式的图片和图标文件&#xff0c;满足您不同的审美需求。同时&#xff0c;软件提供丰富的图标库和模板&#xff0c;让您在定制文件夹图标时更加得心应手。Folder Icons for Mac 不仅能…

react 图片没有加载出来的问题

react 图片没有加载出来的问题 我原来是这样写的 <Layout><Sider><imgsrc"../images/login/topdivbg20221202.png"/></Sider><Content><Menu onClick{onClick} selectedKeys{[current]} mode"horizontal" it…

欣赏一个尚未关闭的python运行时bug

这是一个语言的运行时错误&#xff0c;在linux环境&#xff0c;跨语言使用共享内存时&#xff0c;会触发。它会在python程序退出时&#xff0c;自行销毁sharedMemory&#xff0c;即便此时还有其他的进程在使用——这会让C/Python跨进程调用几乎没有办法进行。 python程序运行完…

华为、小米、魅族都开始造车了!中国还有多少手机厂家要下场造车?2024如果创业适合干什么?2024最适合创业的细分行业

要说现在中国最火、声量最高的创业是什么&#xff1f;那一定是造车&#xff01; 小米这样的手机公司在造车、创维这样的电视家电品牌在造车、甚至就连五粮液这样的白酒品牌也在造车&#xff01;至于其他的还有什么做地产的恒大、做电动车的新日等等&#xff0c;数不数胜。而在手…

数据结构~~带环链表的环开始的节点位置**两种方法

1.带环链表环开始的位置 &#xff08;1&#xff09;上面的这个测试用例使用的是包含了4个节点的带环链表&#xff0c;我们要找的就是链表里面的环开始的节点的位置&#xff0c;拿这个测试用例而言&#xff0c;就是2这个节点&#xff0c;从这个节点开始&#xff0c;我们的链表就…

Shopee、Lazada等平台怎么做测评?

最近有很多人咨询南哥跨境电商平台测评应该怎么做&#xff0c;今天我就针对东南亚站点&#xff0c;详细跟大家分享一下东南亚平台测评需要哪些资源 测评环境系统 不管做任何平台&#xff0c;首先你要有一个稳定的测评环境系统&#xff0c;测评环境系统的底层逻辑就是通过一台…

【Uniapp】图片修复对比组件

效果图 不废话&#xff0c;直接上源码&#xff01; 组件直接用 <template><viewclass"img-comparison-container":style"width: width rpx;height: height rpx"><view class"before-image" :style"width: x rpx&quo…

两大DRAM巨头20%产能转给HBM

随着人工智能(AI)需求的激增&#xff0c;全球领先的内存芯片制造商三星(Samsung)和SK海力士(SK Hynix)预计&#xff0c;由于高性能芯片需求不断增长&#xff0c;今年DRAM和高带宽内存(HBM)的价格将保持强劲。据《韩国经济日报》报道&#xff0c;三星和SK海力士已将其超过20%的D…

实验12:综合实验

1、实验目的及要求&#xff1a; 通过本次实验完成一个小型网络中配置设备。实现配置一个路由器、两个交换机和两台PC&#xff0c;以支持IPv4和IPv6连接&#xff1b;路由器和交换机必须安全管理&#xff0c;配置VLAN间路由、DHCP、以太网通道和端口安全。通过登录思科网络技术学…

Beego 使用教程 6:Web 输入处理

beego 是一个用于Go编程语言的开源、高性能的 web 框架 beego 被用于在Go语言中企业应用程序的快速开发&#xff0c;包括RESTful API、web应用程序和后端服务。它的灵感来源于Tornado&#xff0c; Sinatra 和 Flask beego 官网&#xff1a;http://beego.gocn.vip/ 上面的 bee…

⭐解读绍兴BSCI验厂攻略⭐

&#x1f308;解读&#x1f50d;绍兴BSCI验厂攻略&#x1f308; &#x1f60a;深入解读&#x1f449;绍兴BSCI验厂攻略&#x1f448;&#xff0c;助力企业&#x1f481;‍♂️顺利通过国际认证&#x1f990; &#x1f497;在全球化日益&#x1f9ed;加速的今天&#xff0c;&…

我的职场加速器-高效工作从可道云teamOS开始

不论是作为管理者&#xff0c;还是普通打工人&#xff0c;在日常工作中&#xff0c;我们都需要一款既能够保障数据安全&#xff0c;又能够提升团队协作效率的平台。 近期&#xff0c;我体验了可道云teamOS&#xff0c;这款企业级云协作平台给我留下了深刻的印象。 一、极简风…

Pytorch代码基础—张量

Pytorch代码—张量 Pytorch张量 张量的属性&#xff1a; data&#xff1a;被包装的Tensorgrad&#xff1a;data的梯度grad_fn:创建Tensor的Function&#xff0c;是自动求导的关键requires_grad&#xff1a;指示是否需要梯度isleaf&#xff1a;指示是否是叶子结点&#xff0…

SpringBoot应用

文章目录 第一章、SpringBoot基础内容一、Spring和SpringBoot1、Spring介绍2、SpringBoot介绍 二、SpringBoot2入门操作1、在线构建2、idea构建 三、浅谈自动装配的原理 第二章、SpringBoot核心功能一、配置文件1、配置文件介绍2、语法规则3、数据类型4、案例使用 二、WEB开发1…