当前位置: 首页 > news >正文

PT2262-IR

PT2262是一款很古老的编码芯片,其兼容型号有:SC2262,AD2262,SC2260(需改变匹配电阻)等。

依据其datasheet,PT2262射频模式工作原理:

CODE BITS

A Code Bit is the basic component of the encoded waveform, and can be classified as either an AD (Address/Data) Bit or a SYNC (Synchronous) Bit.

ADDRESS/DATA (AD) BIT WAVEFORM

An AD Bit can be designated as Bit “0”, “1” or “f” if it is in low, high or floating state respectively. One bit waveform consists of 2 pulse cycles. Each pulse cycle has 16 oscillating time periods. For further details, please refer to the diagram below:

SYNCHRONOUS (SYNC.) BIT WAVEFORM

The Synchronous Bit Waveform is 4 bits long with 1/8 bit width pulse. Please refer to the diagram below:

CODE WORD

A group of Code Bits is called a Code Word. A Code Word consists of 12 AD bits followed by one Sync Bit. The 12 AD bits are determined by the corresponding states of A0 ~ A5 and A6/D5 ~ A11/D0 pins at the time of transmission. When Data Type of PT2262 is used, the address bits will decrease accordingly. For example: In the 3 Data Type where the address has nine (9) bits, the transmitting format is:

CODE FRAME

A Code Frame consists of four (4) continuous Code Words. When PT2262 detects “0” on the /TE (meaning, the /TE is active “low”), it outputs a Code Frame at DOUT. If /TE is still active at the time the Code Frame transmission ends, T2262 outputs another Code Frame. It should be noted that the Code Frame is synthesized at the time of transmission.

PT2262-IR红外模式工作原理

IR OPERATION

In the IR Type of Operation, the functions are similar to the above descriptions except for the output waveform that has a carrier frequency of 38KHz. Details are as follows(此图0编码错误):

以上需要注意的是,对于后缀为IR的芯片,其输出是没有载波的,例如,输出bit 1,仅仅是60λ高+20λ低+60λ高+20λ低,高电平期间并没有调制波。

CODE BITS

The Code Bits are further modulated with a 38KHz carrier frequency and can be “0”, “1” or “f” bit. 

CODE FRAME

Likewise, a Code Frame is made up of Code Words and the format is the same as that of RF Type of Operation,即有4个连续的CODE WORD。

OSCILLATOR

The Oscillator Frequency for the IR Type of Operation is twice the carrier frequency. Thus, the oscillator frequency should be kept at 76 KHz. A 430K ~ 560KΩ oscillator resistor between OSC 1 and OSC 2 pins is recommended. It should be noted that the carrier is a 50% duty cycle frequency.

实际发射:A0-A7地址位+D0-D3数据位+同步信号

对于红外38KHz,测得结果20λ约为320us。计算:λ=16us,clock脉宽为8us,周期16us,即频率62.5KHz(与38KHz的两倍,即76KHz有一定误差)。为了更精确还原38KHz(实际值小于此),建议取值:周期13.15us,则λ取13.15us,20λ取263us.

综上:振荡频率应该是76KHz,振荡电阻是430~560K之间。如果振荡频率是76KHz,根据datasheet说明,其接收频率应该是2.5~8倍该频率,即190~608KHz,对应的电阻小于200K但对于红外接收来说,由于没有载波,接收频率取76K。

选型:

PT2262-IR,后缀务必带IR,但目前市场上有假货,即用普通PT2262打磨后,重新激光打印成2262-IR。

解码芯片:PT2272-L4,经测试,后缀带M4与PT2262-IR无法很好匹配。

实用匹配电阻选择:

发射:约150-560K,故可用100K固定电阻+500K电位器

接收:约300-450K,可用500K电位器

红外接收选择,宜选择2脚的红外接收管,便宜好用;部分3脚的红外接收管波长不匹配,无法工作,特别是一体的(例如部分HS0038),个别由于本身会产生波形而带来干扰。

3脚(小鼻梁):接收窗口对自己,左右依次:OUT,GND,VCC。

3脚(带平面):接收窗口对自己,左右依次:OUT,VCC,GND。

2脚接收管:上拉10K电阻(缺口相连)后送入NPN三极管,该三极管集电极接5K电阻,另一脚接地(长脚,即反接)。

红外发射管:金属比较多处为阴极(负),1N4148二极管/发光二极管,长脚为正。

若不采用带后缀IR的,(射频),根据官方datasheet,其匹配电阻:

1.2M/200K 发射电阻1.2M时,发射频率约40K,接收若也为40K,则接收电阻可取510K-1M之间

1.5M/270K 发射电阻1.5M时,发射频率约30K,接收若也为30K,则接收电阻可取1M

