摘要:開關(guān)旋鈕電位器的實(shí)驗(yàn)視頻已經(jīng)購買開發(fā)版的同學(xué)開始上課來一場緊張刺激的之旅吧前言開發(fā)工具的下載安裝使用都很簡單我這里就不贅述了附上官方的說明跟著步驟來十分鐘搞定相關(guān)連接下載官方為什么成為開發(fā)函數(shù)
開關(guān)+led+旋鈕電位器的實(shí)驗(yàn)視頻
已經(jīng)購買Arduino開發(fā)版的同學(xué),開始上課~來一場緊張刺激的hello Arduino之旅吧~
開發(fā)工具的下載,安裝,使用都很簡單,我這里就不贅述了,附上官方的說明,跟著步驟來,十分鐘搞定~
通過開關(guān),來控制整體的通電功能
通過旋鈕電位器實(shí)現(xiàn)燈的亮度
開關(guān)燈的時(shí)候,使用呼吸的方式
開關(guān)燈的時(shí)候,根據(jù)旋鈕電位器當(dāng)前的位置來決定最高亮度
異步做開關(guān)監(jiān)聽
開燈關(guān)燈無異常
本實(shí)驗(yàn)中,對開關(guān)沒有使用電阻,而是采用的高拉電阻的方式.通過這種方式,并且采用死循環(huán)卡點(diǎn)方式,實(shí)現(xiàn)類似于監(jiān)聽開關(guān)按鈕的能力.
普通電阻功能: 當(dāng)開關(guān)不按下去的時(shí)候,開關(guān)處于低電荷情況,按下去時(shí),處于高電荷.
不帶電阻功能: 開關(guān)不管是否按下去,都處于不穩(wěn)定電荷狀態(tài).
高拉電阻功能: 開關(guān)不按下去,開關(guān)穩(wěn)定處于高電荷位,按下去后,使之變?yōu)楦唠姾晌?
末尾白色led燈為rgb三色燈,放在4號(hào)引腳,4號(hào)引腳沒有pwm功能,不支持呼吸.黃色5號(hào)引腳,紅色9號(hào)引腳,綠色10號(hào)引腳.
提供PWM功能的引腳為3、5、6、9、10、11。 亮度取值范圍0~255
白色燈自由閃爍,不做特殊處理,黃色,紅色,綠色燈使用pwm功能,讓亮度產(chǎn)生一個(gè)漸變過程,從而達(dá)到類似于呼吸的功能.
通過讀取旋鈕電位器的阻值,通過比例轉(zhuǎn)換為亮度.然后對led燈做修改亮度操作,達(dá)到旋鈕控制亮度的功能.
Arduino 模擬輸入功能有10位精度,即可以將0~5V的電壓信號(hào)轉(zhuǎn)換為0~1023的整數(shù)形式表示。
/* * 開關(guān)控制燈 開和關(guān) * * 通過旋鈕電位器來控制燈的亮度. * * 通過呼吸的方式將燈緩慢開啟 和 緩慢關(guān)閉. * */// 設(shè)置各引腳別名const int buttonPin = 2; // 連接按鍵的引腳const int ledPin[3] = {6,9,10}; // 連接LED 具有 PWM功能的引腳 const int ledPin2 = 4; // 白色rgb三色閃爍ledconst int pot=A0; //旋鈕電位器引腳int fadeValueMax = 255; //最大亮度// 變量定義//int buttonState = 0; // 存儲(chǔ)按鍵狀態(tài)的變量boolean ledState=false; // 記錄LED狀態(tài)boolean buttonState=true; // 記錄按鍵狀態(tài)/** * 程序執(zhí)行之前都會(huì)先執(zhí)行該方法 */void setup() { // 初始化LED引腳為輸出狀態(tài) for(int i=0; i<3; i++){ pinMode(ledPin[i], OUTPUT); } pinMode(ledPin2, OUTPUT); // 監(jiān)聽9600 串口 Serial.begin(9600); // 初始化按鍵引腳為輸入狀態(tài) pinMode(buttonPin, INPUT_PULLUP); }/** * 程序會(huì)一直循環(huán)的調(diào)用該方法 */void loop(){ //按照比例計(jì)算當(dāng)前的最大亮度 fadeValueMax = analogRead(pot)/4; //如果當(dāng)前按鈕處于高電荷狀態(tài),就一直循環(huán)該方法,實(shí)現(xiàn)類似于監(jiān)聽功能 while(digitalRead(buttonPin)==HIGH){ if(ledState){ //如果當(dāng)前l(fā)ed處于開啟狀態(tài),讓旋鈕電位器控制led的亮度 int fadeValue = analogRead(pot)/4; analogWrite(ledPin[0], fadeValue); analogWrite(ledPin[1], fadeValue); analogWrite(ledPin[2], fadeValue); Serial.println(fadeValue); //稍稍停一下,防止太快發(fā)生意想不到的問題 delay(50); } } // 當(dāng)按鍵按下時(shí),點(diǎn)亮或熄滅LED if(ledState==true){ //如果當(dāng)前處于亮燈狀態(tài),就讓所有設(shè)備處于低電荷狀態(tài) digitalWrite(ledPin2,LOW); delay(1000);// digitalWrite(ledPin[0],LOW); //呼吸的方式關(guān)閉led燈 int i = fadeValueMax; do{ analogWrite(ledPin[0], i); i= i - 5; delay(30); }while(i>=0); delay(1000);// digitalWrite(ledPin[1],LOW); i = fadeValueMax; do{ analogWrite(ledPin[1], i); i= i - 5; delay(30); }while(i>=0); delay(1000);// digitalWrite(ledPin[2],LOW); i = fadeValueMax; do{ analogWrite(ledPin[2], i); i= i - 5; delay(30); }while(i>=0); delay(1000); //狀態(tài)取反 ledState=!ledState; } else { //如果當(dāng)前是關(guān)閉狀態(tài),就讓所有設(shè)備處于高電荷狀態(tài) // digitalWrite(ledPin[2],HIGH); //呼吸的方式緩慢開啟led燈 int i = 5; while(i<=fadeValueMax){ analogWrite(ledPin[2], i); i= i+ 5; delay(30); } delay(30);// digitalWrite(ledPin[1],HIGH); i = 0; while(i<=fadeValueMax){ analogWrite(ledPin[1], i); i= i+ 5; delay(30); } delay(30); digitalWrite(ledPin[0],HIGH); i = 0; while(i<=fadeValueMax){ analogWrite(ledPin[0], i); i= i+ 5; delay(30); } delay(1000); digitalWrite(ledPin2,HIGH);//// i = 0;// analogWrite(ledPin2, i);// while(i<255){// i+=5;// delay(30);// } delay(1000); //狀態(tài)取反 ledState=!ledState; } delay(500);}
光說不練假把式,記得練習(xí)哦~
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/119227.html
摘要:寫一個(gè)正則表達(dá)式來測試變量中是否包含字符串。用函數(shù)給出不使用字符,但和等價(jià)的正則表達(dá)式。第十四課標(biāo)志全局匹配標(biāo)志第二個(gè)常用的標(biāo)志是全局匹配標(biāo)志,用字母表示。寫出一個(gè)正則表達(dá)式來檢驗(yàn)合法性。非捕獲組的主要用途是給一個(gè)組賦予量詞。 TRY REGEX 是一個(gè)交互式的正則表達(dá)式學(xué)習(xí)項(xiàng)目項(xiàng)目地址:https://github.com/callumacra...在線地址:http://tryre...
摘要:之前寫了一個(gè)電商爬蟲系列的文章,簡單的給大家展示了一下爬蟲從入門到進(jìn)階的路徑,但是作為一個(gè)永遠(yuǎn)走在時(shí)代前沿的科技工作者,我們從來都不能停止。金融數(shù)據(jù)實(shí)在是價(jià)值大,維度多,來源廣。由于也是一種,因此通常來說,在中抽取某個(gè)元素是通過來做的。 相關(guān)教程: 手把手教你寫電商爬蟲-第一課 找個(gè)軟柿子捏捏 手把手教你寫電商爬蟲-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁商品采集爬蟲 手把手教你寫電商爬蟲-第三課 實(shí)戰(zhàn)...
摘要:之前寫了一個(gè)電商爬蟲系列的文章,簡單的給大家展示了一下爬蟲從入門到進(jìn)階的路徑,但是作為一個(gè)永遠(yuǎn)走在時(shí)代前沿的科技工作者,我們從來都不能停止。金融數(shù)據(jù)實(shí)在是價(jià)值大,維度多,來源廣。由于也是一種,因此通常來說,在中抽取某個(gè)元素是通過來做的。 相關(guān)教程: 手把手教你寫電商爬蟲-第一課 找個(gè)軟柿子捏捏 手把手教你寫電商爬蟲-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁商品采集爬蟲 手把手教你寫電商爬蟲-第三課 實(shí)戰(zhàn)...
摘要:通知由于本周六場地申請沒通過,所以本周的培訓(xùn)臨時(shí)取消。下載后直接雙擊該文件,進(jìn)入下一步,下一步,一切按照默認(rèn)走。注意,如果輸入出現(xiàn)不是命令的錯(cuò)誤,請把的目錄加入環(huán)境變量比如 通知:由于本周六場地申請沒通過,所以本周的培訓(xùn)臨時(shí)取消。 今天給大家?guī)淼氖茿ndroid入門的第一課,由于教室申請的不確定性,因此,每次培訓(xùn)的內(nèi)容都會(huì)在博客先提前釋放出來。首先Android的APP是基于Java...
閱讀 3101·2021-10-13 09:40
閱讀 3954·2021-09-22 15:51
閱讀 1501·2021-09-22 15:48
閱讀 1068·2021-09-06 15:00
閱讀 1793·2019-08-30 15:43
閱讀 2363·2019-08-29 18:35
閱讀 1674·2019-08-29 16:18
閱讀 3618·2019-08-29 12:49