chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線(xiàn)課程
  • 觀(guān)看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ESP8266紅外信號(hào)收發(fā)實(shí)驗(yàn)

CHANBAEK ? 來(lái)源:編程圈子 ? 作者:編程圈子 ? 2023-03-26 17:25 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

一、概述

1. ESP8266紅外功能及庫(kù)

ESP8266 支持通過(guò)紅外接收器和紅外LED進(jìn)行紅外收發(fā)功能。

ESP8266的紅外收發(fā)功能需要借助外部庫(kù),常用的庫(kù)有IRremoteESP8266、IRremote、IRLib2等。

IRremoteESP8266庫(kù)是專(zhuān)門(mén)為ESP8266芯片設(shè)計(jì)的紅外收發(fā)庫(kù),它支持多種協(xié)議,包括NEC、Sony、RC5、RC6等,還支持學(xué)習(xí)和發(fā)送紅外信號(hào)。

另外IRremote庫(kù)和IRLib2庫(kù)也是常用的紅外收發(fā)庫(kù),但這兩個(gè)庫(kù)不是專(zhuān)門(mén)為ESP8266設(shè)計(jì)的,需要進(jìn)行相應(yīng)的適配。

2. 紅外收發(fā)常見(jiàn)步驟

使用這些庫(kù)進(jìn)行紅外收發(fā)時(shí),一般需要進(jìn)行以下步驟:

  1. 初始化紅外收發(fā)器和紅外LED引腳,一般使用IRrecv和IRsend對(duì)象進(jìn)行操作。
  2. 在循環(huán)中檢測(cè)是否有紅外信號(hào)接收到,使用IRrecv對(duì)象的decode方法對(duì)信號(hào)進(jìn)行解碼。
  3. 根據(jù)解碼后的數(shù)據(jù)判斷紅外信號(hào)的類(lèi)型和命令,進(jìn)行相應(yīng)的操作。
  4. 使用IRsend對(duì)象的send*方法發(fā)送紅外信號(hào)。

二、發(fā)送端

1. 電路接線(xiàn)

下面將紅外發(fā)射管接在GPIO4(D2)引腳,為防止燒管,可以在紅外發(fā)射管和地之間串聯(lián)一個(gè)1K電阻。

下面的程序?qū)崿F(xiàn)了從串口讀入4個(gè)字節(jié),然后通過(guò)紅外發(fā)射出去。

2. 源代碼

#include 

int IR_S =  4;     //接arduino 8號(hào)引腳
IRsend irsend(IR_S);

void setup() 
{ 
  pinMode(IR_S, OUTPUT);
  Serial.begin(9600); // 9600 波特率
}
void loop() 
{
  uint8_t buffer[4];
  if ( Serial.available()>=4) {
    Serial.readBytes(buffer, 4);
    uint32_t data = buffer[0] << 24 | buffer[1] << 16 | buffer[2] <<8 | buffer[3];
    Serial.println(data, HEX);
    irsend.sendSony(data, 32);
  }
  delay(1000);
}

3. sendSony介紹

這里重點(diǎn)是使用sendSony方法,函數(shù)定義:irsend.sendSony(data, nbits)

  • data 要發(fā)送的數(shù)據(jù)
  • nbits 紅外碼的位數(shù)

如果要發(fā)送0x0a9,那么使用Sony紅外協(xié)議發(fā)送,可以使用下面的代碼:

irsend.sendSony(0x0A9, 12);

假設(shè)現(xiàn)在要發(fā)送 0x9AB32AFC,轉(zhuǎn)換為二進(jìn)制數(shù)

10011010101100110010101011111100,

然后,我們按照 Sony 協(xié)議的格式構(gòu)造數(shù)據(jù),即:

起始位(4位)  設(shè)備地址(7位) 命令數(shù)據(jù)(8位) 
0101          0000001         00110101

其中,起始位是固定的 0101,設(shè)備地址可以是 0 到 127 之間的任意一個(gè)值,這里我們假設(shè)設(shè)備地址為 1,所以設(shè)備地址的二進(jìn)制表示為 0000001。