2.2M/390K 发射电阻2.2M时,发射频率约20K,接收若也为20K,则接收电阻可取1.5M

4.7M/820K 发射电阻4.7M时,发射频率约8KHz,接收若也为800Hz,则接收电阻可取2M

利用Arduino对ESP8266编程,实现对海尔空调的遥控,代码如下:

#include <Arduino.h>
#include <IRremoteESP8266.h>
#include <IRsend.h>
const uint16_t kIrLed = 4;  
IRsend irsend(kIrLed); 
uint16_t rawData[149] = {3228, 2772,  3246, 4252,  746, 1454,  756, 344,  760, 1438,  764, 334,  756, 342,  748, 1450,  746, 352,  746, 1454,  760, 340,  764, 1436,  756, 342,  748, 350,  746, 352,  746, 354,  744, 354,  752, 346,  760, 340,  764, 336,  764, 1434,  748, 350, 748, 352,  746, 354,  744, 354,  752, 346,  760, 340,  764, 336,  764, 334,  758, 342,  750, 350,  746, 352,  746, 354,  744, 354,  752, 348,  758, 340,  764, 336,  764, 334,  758, 1440,  748, 1452,  744, 354,  750, 348,  758, 340,  762, 336,  764, 334,  758, 340,  750, 348,  746, 352,  746, 354,  744, 354,  770, 328,  778, 322,  780, 1418,  778, 320,  750, 348,  746, 352,  746, 354,  744, 354,  750, 350,  758, 342,  762, 338,  764, 336,  760, 338,  752, 348,  746, 352,  746, 354,  744, 354,  748, 350,  756, 1442,  762, 1436, 752, 348,  746, 352,  746, 352,  744, 1454,  756}; 
void setup() {irsend.begin();
}
void loop() {irsend.sendNEC(0x11A00AB9);delay(1000);irsend.sendRaw(rawData, 149, 38);delay(1000);
}

需要注意的是,需要增加IRremoteESP8266库:

对于算能MilkV Duo,通过Arduino,模拟实现PT2262-IR功能:

#define GP16 21
#define longt 600
#define shortt 190
#define synct 11935
#define pulse(x) digitalWrite(GP16, HIGH),delayMicroseconds(x)
#define upulse(y) digitalWrite(GP16, LOW),delayMicroseconds(y)
#define bit0 pulse(shortt),upulse(longt),pulse(shortt),upulse(longt)
#define bit1 pulse(longt),upulse(shortt),pulse(longt),upulse(shortt)
#define bitf pulse(shortt),upulse(longt),pulse(longt),upulse(shortt)
#define Sync pulse(shortt),upulse(synct)
#define IRsend(x) for(int j=0;j<4;j++){\for(int i=0;i<12;i++){\switch(x[i]){\case '0':bit0;break;\case '1':bit1;break;\case 'f':bitf;break;\}\}\Sync;\                 }
//ffffffff0100
uint8_t IR0[13]={'f','f','f','f','f','f','f','f','0','1','0','0'};
void setup() {pinMode(GP16, OUTPUT);
}
void loop() {IRsend(IR0)delay(1000);、
}

以上数据通过示波器实测取得,其中4α(20λ)约为190us,12α(60λ)约为600us,sync高电平(20λ)约为190us

相关文章:

PT2262-IR

PT2262是一款很古老的编码芯片&#xff0c;其兼容型号有&#xff1a;SC2262&#xff0c;AD2262&#xff0c;SC2260(需改变匹配电阻)等。 依据其datasheet&#xff0c;PT2262射频模式工作原理: CODE BITS A Code Bit is the basic component of the encoded waveform, and ca…...

JavaScript 迭代器

在JavaScript中&#xff0c;迭代器是一种允许我们遍历集合中元素的对象。迭代器对象具有一个next()方法&#xff0c;该方法返回value和done。value是当前迭代的值&#xff0c;done属性是一个布尔值&#xff0c;表示是否到达了集合的末尾。 迭代器协议 一个迭代器对象必须具备以…...

数据结构之《队列》

在数据结构之《栈》章节中学习了线性表中除了顺序表和链表外的另一种结构——栈&#xff0c;在本篇中我们将继续学习另一种线性表的结构——队列&#xff0c;在通过本篇的学习后&#xff0c;你将会对栈的结构有充足的了解&#xff0c;在了解完结构后我们还将进行栈的实现。一起…...

【NPU 系列专栏 2 -- NVIDIA 的 H100 和 H200 是什么?】

