微控制器紅外遙控格力空調

2021-09-02 12:34:54 字數 2198 閱讀 6437

紅外置收頭輸出的電平:

0的電平寬度為:600us低電平+600us高電平

1的電平寬度為:600us低電平+1700us高電平(1600更改為1700)

起始碼s電平寬度為:9000us低電平+4500us高電平

連線碼c電平寬度為:600us低電平+20000us高電平

37.9khz的載波週期是指紅外發射二極體的發光頻率為37.9khz。

由於任何物體都會發射紅外線,所以紅外通訊需要抗干擾,紅外置收頭被調整為只接收發光頻率為37.9khz左右的紅外光。

實際上就是37.9khz的pwm驅動紅外管發射,並且其有效電平佔比為25%~33%。如果紅外發射管是高電平發光,那麼高電平就是有效電平。

紅外二極體被37.9khz,有效電平佔比為30%的pwm驅動發光,這時候被紅外置收頭接收到,紅外置收頭就會發出低電平。沒收到訊號就會發高電平訊號。

訊號組成:起始訊號+35位資料+連線訊號+32位資料+結束訊號。結束訊號和連線訊號一樣

每乙個位元組都是倒序傳送的,例如制熱,開,自動風速。那麼第一位元組資料被紅外置收頭接收到的訊號依次是00110000,但是制熱模式是4,是100,實際在位元組裡的排列為00001100,所以倒序傳送可解決該問題。

我用的是stm32,使用定時器3產生37.9khz的pwm。

高電平為有效電平

tim_setcompare2(tim3,570);//傳送低電平訊號。高電平佔比:1900x30%=570

tim_setcounter(tim2, 0);while(tim_getcounter(tim2)<900); //等待9000us

tim_setcompare2(tim3,0);//傳送高電平訊號。紅外二極體不發光

tim_setcounter(tim2, 0);while(tim_getcounter(tim2)<450);//等待4500us

//pwm部分**

tim_timebaseinitstructure.tim_period = 1900-1;

tim_timebaseinitstructure.tim_prescaler = 1-1; //不分頻

tim_timebaseinitstructure.tim_clockdivision = 0;//設定時鐘分割:tdts = tck_tim

tim_timebaseinitstructure.tim_countermode = tim_countermode_up; //tim向上計數模式

tim_timebaseinit(tim3, & tim_timebaseinitstructure);

空調碼的計算與傳送

u8 fsc=0;

u8 fsdat[5];//前35位

u8 fsdat2[4];//後32位

//mode 0~4,run 0~1,wind 0~3,wod wlr 0~1,wd 0~14

void airc(u8 mode,u8 run,u8 wind,u8 wod,u8 wlr,u8 wd)

for(i=0;i<32;i++)

//起始碼

tim_setcompare2(tim3,570);tim_setcounter(tim2, 0);while(tim_getcounter(tim2)<900);

tim_setcompare2(tim3,0);tim_setcounter(tim2, 0);while(tim_getcounter(tim2)<450);

for(i=0;i<35;i++)

else

} //連線碼

tim_setcompare2(tim3,570);tim_setcounter(tim2, 0);while(tim_getcounter(tim2)<60);

tim_setcompare2(tim3,0);tim_setcounter(tim2, 0);while(tim_getcounter(tim2)<2000);

for(i=0;i<32;i++)

else

} tim_setcompare2(tim3,570);tim_setcounter(tim2, 0);while(tim_getcounter(tim2)<60);

tim_setcompare2(tim3,0);tim_setcounter(tim2, 0);while(tim_getcounter(tim2)<2000);

}

就是這樣

格力空調紅外編碼

2016年11月04日 13 13 19 閱讀數 5516 格力空調遙控器 yb0f2 紅外碼組成如下,按解碼順序排列 起始碼 s 35位資料碼 連線碼 c 32位資料碼 1 各種編碼的電平寬度 資料碼由 0 1 組成 0的電平寬度為 600us低電平 600us高電平,1的電平寬度為 600us低...

格力空調紅外編碼分析

最近乙個月一直在弄智慧型家居的東西,從最底層的硬體開始,找資料,學著用altium designer畫電路圖,pcb打樣,再到電子元器件採購和焊接,中間出了些問題,也學到很多東西。不廢話了,這裡主要分析一下紅外編碼的問題。紅外遙控器大家肯定都很熟悉,也知道一般的紅外訊號都是38khz調製訊號,但是紅...

51微控制器 紅外遙控

紅外遙控系統主要由紅外發射裝置和紅外置收裝置構成。紅外發射裝置主要由鍵盤電路 紅外編碼晶元 電源和紅外發射電路組成 比如遙控器 如圖 紅外置收裝置主要由紅外置收電路 紅外解碼晶元 電源和應用電路組成,在微控制器開發板上有紅外置收電路,而且微控制器充當解碼晶元。人的眼睛能看到的可見光按波長從長到短排列...