成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

第一課:超級(jí)hello Arduino.使用多種知識(shí)串聯(lián)一個(gè)入門小項(xiàng)目,很適合初學(xué)第一課喲.

philadelphia / 1076人閱讀

摘要:開(kāi)關(guān)旋鈕電位器的實(shí)驗(yàn)視頻已經(jīng)購(gòu)買開(kāi)發(fā)版的同學(xué)開(kāi)始上課來(lái)一場(chǎng)緊張刺激的之旅吧前言開(kāi)發(fā)工具的下載安裝使用都很簡(jiǎn)單我這里就不贅述了附上官方的說(shuō)明跟著步驟來(lái)十分鐘搞定相關(guān)連接下載官方為什么成為開(kāi)發(fā)函數(shù)

開(kāi)關(guān)+led+旋鈕電位器的實(shí)驗(yàn)視頻

已經(jīng)購(gòu)買Arduino開(kāi)發(fā)版的同學(xué),開(kāi)始上課~來(lái)一場(chǎng)緊張刺激的hello Arduino之旅吧~

前言

開(kāi)發(fā)工具的下載,安裝,使用都很簡(jiǎn)單,我這里就不贅述了,附上官方的說(shuō)明,跟著步驟來(lái),十分鐘搞定~

相關(guān)連接

  • ide下載:https://www.arduino.cn/thread-5838-1-1.html
  • 官方hello world:https://www.arduino.cn/thread-76154-1-1.html
  • 為什么成為Arduino開(kāi)發(fā)?https://www.arduino.cn/thread-5414-1-1.html
  • 函數(shù)參考文檔:https://wiki.arduino.cn/?file=home-%E9%A6%96%E9%A1%B5

實(shí)驗(yàn)內(nèi)容

  • 通過(guò)開(kāi)關(guān),來(lái)控制整體的通電功能

  • 通過(guò)旋鈕電位器實(shí)現(xiàn)燈的亮度

  • 開(kāi)關(guān)燈的時(shí)候,使用呼吸的方式

  • 開(kāi)關(guān)燈的時(shí)候,根據(jù)旋鈕電位器當(dāng)前的位置來(lái)決定最高亮度

  • 異步做開(kāi)關(guān)監(jiān)聽(tīng)

  • 開(kāi)燈關(guān)燈無(wú)異常

    • 目前還有小問(wèn)題,關(guān)燈的時(shí)候無(wú)法完全關(guān)閉,會(huì)有低電荷在led燈里面,有細(xì)微亮點(diǎn).

實(shí)驗(yàn)說(shuō)明

開(kāi)關(guān)

本實(shí)驗(yàn)中,對(duì)開(kāi)關(guān)沒(méi)有使用電阻,而是采用的高拉電阻的方式.通過(guò)這種方式,并且采用死循環(huán)卡點(diǎn)方式,實(shí)現(xiàn)類似于監(jiān)聽(tīng)開(kāi)關(guān)按鈕的能力.

普通電阻功能: 當(dāng)開(kāi)關(guān)不按下去的時(shí)候,開(kāi)關(guān)處于低電荷情況,按下去時(shí),處于高電荷.

不帶電阻功能: 開(kāi)關(guān)不管是否按下去,都處于不穩(wěn)定電荷狀態(tài).

高拉電阻功能: 開(kāi)關(guān)不按下去,開(kāi)關(guān)穩(wěn)定處于高電荷位,按下去后,使之變?yōu)楦唠姾晌?

led燈

末尾白色led燈為rgb三色燈,放在4號(hào)引腳,4號(hào)引腳沒(méi)有pwm功能,不支持呼吸.黃色5號(hào)引腳,紅色9號(hào)引腳,綠色10號(hào)引腳.

提供PWM功能的引腳為3、5、6、9、10、11。 亮度取值范圍0~255

白色燈自由閃爍,不做特殊處理,黃色,紅色,綠色燈使用pwm功能,讓亮度產(chǎn)生一個(gè)漸變過(guò)程,從而達(dá)到類似于呼吸的功能.

旋鈕電位器

通過(guò)讀取旋鈕電位器的阻值,通過(guò)比例轉(zhuǎn)換為亮度.然后對(duì)led燈做修改亮度操作,達(dá)到旋鈕控制亮度的功能.

Arduino 模擬輸入功能有10位精度,即可以將0~5V的電壓信號(hào)轉(zhuǎn)換為0~1023的整數(shù)形式表示。

廢話不多說(shuō),直接上代碼

