欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
Arduino教程 Lesson 3:做一個(gè)S.O.S求救信號燈
簡(jiǎn)單回顧下Lesson 2的內容:

  • 如何使用面包板
  • 電阻的作用
  • LED相關(guān)知識


STEP 1:還原Lesson 2的硬件電路


這次將繼續使用Lesson 2的搭建的電路,但我們這里將改變一下代碼,就能讓LED變?yōu)镾.O.S求救信號了。這是國際莫爾斯碼求救信號。莫爾斯碼是一種字符編碼,英文的每個(gè)字母,都是由橫杠和點(diǎn)不同的組合而成。這樣的好處是,使用簡(jiǎn)單的兩種狀態(tài),就能來(lái)傳遞所有的字母和數字,非常的簡(jiǎn)便!

可以通過(guò)LED開(kāi)關(guān)兩種狀態(tài)來(lái)拼出一個(gè)個(gè)字母。長(cháng)閃爍和短閃爍來(lái)表示點(diǎn)和橫杠。就拼寫(xiě)S.O.S這三個(gè)字母。

通過(guò)查閱莫爾斯碼表,可以知道,字母“S”用三個(gè)點(diǎn)表示,我們這里用短閃爍替代,字母“O”則用三個(gè)橫杠表示,用長(cháng)閃爍替代。

有Lesson 1 和Lesson 2的基礎,不難理解下面這段代碼吧!
  1. int ledPin = 10;
  2. void setup() {
  3.         pinMode(ledPin, OUTPUT);
  4. }
  5. void loop() {
  6.         // 三個(gè)快閃爍來(lái)表示字母“S”
  7.         digitalWrite(ledPin,HIGH);
  8.         delay(150);
  9.         digitalWrite(ledPin,LOW);
  10.         delay(100);
  11.         
  12.         digitalWrite(ledPin,HIGH);
  13.         delay(150);
  14.         digitalWrite(ledPin,LOW);
  15.         delay(100);

  16.         digitalWrite(ledPin,HIGH);
  17.         delay(150);
  18.         digitalWrite(ledPin,LOW);
  19.         delay(100);

  20.         //三個(gè)短閃爍來(lái)表示字母“O”
  21.         digitalWrite(ledPin,HIGH);
  22.         delay(400);
  23.         digitalWrite(ledPin,LOW);
  24.         delay(100);

  25.         digitalWrite(ledPin,HIGH);
  26.         delay(400);
  27.         digitalWrite(ledPin,LOW);
  28.         delay(100);

  29.         digitalWrite(ledPin,HIGH);
  30.         delay(400);
  31.         digitalWrite(ledPin,LOW);
  32.         delay(100);

  33.         //再用三個(gè)快閃爍來(lái)表示字母“S”
  34.         digitalWrite(ledPin,HIGH);
  35.         delay(150);
  36.         digitalWrite(ledPin,LOW);
  37.         delay(100);
  38.         
  39.         digitalWrite(ledPin,HIGH);
  40.         delay(150);
  41.         digitalWrite(ledPin,LOW);
  42.         delay(100);

  43.         digitalWrite(ledPin,HIGH);
  44.         delay(150);
  45.         digitalWrite(ledPin,LOW);
  46.         delay(100);
  47. }
復制代碼

STEP 2:輸入代碼

上面的寫(xiě)法固然正確,可是是不是覺(jué)得有點(diǎn)繁瑣呢?如果有個(gè)100個(gè),難不成還重復100遍嗎?有沒(méi)有更好的書(shū)寫(xiě)程序的方法呢?想必發(fā)明編程的人也考慮到這個(gè)問(wèn)題了,所以有了我們更好的一種寫(xiě)法。我們先來(lái)看一下下面這段代碼。
  1. int ledPin = 10;
  2. void setup() {
  3.         pinMode(ledPin, OUTPUT);
  4. }
  5. void loop() {
  6.         // 三個(gè)快閃爍來(lái)表示字母“S”
  7.        for(int x=0;x<3;x++){
  8.                digitalWrite(ledPin,HIGH);            //設置LED 為開(kāi)
  9.                delay(150);                           //延時(shí)150毫秒
  10.                digitalWrite(ledPin,LOW);             //設置LED 為關(guān)
  11.                delay(100);                           //延時(shí)100毫秒
  12.        }
  13.       
  14.         //100毫秒延時(shí)產(chǎn)生字母之間的間隙
  15.         delay(100);

  16.          //三個(gè)短閃爍來(lái)表示字母“O”
  17.          for(int x=0;x<3;x++){
  18.                 digitalWrite(ledPin,HIGH);            //設置LED 為開(kāi)
  19.                 delay(400);                           //延時(shí)400毫秒
  20.                 digitalWrite(ledPin,LOW);             //設置LED 為關(guān)
  21.                 delay(100);                           //延時(shí)100毫秒
  22.           }

  23.           //100毫秒延時(shí)產(chǎn)生字母之間的間隙
  24.           delay(100);

  25.           // 再用三個(gè)快閃爍來(lái)表示字母“S”
  26.           for(int x=0;x<3;x++){
  27.                   digitalWrite(ledPin,HIGH);            //設置LED 為開(kāi)
  28.                   delay(150);                           //延時(shí)150毫秒
  29.                   digitalWrite(ledPin,LOW);             //設置LED 為關(guān)
  30.                   delay(100);                           //延時(shí)100毫秒
  31.             }

  32.            // 在重復S.0.S信號前等待5秒
  33.            delay(5000);
  34. }
