chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

Arduino交通燈控制器項目教程

454398 ? 來源:網(wǎng)絡整理 ? 作者:網(wǎng)絡整理 ? 2019-12-03 16:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

Arduino紅綠燈是一個有趣的小項目,您可以在一個小時內(nèi)完成構建。這是使用Arduino構建自己的方法,以及如何更改電路以實現(xiàn)高級變體。

如果您希望將其作為視頻教程觀看,我們將向您介紹:

構建Arduino交通燈控制器所需的條件

除了基本的Arduino,還需要:

1個10k歐姆電阻器

1個按鈕開關

6個220歐姆電阻

一塊面包板

連接導線

紅色,黃色和綠色LEDs

只要有足夠的引腳,幾乎任何Arduino都可以用于該項目。如果不確定所需的型號,請確保閱讀我們的Arduino購買指南。您可能已經(jīng)在Arduino入門套件中包含了這些零件。

Arduino交通燈:基礎知識

讓我們從小處入手。一個基本的單一交通信號燈是一個不錯的起點。這是電路:

Arduino交通燈控制器項目教程

將每個LED的陽極(長腳)連接到數(shù)字引腳8、9和10(通過220歐姆電阻器) )。將陰極(短腿)連接到Arduino的地面。

Arduino交通燈的代碼

首先定義變量,以便您可以通過名稱而不是數(shù)字來尋址燈。開始一個新的Arduino項目,并從以下幾行開始:

int red = 10;

int yellow = 9;

int green = 8;

接下來,讓我們添加設置功能,在其中將紅色,黃色和綠色LED配置為輸出。由于您已經(jīng)創(chuàng)建了表示引腳號的變量,因此現(xiàn)在可以按名稱引用引腳了:

void setup(){

pinMode(red, OUTPUT);

pinMode(yellow, OUTPUT);

pinMode(green, OUTPUT);

}

pinMode 函數(shù)可配置Arduino使用給定的引腳作為輸出。您必須這樣做才能使LED完全正常工作?,F(xiàn)在了解交通信號燈的實際邏輯。這是您需要的代碼。在您的變量定義和設置函數(shù)下面添加此代碼:

void loop(){

changeLights();

delay(15000);

}

void changeLights(){

// green off, yellow on for 3 seconds

digitalWrite(green, LOW);

digitalWrite(yellow, HIGH);

delay(3000);

// turn off yellow, then turn red on for 5 seconds

digitalWrite(yellow, LOW);

digitalWrite(red, HIGH);

delay(5000);

// red and yellow on for 2 seconds (red is already on though)

digitalWrite(yellow, HIGH);

delay(2000);

// turn off red and yellow, then turn on green

digitalWrite(yellow, LOW);

digitalWrite(red, LOW);

digitalWrite(green, HIGH);

delay(3000);

}

將此代碼上傳到Arduino,然后運行(確保從選擇正確的板卡和端口工具》 面板和工具》 端口菜單)。您應該有一個每15秒更改一次的工作紅綠燈,如下所示(加快):

讓我們分解一下此代碼。 changeLights 功能執(zhí)行所有艱苦的工作。這樣會將交通信號燈旋轉通過黃色和紅色,然后又變回綠色。當在 loop 函數(shù)內(nèi)部調(diào)用該代碼時,Arduino將永久運行該代碼,每次暫停15秒。

changeLights 函數(shù)由四個不同的步驟組成:

綠色點亮,黃色熄滅

黃色熄滅,紅色點亮

黃色點亮,紅色點亮

綠色點亮,紅色熄滅,黃色熄滅

這四個步驟復制了實際交通信號燈中使用的過程。對于每個步驟,代碼都非常相似。使用 digitalWrite 可以打開或關閉相應的LED。這是一個Arduino函數(shù),用于將輸出引腳設置為HIGH(高)(打開)或LOW(低)(關閉)。

啟用或禁用所需的LED后,延遲使Arduino等待給定的時間。在這種情況下,需要三秒鐘。

更深入:Arduino人行橫道

現(xiàn)在您已經(jīng)了解了基礎知識,請對其進行改進。添加一個按鈕,方便行人在需要時改變燈光:

注意交通信號燈與上一個示例完全相同。將按鈕連接到數(shù)字引腳12。您會注意到該開關上連接了一個高阻10k歐姆電阻,您可能想知道為什么。這是一個下拉電阻。

一個開關允許電流流過或不讓電流流過。這似乎很簡單,但是在邏輯電路中,電流應始終以高或低狀態(tài)(請記住,1或0,HIGH或LOW)流動。您可能會假設沒有被真正按下的按鈕開關處于LOW狀態(tài),但實際上,它被稱為“浮動”狀態(tài),因為根本沒有消耗電流。

在這種浮動狀態(tài)狀態(tài)下,由于電干擾而波動時,可能會出現(xiàn)錯誤的讀數(shù)。換句話說,浮動開關既不能提供可靠的HIGH讀數(shù),也不能提供LOW讀數(shù)。下拉電阻器在開關閉合時保持少量電流流動,從而確保了準確的低態(tài)讀數(shù)。