接下來(lái)是命令數(shù)據(jù),我們將 0x9AB32AFC 轉(zhuǎn)換為二進(jìn)制后,從左到右依次填入,不足 8 位則在高位補(bǔ)零。因此,命令數(shù)據(jù)的二進(jìn)制表示為 10011010 10110011 00101010 11111100,這里我們將這 4 個(gè)字節(jié)從左到右依次排列,即

10011010101100110010101011111100。

最后,在命令數(shù)據(jù)的右邊再添加一位結(jié)束位,固定為 0。因此,最終的數(shù)據(jù)為 0101 0000001 10011010 10110011 00101010 11111100 0。

將這個(gè)二進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù),即 1413266032。因此,對(duì)于發(fā)送 0x9AB32AFC 的情況,irsend.sendSony(0x9AB32AFC, 32) 中的第二個(gè)參數(shù)應(yīng)為 32。

二、接收

下面把帶解碼功能的紅外接收管(型號(hào)1838B)接在了D5引腳。接收直接調(diào)用IRremote.h庫(kù)。

1. 源代碼

#include 
 
int RECV_PIN = D5; 
IRrecv irrecv(RECV_PIN); 
decode_results results;
 
void setup()
{
  Serial.begin(9600);
  
  irrecv.enableIRIn(); //初始化紅外遙控
}
 