请阅读【嵌入式及芯片开发学必备专栏】 文章目录 NVIDIA H100 和 H200 芯片NVIDIA H100 芯片简介NVIDIA H100 主要特点NVIDIA H100 应用场景NVIDIA H100 使用举例NVIDIA H200 芯片简介NVIDIA H200 主要特点NVIDIA H200 应用场景NVIDIA H200 使用举例Summary NVIDIA H100 和 H20…...

【BUG】已解决:IndexError: positional indexers are out-of-bounds

IndexError: positional indexers are out-of-bounds 目录 IndexError: positional indexers are out-of-bounds 【常见模块错误】 【解决方案】 原因分析 解决方法 示例代码 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博…...

视频汇聚,GB28181,rtsp,rtmp,sip,webrtc,视频点播等多元异构视频融合,视频通话,视频会议交互方案

现在视频汇聚&#xff0c;视频融合和视频互动&#xff0c;是视频技术的应用方向&#xff0c;目前客户一般有很多视频的业务系统&#xff0c;如已有GB28181的监控&#xff08;GB现在是国内主流&#xff0c;大量开源接入和商用方案&#xff09;&#xff0c;rtsp设备&#xff0c;音…...

SpringCloud断路器的使用与原理解析

Spring Cloud断路器是在分布式系统中实现容错的一种方式。它的原理是通过在调用链路上添加断路器,当某个服务的调用出现故障或超时时,断路器会自动迅速地切换到快速失败模式,防止故障扩散,从而保护整个系统的稳定性。 Spring Cloud断路器的使用与原理解析如下: 一、使用断…...

结构型模式-分类

一、结构型设计模式 结构型模式描述如何将类或对象按某种布局组成更大的结构。它分为类结构型模式和对象结构型模式&#xff0c;前者采用继承机制来组织接口和类&#xff0c;后者釆用组合或聚合来组合对象。 由于组合关系或聚合关系比继承关系耦合度低&#xff0c;满足“合成…...

【前端】JavaScript入门及实战106-110

文章目录 106 a的索引问题107 使用DOM操作CSS108 读取元素当前的样式109 getStyle()110 其他样式操作的属性滚动条练习 106 a的索引问题 <!DOCTYPE html> <html> <head> <title></title> <meta charset"utf-8"> <script typ…...

git 版本回退-idea

1、选中项目&#xff0c;右键&#xff0c;打开 git历史提交记录 2、选中想要回退的版本&#xff0c;选择 hard&#xff08;不保留版本记录&#xff09; 3、最终选择强制提交&#xff08;必须强制&#xff09; OK&#xff0c;搞定...

[安洵杯 2019]easy_serialize_php