在其他邏輯電路中,您可能會找到一個上拉電阻器,而這

現(xiàn)在,在代碼的循環(huán)部分中,而不是每隔15秒更改一次燈,您將按照相同的原理工作,但要相反,請確保特定的邏輯門默認為高。而是改為讀取按鈕開關的狀態(tài),并且僅在激活時更改燈光。

Arduino人行橫道代碼

首先添加一個新變量來存儲按鈕銷:

int button = 12; // switch is on pin 12

現(xiàn)在,在設置功能中,添加新行以將開關聲明為輸入。添加一行以將交通燈設置為綠色舞臺。如果沒有此初始設置,它們將關閉,直到第一次 changeLights 運行。

pinMode(button, INPUT);

digitalWrite(green, HIGH);

將整個循環(huán)功能改為以下內(nèi)容:

void loop() {

if (digitalRead(button) == HIGH){

delay(15); // software debounce

if (digitalRead(button) == HIGH) {

// if the switch is HIGH, ie. pushed down - change the lights!

changeLights();

delay(15000); // wait for 15 seconds

}

}

}

應該這樣做。您可能想知道為什么按鈕檢查會發(fā)生兩次( digitalRead(button)),并間隔一小段時間。這在反跳。就像按鈕的下拉電阻一樣,這種簡單的檢查可以停止代碼以檢測按下按鈕時是否受到干擾。

在 if 語句中等待15秒鐘,紅綠燈至少在這段時間內(nèi)不能改變。 15秒后,循環(huán)將重新啟動。每次循環(huán)重新啟動時,它都會再次讀取按鈕的狀態(tài),但是如果不按下按鈕, if 語句將永遠不會激活,指示燈也不會改變,并且程序會再次重新啟動。

這是它的外觀(加速):

帶結的Arduino交通燈

讓我們嘗試更高級的模型。代替人行橫道,將電路更改為具有兩個交通信號燈:

將第二個交通信號燈連接到數(shù)字引腳11、12和13。

帶有連接點的Arduino交通燈的代碼

首先,將新的交通燈引腳分配給變量,并將其配置為輸出,如第一個示例所示:

// light one

int red1 = 10;

int yellow1 = 9;

int green1 = 8;

// light two

int red2 = 13;

int yellow2 = 12;

int green2 = 11;

void setup(){

// light one

pinMode(red1, OUTPUT);

pinMode(yellow1, OUTPUT);

pinMode(green1, OUTPUT);

// light two

pinMode(red2, OUTPUT);

pinMode(yellow2, OUTPUT);

pinMode(green2, OUTPUT);

}

現(xiàn)在,更新循環(huán)以使用第一個示例中的代碼(而不是人行橫道):

void loop(){

changeLights();

delay(15000);

}

再次,所有工作都在 changeLights 功能中進行。該代碼不會代替紅色》 紅色和黃色》 綠色,而是替換交通信號燈。當一個為綠色時,另一個為紅色。這是代碼:

void changeLights(){

// turn both yellows on

digitalWrite(green1, LOW);

digitalWrite(yellow1, HIGH);

digitalWrite(yellow2, HIGH);

delay(5000);

// turn both yellows off, and opposite green and red

digitalWrite(yellow1, LOW);

digitalWrite(red1, HIGH);

digitalWrite(yellow2, LOW);

digitalWrite(red2, LOW);

digitalWrite(green2, HIGH);

delay(5000);

// both yellows on again

digitalWrite(yellow1, HIGH);

digitalWrite(yellow2, HIGH);

digitalWrite(green2, LOW);

delay(3000);

// turn both yellows off, and opposite green and red

digitalWrite(green1, HIGH);

digitalWrite(yellow1, LOW);

digitalWrite(red1, LOW);

digitalWrite(yellow2, LOW);

digitalWrite(red2, HIGH);

delay(5000);

}

這是(加速)外觀:

Arduino紅綠燈的后續(xù)步驟

今天就這些。您對Arduino LED和按鈕的新了解適用于各種不同的項目。如果您想擴展這些交通信號燈,為什么不建一個四通(或更多)路口,并配備許多行人過路處和行人交通信號燈呢?

還是為什么不通過更大的擴展您的新技能DIY MIDI控制器或帶有Xod的Arduino機器人之類的項目?您也可以看看使用VS Code和PlatformIO的Arduino編碼。

