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