进入界面然后 <?php$function $_GET[f];function filter($img){$filter_arr array(php,flag,php5,php4,fl1g);$filter /.implode(|,$filter_arr)./i;return preg_replace($filter,,$img); } 这就是个正则if($_SESSION){unset($_SESSION); 销毁 }$_SESSION["use…...

2024年软件测试面试题大全【含答案】

一、面试基础题 简述测试流程: 1、阅读相关技术文档&#xff08;如产品PRD、UI设计、产品流程图等&#xff09;。 2、参加需求评审会议。 3、根据最终确定的需求文档编写测试计划。 4、编写测试用例&#xff08;等价类划分法、边界值分析法等&#xff09;。 5、用例评审(…...

返回倒数第 k 个节点 - 力扣(LeetCode)

面试题 02.02. 返回倒数第 k 个节点 - 力扣&#xff08;LeetCode&#xff09; /*** Definition for singly-linked list.* struct ListNode {* int val;* struct ListNode *next;* };*/int kthToLast(struct ListNode* head, int k) {struct ListNode* fastnode head…...

12 前端工程化

组件化 1. 组件化理解 就是将页面的某一部分独立出来&#xff0c;将这一部分的数据层&#xff08;M&#xff09;、视图层&#xff08;V&#xff09;和控制层&#xff08;C&#xff09;用黑盒的形式全部封装到一个组件内&#xff0c;暴露出一些开箱即用的函数和属性供外部调用。…...

跨文档消息传递:WebKit中的Web通信新纪元

跨文档消息传递&#xff1a;WebKit中的Web通信新纪元 在现代Web应用中&#xff0c;跨文档消息传递&#xff08;Cross-document messaging&#xff09;是一种允许不同源的文档进行通信的机制。这种机制对于构建复杂的Web应用&#xff0c;如嵌入式框架&#xff08;iframes&#…...

面试题 33. 二叉搜索树的后序遍历序列

二叉搜索树的后序遍历序列 题目描述示例 题解递归单调栈 题目描述 输入一个整数数组&#xff0c;判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回 true&#xff0c;否则返回 false。假设输入的数组的任意两个数字都互不相同。 示例 参考以下这颗二叉搜索树&#…...

Web响应式设计———1、Grid布局

1、网格布局 Grid布局 流动网格布局是响应式设计的基础。它通过使用百分比而不是固定像素来定义网格和元素的宽度。这样&#xff0c;页面上的元素可以根据屏幕宽度自动调整大小&#xff0c;适应不同设备和分辨率。 <!DOCTYPE html> <html lang"en"> &l…...

ESP32开发进阶: 训练神经网络

一、网络设定 我们设定一个简单的前馈神经网络&#xff0c;其结构如下&#xff1a; 输入层&#xff1a;节点数&#xff1a;2&#xff0c;接收输入数据&#xff0c;每个输入样本包含2个特征&#xff0c;例如 {1.0, 0.0}, {0.0, 1.0} 等。 隐藏层&#xff1a;节点数&#xff1a;…...

全国区块链职业技能大赛国赛考题前端功能开发

任务3-1:区块链应用前端功能开发 1.请基于前端系统的开发模板,在登录组件login.js、组件管理文件components.js中添加对应的逻辑代码,实现对前端的角色选择功能,并测试功能完整性,示例页面如下: 具体要求如下: (1)有明确的提示,提示用户选择角色; (2)用户可看…...

直接插入排序算法详解

直接插入排序&#xff08;Straight Insertion Sort&#xff09;是一种简单直观的排序算法。它的工作原理是通过构建有序序列&#xff0c;对于未排序数据&#xff0c;在已排序序列中从后向前扫描&#xff0c;找到相应位置并插入。插入排序在实现上&#xff0c;通常采用in-place排…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…...

从WWDC看苹果产品发展的规律

WWDC 是苹果公司一年一度面向全球开发者的盛会&#xff0c;其主题演讲展现了苹果在产品设计、技术路线、用户体验和生态系统构建上的核心理念与演进脉络。我们借助 ChatGPT Deep Research 工具&#xff0c;对过去十年 WWDC 主题演讲内容进行了系统化分析&#xff0c;形成了这份…...

蓝桥杯 2024 15届国赛 A组 儿童节快乐

P10576 [蓝桥杯 2024 国 A] 儿童节快乐 题目描述 五彩斑斓的气球在蓝天下悠然飘荡&#xff0c;轻快的音乐在耳边持续回荡&#xff0c;小朋友们手牵着手一同畅快欢笑。在这样一片安乐祥和的氛围下&#xff0c;六一来了。 今天是六一儿童节&#xff0c;小蓝老师为了让大家在节…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解

本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说&#xff0c;直接开始吧&#xff01; 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接&#xff1a;3403. 从盒子中找出字典序最大的字符串 I 代码如下&#xff1a; class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

《C++ 模板》

目录 函数模板 类模板 非类型模板参数 模板特化 函数模板特化 类模板的特化 模板&#xff0c;就像一个模具&#xff0c;里面可以将不同类型的材料做成一个形状&#xff0c;其分为函数模板和类模板。 函数模板 函数模板可以简化函数重载的代码。格式&#xff1a;templa…...

Linux 内存管理实战精讲:核心原理与面试常考点全解析

Linux 内存管理实战精讲&#xff1a;核心原理与面试常考点全解析 Linux 内核内存管理是系统设计中最复杂但也最核心的模块之一。它不仅支撑着虚拟内存机制、物理内存分配、进程隔离与资源复用&#xff0c;还直接决定系统运行的性能与稳定性。无论你是嵌入式开发者、内核调试工…...

Linux 中如何提取压缩文件 ?

Linux 是一种流行的开源操作系统&#xff0c;它提供了许多工具来管理、压缩和解压缩文件。压缩文件有助于节省存储空间&#xff0c;使数据传输更快。本指南将向您展示如何在 Linux 中提取不同类型的压缩文件。 1. Unpacking ZIP Files ZIP 文件是非常常见的&#xff0c;要在 …...

uniapp手机号一键登录保姆级教程(包含前端和后端)

目录 前置条件创建uniapp项目并关联uniClound云空间开启一键登录模块并开通一键登录服务编写云函数并上传部署获取手机号流程(第一种) 前端直接调用云函数获取手机号&#xff08;第三种&#xff09;后台调用云函数获取手机号 错误码常见问题 前置条件 手机安装有sim卡手机开启…...

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement

Cilium动手实验室: 精通之旅---13.Cilium LoadBalancer IPAM and L2 Service Announcement 1. LAB环境2. L2公告策略2.1 部署Death Star2.2 访问服务2.3 部署L2公告策略2.4 服务宣告 3. 可视化 ARP 流量3.1 部署新服务3.2 准备可视化3.3 再次请求 4. 自动IPAM4.1 IPAM Pool4.2 …...