責任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 交通燈
    +關注

    關注

    13

    文章

    325

    瀏覽量

    40285
  • Arduino
    +關注

    關注

    190

    文章

    6498

    瀏覽量

    192185
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    智慧路燈核心大腦——路燈單控制器-無線單調(diào)光控制器

    智慧路燈核心大腦——路燈單控制器-無線單調(diào)光控制器
    的頭像 發(fā)表于 05-27 09:52 ?163次閱讀
    智慧路燈核心大腦——路燈單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>-無線單<b class='flag-5'>燈</b>調(diào)光<b class='flag-5'>控制器</b>

    專業(yè)解讀智慧路燈智能照明控制模塊-單控制器

    專業(yè)解讀智慧路燈智能照明控制模塊-單控制器|光伏|
    的頭像 發(fā)表于 04-18 08:37 ?340次閱讀
    專業(yè)解讀智慧路燈智能照明<b class='flag-5'>控制</b>模塊-單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>

    基于NB-IoT單控制器的智慧路燈應用案例及效果分析

    基于NB-IoT單控制器的智慧路燈應用案例及效果分析
    的頭像 發(fā)表于 04-07 15:16 ?383次閱讀
    基于NB-IoT單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>的智慧路燈應用案例及效果分析

    物聯(lián)網(wǎng)單控制器產(chǎn)品簡介

    一、物聯(lián)網(wǎng)單控制器發(fā)展概述 ? 近年來,隨著通信技術的發(fā)展和路燈智慧化需求,單控制器正在從傳統(tǒng)的PLC方案轉向物聯(lián)網(wǎng)方案。相比傳統(tǒng)的PLC單
    的頭像 發(fā)表于 04-03 11:01 ?341次閱讀
    物聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>產(chǎn)品簡介

    物聯(lián)網(wǎng)單控制器 聯(lián)網(wǎng)單控制器

    物聯(lián)網(wǎng)單控制器 聯(lián)網(wǎng)單控制器
    的頭像 發(fā)表于 04-03 10:53 ?362次閱讀
    物聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b> <b class='flag-5'>燈</b>聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>

    控制器是如何控制單盞路燈的

    控制器是如何控制單盞路燈的
    的頭像 發(fā)表于 04-02 11:35 ?299次閱讀

    物聯(lián)網(wǎng)單控制器:路燈單控制更智能,更好用

    物聯(lián)網(wǎng)單控制器:路燈單控制更智能,更好用
    的頭像 發(fā)表于 01-15 16:17 ?605次閱讀
    物聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>:路燈單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>更智能,更好用

    控制:物聯(lián)網(wǎng)單控制器將成為行業(yè)主流

    控制:物聯(lián)網(wǎng)單控制器將成為行業(yè)主流
    的頭像 發(fā)表于 01-15 16:15 ?518次閱讀
    單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>:物聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>將成為行業(yè)主流

    51單片機交通燈仿真

    交通燈直行控制,倒計時時間可調(diào)。資料包含程序源碼和proteus8.6仿真
    發(fā)表于 11-28 14:15 ?15次下載

    創(chuàng)新型智慧桿綜合應用解決方案 路燈單控制器

    創(chuàng)新型智慧桿綜合應用解決方案 路燈單控制器
    的頭像 發(fā)表于 11-13 08:31 ?593次閱讀
    創(chuàng)新型智慧<b class='flag-5'>燈</b>桿綜合應用解決方案 路燈單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>

    一文讀懂單控制器工作原理

    一文讀懂單控制器工作原理
    的頭像 發(fā)表于 11-11 13:13 ?1293次閱讀
    一文讀懂單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>工作原理

    智慧城市路燈——聯(lián)網(wǎng)單控制系統(tǒng),單控制器

    智慧城市路燈——聯(lián)網(wǎng)單控制系統(tǒng),單控制器
    的頭像 發(fā)表于 11-11 12:52 ?1066次閱讀
    智慧城市路燈——<b class='flag-5'>燈</b>聯(lián)網(wǎng)單<b class='flag-5'>燈</b><b class='flag-5'>控制</b>系統(tǒng),單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>

    智慧照明 智慧控之核心硬件——單控制器

    智慧照明 | 智慧控之核心硬件——單控制器
    的頭像 發(fā)表于 11-11 12:44 ?779次閱讀
    智慧照明   智慧<b class='flag-5'>燈</b>控之核心硬件——單<b class='flag-5'>燈</b><b class='flag-5'>控制器</b>

    【星閃派物聯(lián)網(wǎng)開發(fā)套件體驗連載】智能交通燈--云端查看,遠程控制視頻

    完整項目在這個帖子中: https://bbs.elecfans.com/jishu_2457322_1_1.html 本文是智能交通燈--云端查看,遠程控制視頻
    發(fā)表于 10-21 13:44

    【星閃派物聯(lián)網(wǎng)開發(fā)套件體驗連載】智能交通燈

    感謝電子發(fā)燒友,感謝潤和軟件,提供星閃派物聯(lián)網(wǎng)開發(fā)套件試用。 本次試用計劃: 用星閃派物聯(lián)網(wǎng)開發(fā)套件,先實現(xiàn)本地交通燈項目,接入WiFi連上云端,本地紅綠燈狀態(tài)上傳云端,云端顯示,云端遠程控制紅綠燈
    發(fā)表于 10-05 13:00