/* * 開(kāi)關(guān)控制燈 開(kāi)和關(guān) *  * 通過(guò)旋鈕電位器來(lái)控制燈的亮度. *  * 通過(guò)呼吸的方式將燈緩慢開(kāi)啟 和 緩慢關(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)聽(tīng)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)聽(tīng)功能  while(digitalRead(buttonPin)==HIGH){    if(ledState){      //如果當(dāng)前l(fā)ed處于開(kāi)啟狀態(tài),讓旋鈕電位器控制led的亮度      int fadeValue = analogRead(pot)/4;      analogWrite(ledPin[0], fadeValue);      analogWrite(ledPin[1], fadeValue);      analogWrite(ledPin[2], fadeValue);      Serial.println(fadeValue);      //稍稍停一下,防止太快發(fā)生意想不到的問(wèn)題      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);    //呼吸的方式緩慢開(kāi)啟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);}

關(guān)鍵代碼說(shuō)明

  • const 修飾的變量為常量,不能修改哦
  • delay 休眠時(shí)間不可過(guò)長(zhǎng),不然無(wú)法起到監(jiān)聽(tīng)效果.可能會(huì)導(dǎo)致按下開(kāi)關(guān)沒(méi)有反應(yīng).也不可沒(méi)有,否則太快按一次之后,可能會(huì)執(zhí)行方法多次,導(dǎo)致燈狀態(tài)混亂.
  • Serial.begin 監(jiān)聽(tīng)串口,打開(kāi)ide的串口監(jiān)聽(tīng)頁(yè)面,選擇對(duì)應(yīng)波特率,就可以看到相關(guān)輸出了.
  • Serial.println 將要輸出的內(nèi)容輸出到對(duì)應(yīng)的串口上面
  • analogWrite 使用pwm能力,讓燈以特定值亮起來(lái). 最低0 關(guān)閉. 最高255 亮
  • digitalWrite(ledPin[0],HIGH); 將ledPin[0] 引腳位置設(shè)置為高電荷模式, LOW為低電荷模式
  • pinMode(buttonPin, INPUT_PULLUP); 設(shè)置為上拉電阻. INPUT 為普通的輸入模式
  • digitalRead analogRead 讀取對(duì)應(yīng)引腳的數(shù)據(jù)

下課~

光說(shuō)不練假把式,記得練習(xí)哦~

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/119227.html

相關(guān)文章

  • TRY REGEX:正則表達(dá)式交互式入門教程 翻譯&解答

    摘要:寫一個(gè)正則表達(dá)式來(lái)測(cè)試變量中是否包含字符串。用函數(shù)給出不使用字符,但和等價(jià)的正則表達(dá)式。第十四課標(biāo)志全局匹配標(biāo)志第二個(gè)常用的標(biāo)志是全局匹配標(biāo)志,用字母表示。寫出一個(gè)正則表達(dá)式來(lái)檢驗(yàn)合法性。非捕獲組的主要用途是給一個(gè)組賦予量詞。 TRY REGEX 是一個(gè)交互式的正則表達(dá)式學(xué)習(xí)項(xiàng)目項(xiàng)目地址:https://github.com/callumacra...在線地址:http://tryre...

    李義 評(píng)論0 收藏0
  • 互聯(lián)網(wǎng)金融爬蟲(chóng)怎么寫-一課 p2p網(wǎng)貸爬蟲(chóng)(XPath入門

    摘要:之前寫了一個(gè)電商爬蟲(chóng)系列的文章,簡(jiǎn)單的給大家展示了一下爬蟲(chóng)從入門到進(jìn)階的路徑,但是作為一個(gè)永遠(yuǎn)走在時(shí)代前沿的科技工作者,我們從來(lái)都不能停止。金融數(shù)據(jù)實(shí)在是價(jià)值大,維度多,來(lái)源廣。由于也是一種,因此通常來(lái)說(shuō),在中抽取某個(gè)元素是通過(guò)來(lái)做的。 相關(guān)教程: 手把手教你寫電商爬蟲(chóng)-第一課 找個(gè)軟柿子捏捏 手把手教你寫電商爬蟲(chóng)-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁(yè)商品采集爬蟲(chóng) 手把手教你寫電商爬蟲(chóng)-第三課 實(shí)戰(zhàn)...

    kk_miles 評(píng)論0 收藏0
  • 互聯(lián)網(wǎng)金融爬蟲(chóng)怎么寫-一課 p2p網(wǎng)貸爬蟲(chóng)(XPath入門

    摘要:之前寫了一個(gè)電商爬蟲(chóng)系列的文章,簡(jiǎn)單的給大家展示了一下爬蟲(chóng)從入門到進(jìn)階的路徑,但是作為一個(gè)永遠(yuǎn)走在時(shí)代前沿的科技工作者,我們從來(lái)都不能停止。金融數(shù)據(jù)實(shí)在是價(jià)值大,維度多,來(lái)源廣。由于也是一種,因此通常來(lái)說(shuō),在中抽取某個(gè)元素是通過(guò)來(lái)做的。 相關(guān)教程: 手把手教你寫電商爬蟲(chóng)-第一課 找個(gè)軟柿子捏捏 手把手教你寫電商爬蟲(chóng)-第二課 實(shí)戰(zhàn)尚妝網(wǎng)分頁(yè)商品采集爬蟲(chóng) 手把手教你寫電商爬蟲(chóng)-第三課 實(shí)戰(zhàn)...

    jlanglang 評(píng)論0 收藏0
  • Android入門一課之Java環(huán)境搭建

    摘要:通知由于本周六場(chǎng)地申請(qǐng)沒(méi)通過(guò),所以本周的培訓(xùn)臨時(shí)取消。下載后直接雙擊該文件,進(jìn)入下一步,下一步,一切按照默認(rèn)走。注意,如果輸入出現(xiàn)不是命令的錯(cuò)誤,請(qǐng)把的目錄加入環(huán)境變量比如 通知:由于本周六場(chǎng)地申請(qǐng)沒(méi)通過(guò),所以本周的培訓(xùn)臨時(shí)取消。 今天給大家?guī)?lái)的是Android入門的第一課,由于教室申請(qǐng)的不確定性,因此,每次培訓(xùn)的內(nèi)容都會(huì)在博客先提前釋放出來(lái)。首先Android的APP是基于Java...

    tanglijun 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<