復制代碼
在輸入代碼的時(shí)候,注意保持代碼的一個(gè)層次感,除了美觀(guān)外,也便于你日后檢查代碼。確認正確后,下載代碼到Arduino中,如果一切順利的話(huà),我們將看到LED閃爍出莫爾斯碼S.O.S信號,等待5秒。重復閃爍。給Arduino外接電池,整個(gè)裝到防水的盒子里,就可以用來(lái)發(fā)S.O.S信號了。S.O.S通常用于航?;蛘叩巧?。我們接著(zhù)來(lái)分析下代碼。


代碼回顧

代碼的第一部分與Lesson 2是完全一樣的。設置數字引腳10的模式為輸出模式。在主函數loop()中,你可以看到與上一個(gè)課中類(lèi)似的語(yǔ)句用來(lái)控制LED的開(kāi)和關(guān),并保持一段時(shí)間。然而,這次不同的是,主函數包含了三個(gè)獨立的代碼段。

第一段代碼是輸出是三個(gè)點(diǎn):
  1.     for(int x=0;x<3;x++){
  2.      digitalWrite(ledPin,HIGH);            //設置LED 為開(kāi)
  3.      delay(150);                           //延時(shí)150毫秒
  4.      digitalWrite(ledPin,LOW);             //設置LED 為關(guān)
  5.      delay(100);                           //延時(shí)100毫秒
  6.        }
復制代碼

LED開(kāi)關(guān)的語(yǔ)句是包含在一對花括號內的,因此為一組代碼段。必須說(shuō)明的,花括號必須成對出現,如有遺留編譯器編譯時(shí)將不通過(guò)。我是這么干的,在開(kāi)始寫(xiě)花括號的時(shí)候,就先把“{”“}”都寫(xiě)上,之后再在兩個(gè)括號之間輸入代碼,這樣就不會(huì )出現寫(xiě)到最后括號對應不上的情況。

當程序運行后,我們可以看到,燈閃了3次而不是只閃了1次。產(chǎn)生這樣效果的是因為使用了for循環(huán)。for語(yǔ)句通常在程序中用作循環(huán)使用。



for循環(huán)順序如下:
   第一輪:1 --> 2 -->3 --> 4
   第二輪:2 --> 3 --> 4
   …
   直到2不成立,for循環(huán)結束。


來(lái)看下我們程序中的for循環(huán):
  1. for(int x=0;x<3;x++){
  2.       ……
  3. }
復制代碼
第一步:x開(kāi)始為0;

第二步:判斷x是否小于3。
第三步:判斷第二步成立,for循環(huán)中執行LED開(kāi)與關(guān)。
第四步:x自加,變?yōu)?。

這里有個(gè)x++,這是什么意思呢?
x++這句話(huà)表示把x的值增加1,等同于寫(xiě)成x=x+1,也就是把x當前的值變?yōu)閤+1。


第五步:回到第二步,此時(shí)x=2,判斷是否小于3。
第六步:重復第三步。
……

直到x循環(huán)到3時(shí),判斷x<3不成立,自動(dòng)跳出for循環(huán),程序繼續往下走。

現在知道for循環(huán)是如何運作吧!我們代碼中有3個(gè)for循環(huán):第一個(gè)for循環(huán)3次,長(cháng)閃爍3次,代表字母“S”。第二個(gè)for循環(huán)同樣循環(huán)3次,短閃爍3次,也就是字母“0”。第三個(gè)for循環(huán)又來(lái)輸出個(gè)“S”。

在每for循環(huán)之間有個(gè)小延時(shí)100毫秒,是S.O.S字母之間有個(gè)清晰的停頓說(shuō)明。最后,在回到主函數loop重新執行一遍之前,有個(gè)相對較長(cháng)的延時(shí),為5秒。

好了,我們S.O.S信號源項目就算告一個(gè)段落了。有所收獲嗎?


可以做些其他的事

有了一定的基礎,現在做個(gè)課后習題吧~做個(gè)交通信號燈,下圖是整個(gè)一個(gè)運行過(guò)程,虛線(xiàn)框的是程序循環(huán)的部分。

提示:上面我們是只點(diǎn)亮的一個(gè)LED燈,現在需要點(diǎn)亮三個(gè)LED燈。電路連接的原理是和一個(gè)燈相同,程序中需要改變的用三個(gè)數字口來(lái)分別控制3個(gè)LED燈。自己動(dòng)手試一下吧!


本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
Arduino教程 2 LED燈閃爍
LabVIEW編程進(jìn)階:實(shí)現交通信號燈示例
用App Inventor藍牙控制Arduino的LED燈開(kāi)關(guān)
搭建第一個(gè)程序控制電路LED燈,體會(huì )C語(yǔ)言的魅力
自己動(dòng)手打造家庭安保系統
輪流變換方向的流水燈
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久