日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

和12岁小同志搞创客开发:手撕代码,做一款遥控灯

發布時間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 和12岁小同志搞创客开发:手撕代码,做一款遥控灯 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

機緣巧合在網上認識一位12歲小同志,從零開始系統輔導其創客開發思維和技巧。

項目專欄:https://blog.csdn.net/m0_38106923/category_11097422.html?


本篇博文是創客開發:手撕代碼篇的最后一節,項目在之前使用Mind+編程中講到過:和12歲小同志搞創客開發:如何驅動紅外遙控器?

這次將通過代碼的方式進一步理解紅外遙控器的使用。

我們知道家里的那些遙控器,不管是電視還是空調都是通過紅外來控制的,我們這次也通過紅外來做個遙控燈。

在開始之前,先來個預熱實驗,通過串口來了解下如何使用紅外接收管和遙控器。

項目連線效果如下所示:

驅動程序如下所示:

#include <IRremote.h>int RECV_PIN = 10;IRrecv irrecv(RECV_PIN);decode_results results;void setup()
{Serial.begin(9600);irrecv.enableIRIn(); // Start the receiver
}void loop() {if (irrecv.decode(&results)) {Serial.println(results.value, HEX);irrecv.resume(); // Receive the next value}
}

下載完成后,打開Arduino IDE的串口監視器(Serial Monitor),設置波特率baud為:9600,與代碼中Serial.begin(9600)相匹配。

設置完后,用Mini遙控器的按鈕對著紅外接收管的方向,任意按個按鈕,都能在串口監視器上看到相對應的代碼。如下圖所示,按數字“0”,接收到對應16進制的代碼是FD30CF。每個按鈕都有一個特定的16進制的代碼。

如果按住常按一個鍵不放就是出現“FFFFFFFF”。

在串口中,正確接收的話,應該收到以FD開頭的六位數。如果遙控器沒有對準紅外接收管的話,可能會接收到錯誤的代碼。如下圖所示:

預熱完之后,我們言歸正傳,開始制作遙控燈。硬件設備其實就是在原有的基礎上,加了個LED燈,效果如下圖所示:

實現代碼如下所示:

#include <IRremote.h>           //調用IRremote.h庫
int RECV_PIN = 10;              //定義RECV_PIN變量為10    
int ledPin = 3;                // LED – digital 3
boolean ledState = LOW;         // ledstate用來存儲LED的狀態
IRrecv irrecv(RECV_PIN);        //設置RECV_PIN(也就是11引腳)為紅外接收端
decode_results results;         //定義results變量為紅外結果存放位置void setup(){Serial.begin(9600);          //串口波特率設為9600irrecv.enableIRIn();          //啟動紅外解碼pinMode(ledPin,OUTPUT);       // 設置LED為輸出狀態
}void loop() {//是否接收到解碼數據,把接收到的數據存儲在變量results中if (irrecv.decode(&results)) {  //接收到的數據以16進制的方式在串口輸出   Serial.println(results.value, HEX);//一旦接收到電源鍵的代碼, LED翻轉狀態,HIGH變LOW,或者LOW變HIGHif(results.value == 0xFD00FF){ledState = !ledState;             //取反      digitalWrite(ledPin,ledState);    //改變LED相應狀態        }     irrecv.resume();  // 繼續等待接收下一組信號}
}

在這里,我們多定義了一個變量ledState,通過名字應該就可以看出來含義了,用來存儲LED的狀態的,由于LED狀態就兩種(1或者0),所以我們使用boolean變量類型。

setup()函數中,對使用串口,啟動紅外解碼,數字引腳模式進行設置。

到了主函數loop(),一開始還是先判斷是否接收到紅外碼,并把接收到的數據存儲在變量results中。

if (irrecv.decode(&results))

一旦接收到數據后,程序就要做兩件事。第一件事,判斷是否接收到了電源鍵的紅外碼。

if(results.value == 0xFD00FF)

第二件事,就是讓LED改變狀態。

ledState = !ledState;             //取反      
digitalWrite(ledPin,ledState);    //改變LED相應狀態   

最后,繼續等待下一組信號。

irrecv.resume();  // 繼續等待接收下一組信號

總結

以上是生活随笔為你收集整理的和12岁小同志搞创客开发:手撕代码,做一款遥控灯的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线亚洲观看 | 日本黄色大片网站 | 国产91色在线 | a∨鲁丝一区鲁丝二区鲁丝三区 | 精品三级av| 中文字幕二区 | 午夜影院在线 | 91麻豆精品一区二区三区 | 国产黑丝精品 | 婷婷成人综合 | 日韩国产精品一区二区三区 | 免费看美女被靠到爽的视频 | 国产在线视频一区二区 | 亚洲aaaaa特级| 三区在线 | 尤物自拍| 欧美亚洲色综久久精品国产 | 日韩精品一区二区三区免费视频 | 色老头一区二区三区在线观看 | www.成人在线 | 免费观看h片 | 国产黄色三级 | 337p日本欧洲亚洲大胆张筱雨 | jizz日本免费 | 白嫩少妇激情无码 | 国产成人精品999在线观看 | 天天视频色 | 国产中文字幕乱人伦在线观看 | 精品免费久久久 | 中国 免费 av | 亚洲国产欧美视频 | 久草资源网站 | 欧美熟妇久久久久 | 男女男精品视频网站 | 激情五月网站 | 最新精品国产 | 色呦呦呦呦| 天天射,天天干 | 黄a网站| 91插插插插插插插插 | 九色激情网 | 热久久精 | 91久久久久久久久 | 扒下小娇妻的内裤打屁股 | 日韩一二三级 | 91禁在线看| 日韩一二三区在线观看 | 欧美一级片播放 | 网友自拍咪咪爱 | 久久国| 国产一二区在线观看 | 日韩第一页 | 男人午夜天堂 | 国产成人激情视频 | 91视频播放 | 美国美女黄色片 | 偷拍亚洲视频 | 手机在线免费视频 | 中文字幕人成人乱码亚洲电影 | 一区av在线 | 九色91| wwwav网站| 亚洲国产97在线精品一区 | 精品乱码一区二区三区 | 欧美巨大荫蒂茸毛毛人妖 | 国产精品免费入口 | 中文乱码人妻一区二区三区视频 | 欧美高清精品 | 久久久网 | 91美女视频网站 | 无码乱人伦一区二区亚洲 | 国产免费一区二区三区最新不卡 | 日韩在线不卡视频 | 麻豆精品91 | 中文字幕二区三区 | 久久成人一区 | 屁屁影院国产第一页 | a久久久久 | 国产综合视频一区二区 | 亚州国产精品视频 | 中文字幕av资源 | 波多野结衣在线一区 | 亚洲激情综合网 | 美女扒开内裤让男人桶 | 国产精品成人久久久久久久 | 欧美视频在线观看一区二区 | 麻豆视频软件 | 91视频 - 88av | 色女人综合 | 国产精品久久久久久久av福利 | 精品久久久久久久久中文字幕 | 免费男女视频 | 国产chinasex对白videos麻豆 | 色久天堂 | 久久黄页| 男女日批在线观看 | 国产国产乱老熟女视频网站97 | 日韩av一区二区在线播放 | 经典三级在线视频 |