void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    // 接收下一個(gè)值
    irrecv.resume();
  }
  delay(150);
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀(guān)點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    243

    文章

    24327

    瀏覽量

    683709
  • 信號(hào)
    +關(guān)注

    關(guān)注

    11

    文章

    2871

    瀏覽量

    79290
  • 串口
    +關(guān)注

    關(guān)注

    15

    文章

    1597

    瀏覽量

    81382
  • 紅外接收器
    +關(guān)注

    關(guān)注

    2

    文章

    42

    瀏覽量

    19414
  • ESP8266
    +關(guān)注

    關(guān)注

    51

    文章

    965

    瀏覽量

    48555
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    ESP8266_IR_紅外例程及使用說(shuō)明_Version 0.3

    ESP8266__Interface_Infrared_Device紅外接口參考說(shuō)明
    發(fā)表于 12-30 14:37 ?572次下載

    ESP8266系列模塊選型

    ESP8266系列模塊選型ESP8266 ESP-01 ESO-02
    發(fā)表于 01-05 17:34 ?37次下載

    使用esp8266實(shí)現(xiàn)STM32聯(lián)網(wǎng)(最簡(jiǎn)單USART方法)

    上一篇 esp8266怎么配置esp8266和USB轉(zhuǎn)TTL連接esp8266簡(jiǎn)單介紹esp8266連接路由器esp8266通過(guò)路由器連接在
    發(fā)表于 11-22 11:51 ?1.3w次閱讀

    esp8266 at指令集詳解

    ESP8266可廣泛應(yīng)用于智能電網(wǎng)、智能交通、智能家具、手持設(shè)備、工業(yè)控制等領(lǐng)域。本文介紹了esp8266 at指令集,以及ESP8266使用AT指令開(kāi)發(fā)示例
    發(fā)表于 12-08 13:52 ?14.8w次閱讀
    <b class='flag-5'>esp8266</b> at指令集詳解

    ESP32和ESP8266基于A(yíng)rduino的MQTT收發(fā)資料說(shuō)明

    本文檔的主要內(nèi)容詳細(xì)介紹的是ESP32和ESP8266基于A(yíng)rduino的MQTT收發(fā)資料說(shuō)明。
    發(fā)表于 01-24 08:00 ?111次下載
    <b class='flag-5'>ESP</b>32和<b class='flag-5'>ESP8266</b>基于A(yíng)rduino的MQTT<b class='flag-5'>收發(fā)</b>資料說(shuō)明

    怎樣使用ESP8266 Flasher和Programmer燒寫(xiě)ESP8266 AT固件

    選擇要連接的COM端口ESP8266 Flasher和Programmer + ESP8266 Wifi串行收發(fā)器模塊。將BAUDRATE設(shè)置為115200。
    的頭像 發(fā)表于 11-18 17:58 ?2.2w次閱讀

    ESP8266-NodeMCU

    2C1.8 SPI1.9 ESP8266引腳功能一覽ESP8266-NodeMCU引腳功能1.1 可用引腳??ESP8266芯片有17個(gè)GPIO引腳(GPIO0~GPIO16)。這些引腳中的GPIO6~GPIO 11被用于連接開(kāi)
    發(fā)表于 10-25 16:51 ?44次下載
    <b class='flag-5'>ESP8266</b>-NodeMCU

    ESP8266 wifi模塊開(kāi)發(fā)匯總

    ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ESP8266 wifi模塊開(kāi)發(fā)匯總?ESP8266 wifi模塊開(kāi)發(fā)匯總本文檔主要介紹開(kāi)發(fā)者在ESP8266開(kāi)發(fā)中常見(jiàn)的一些問(wèn)題。 這些
    發(fā)表于 11-05 19:21 ?190次下載
    <b class='flag-5'>ESP8266</b> wifi模塊開(kāi)發(fā)匯總

    ESP8266

    優(yōu)點(diǎn)1.性能穩(wěn)定ESP8266EX 的工作溫度范圍大,且能夠保持穩(wěn)定的性能,能適應(yīng)各種操作環(huán)境。2.低功耗ESP8266EX 專(zhuān)為移動(dòng)設(shè)備、可穿戴電子產(chǎn)品和物聯(lián)網(wǎng)應(yīng)用而設(shè)計(jì),通過(guò)多項(xiàng)專(zhuān)有技術(shù)實(shí)現(xiàn)了
    發(fā)表于 11-07 10:36 ?26次下載
    <b class='flag-5'>ESP8266</b>

    ESP8266】接入bl

    ESP8266】接入bl
    發(fā)表于 12-08 13:36 ?10次下載
    【<b class='flag-5'>ESP8266</b>】接入bl

    ESP8266學(xué)習(xí)之路——環(huán)境部署

    文章目錄前言ESP8266SDK前言ESP8266SDK官方鏈接
    發(fā)表于 12-22 18:47 ?30次下載
    <b class='flag-5'>ESP8266</b>學(xué)習(xí)之路——環(huán)境部署

    ESP8266使用教程之初識(shí)

    一.ESP8266介紹? 這里將會(huì)使用正點(diǎn)原子的 ATK-ESP8266 為例,來(lái)說(shuō)明 ESP8266 的使用。? 該模塊上面板載了安可信的公司的 ESP8266 模塊,ATK-
    發(fā)表于 01-04 18:59 ?80次下載
    <b class='flag-5'>ESP8266</b>使用教程之初識(shí)

    ESP8266 WIFI模擬GPS時(shí)鐘信號(hào)

    電子發(fā)燒友網(wǎng)站提供《ESP8266 WIFI模擬GPS時(shí)鐘信號(hào).zip》資料免費(fèi)下載
    發(fā)表于 08-04 14:33 ?17次下載
    <b class='flag-5'>ESP8266</b> WIFI模擬GPS時(shí)鐘<b class='flag-5'>信號(hào)</b>

    ESP8266硬件

    目前市面上有關(guān)ESP8266模組有很多的種類(lèi),但是都是使用的樂(lè)鑫公司開(kāi)發(fā)的ESP8266的wifi模組,而且種類(lèi)也很多。
    的頭像 發(fā)表于 02-10 14:25 ?5976次閱讀
    <b class='flag-5'>ESP8266</b>硬件

    nodemcu和esp8266是什么關(guān)系?

    nodemcu和esp8266是什么關(guān)系 nodemcu和esp8266是什么關(guān)系?通俗理解就是nodemcu是一個(gè)開(kāi)發(fā)板,基于esp8266的開(kāi)發(fā)板。 目前市面上搭載有ESP8266
    的頭像 發(fā)表于 10-20 14:53 ?4980次閱讀
    nodemcu和<b class='flag-5'>esp8266</b>是什么關(guān)系?