色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

怎樣使用Arduino制作Knight Rider LED掃描儀

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-28 10:11 ? 次閱讀

曾經希望您擁有自己的Knight Industries 2000(KITT)汽車-您知道嗎,來自Knight Rider?通過構建LED掃描儀,使您的夢想更接近現實!這是最終結果:

您需要什么

該項目不需要很多零件,您可能已經有很多零件了:

1 x Arduino UNO或類似的

1 x面包板

8 x紅色LEDs

8 x 220歐姆電阻

1 x 10k歐姆電位器

公對公連接線

如果您有Arduino入門套件,則很可能所有這些部件都可以(用入門工具可以做什么)套件。)

只要有八個可用的引腳(幾乎從未使用過Arduino?請從這里開始),幾乎任何Arduino都可以使用。您可以使用移位寄存器來控制LED,盡管該項目不需要此操作,因為Arduino具有足夠的引腳。

構建計劃

使用Arduino制作Knight Rider LED掃描儀

這是一個非常簡單的項目。盡管從大量的電線來看可能看起來很復雜,但是每個單獨的部分都非常簡單。每個發光二極管(LED)連接到其自己的Arduino引腳。這意味著每個LED均可單獨打開和關閉。電位計連接到Arduino模擬輸入引腳,用于調整掃描儀的速度。

電路

電位器的外部左引腳(從正面看,引腳在底部)接地。將相反的外部引腳連接到+ 5v。如果不能正常工作,則將這些引腳接反。在2中將中間引腳連接到Arduino模擬量。

將每個LED的陽極(長腳)連接到數字引腳1至8。將陰極(短腳)連接到Arduino地面。

代碼

創建一個新草圖并將其另存為“ knightRider”。代碼如下:

const int leds[] = {1,2,3,4,5,6,7,8}; // Led pins

const int totalLeds = 8;

int time = 50; // Default speed

void setup() {

// Initialize all outputs

for(int i = 0; i 《= totalLeds; ++i) {

pinMode(leds[i], OUTPUT);

}

}

void loop() {

for(int i = 0; i 《 totalLeds - 1; ++i) {

// Scan left to right

time = analogRead(2);

digitalWrite(leds[i], HIGH);

delay(time);

digitalWrite(leds[i + 1], HIGH);

delay(time);

digitalWrite(leds[i], LOW);

}

for(int i = totalLeds; i 》 0; --i) {

// Scan right to left

time = analogRead(2);

digitalWrite(leds[i], HIGH);

delay(time);

digitalWrite(leds[i - 1], HIGH);

delay(time);

digitalWrite(leds[i], LOW);

}

}

讓我們對其進行分解。每個LED引腳都存儲在一個數組中:

const int leds[] = {1,2,3,4,5,6,7,8};

數組本質上是相關項目的集合。這些元素被定義為常量(“ const”),這意味著它們以后無法更改。盡管建議使用常量,但不必使用常量(如果刪除“ const”,代碼將正常工作)。

使用方括號(“ []”)訪問數組的元素和一個稱為索引的整數。索引從零開始,因此“ leds [2]”將返回數組中的第三個元素—針腳3。數組使代碼更快地編寫且更易于閱讀,它們使計算機難以完成工作!

一個for循環用于將每個引腳設置為輸出:

for(int i = 0; i 《= totalLeds; ++i) {

pinMode(leds[i], OUTPUT);

}

此代碼位于“ setup()”函數內部,因為它僅需要在以下位置運行一次程序的開始。 For循環非常有用。它們允許您一次又一次地運行相同的代碼,每次都使用不同的值。它們非常適合使用數組。聲明了整數“ i”,并且只有循環內部的代碼才能訪問此變量(稱為“作用域”)。 i的值從零開始,對于循環的每次迭代,i都增加1。一旦i的值小于或等于“ totalLeds”變量,則循環“中斷”(停止)。

i的值用于訪問“ leds”數組。該循環訪問數組中的每個元素,并將其配置為輸出。您可以手動鍵入“ pinMode(pin,OUTPUT)”八次,但是為什么您可以寫八行卻可以寫三行呢?

盡管有些編程語言可以告訴您數組中有多少個元素(通常使用像array.length這樣的語法),Arduino并沒有使其變得如此簡單(它涉及到更多的數學運算)。由于數組中元素的數目是已知的,所以這不是問題。

在主循環內部( void loop())是另外兩個for循環。第一個循環將LED從1 – 8設置為ON,然后關閉。第二個循環將LED從8 – 1設置為ON,然后關閉。請注意,如何將電流引腳設置為ON,同時將電流引腳加一個也設置為ON。這樣可以確保始終同時有兩個LED,從而使掃描儀看起來更逼真。

在每個循環開始時,電位計的值都將被讀取到“時間”變量中:/p》 time = analogRead(2);

此操作執行兩次,每個循環一次。這需要不斷檢查和更新。如果此操作不在循環中,它仍然可以工作,但是會有一個小的延遲-它僅在循環完成執行后才運行。電位計是模擬的,因此為什么要使用“ analogRead(pin)”。這將返回零(最小值)到1023(最大值)之間的值。 Arduino能夠將這些值轉換為更有用的值,但是對于這種使用情況,它們是完美的選擇。

更改LED的間隔(或掃描儀的速度)之間的延遲以毫秒為單位(1/1000秒) ),因此最長時間僅為1秒。

高級掃描器

現在,您已經了解了基本知識,讓我們來看一下在更復雜的地方。該掃描儀將從外部開始并在工作中成對點亮LED。然后將其反轉,從內部到外部成對發光。以下是代碼:

const int leds[] = {1,2,3,4,5,6,7,8}; // Led pins

const int totalLeds = 8;

const int halfLeds = 4;

int time = 50; // Default speed

void setup() {

// Initialize all outputs

for(int i = 0; i 《= totalLeds; ++i) {

pinMode(leds[i], OUTPUT);

}

}

void loop() {

for(int i = 0; i 《 (halfLeds - 1); ++i) {

// Scan outside pairs in

time = analogRead(2);

digitalWrite(leds[i], HIGH);

digitalWrite(leds[(totalLeds - i) - 1], HIGH);

delay(time);

digitalWrite(leds[i], LOW);

digitalWrite(leds[(totalLeds - i) - 1], LOW);

delay(time);

}

for(int i = (halfLeds - 1); i 》 0; --i) {

// Scan inside pairs out

time = analogRead(2);

digitalWrite(leds[i], HIGH);

digitalWrite(leds[(totalLeds - i) - 1], HIGH);

delay(time);

digitalWrite(leds[i], LOW);

digitalWrite(leds[(totalLeds - i) - 1], LOW);

delay(time);

}

}

此代碼稍微復雜一些。請注意,兩個循環如何從零變為“ halfLeds – 1”(3)。這使掃描儀更好。如果兩個循環都從4 – 0和0 – 4變為循環,則相同的LED將以相同的順序閃爍兩次-看起來效果不佳。

您現在應該擁有一臺工作正常的Knight Rider LED掃描儀!修改它以使用更多或更大的LED或實現您自己的圖案將很容易。該電路很容易移植到Raspberry Pi(是Pi的新功能?從此處開始)或ESP8266

責任編輯:wv

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 掃描儀
    +關注

    關注

    2

    文章

    424

    瀏覽量

    67882
  • Arduino
    +關注

    關注

    188

    文章

    6471

    瀏覽量

    187244
收藏 人收藏

    評論

    相關推薦

    微軟已修復掃描儀USB連接問題

    微軟對其支持文檔予以更新,并宣告已將 Windows 11 版本 24H2 中的掃描儀 USB 連接問題處理好。 在此之前,Windows 11 24H2 的 eSCL 協議出現了故障,設備在需要
    的頭像 發表于 12-12 16:55 ?292次閱讀

    國產純硅振蕩器替換SITime用于三維掃描儀

    國產純硅振蕩器替換SITime用于三維掃描儀
    的頭像 發表于 12-04 10:18 ?147次閱讀
    國產純硅振蕩器替換SITime用于三維<b class='flag-5'>掃描儀</b>中

    如何將三維激光掃描儀與BIM結合使用

    將三維激光掃描儀與BIM(建筑信息模型)結合使用,可以充分發揮兩者的優勢,提高工程測量的精度和效率。以下是將三維激光掃描儀與BIM結合使用的具體步驟和注意事項: 一、前期準備 確定掃描目標 : 明確
    的頭像 發表于 11-28 10:18 ?276次閱讀

    三維激光掃描儀在工程測量中的優勢

    三維激光掃描儀在工程測量中展現出了顯著的優勢,這些優勢使得它在該領域得到了廣泛的應用。以下是對三維激光掃描儀在工程測量中優勢的分析: 高精度測量 : 三維激光掃描儀采用非接觸式測量方式,避免了傳統
    的頭像 發表于 11-28 10:12 ?222次閱讀

    三維激光掃描儀與無人機結合的應用

    三維激光掃描儀與無人機結合的應用為多個領域帶來了革命性的變化。以下是對這種結合應用的具體分析: 一、應用概述 三維激光掃描儀與無人機技術的結合,通過無人機搭載三維激光掃描儀進行空中作業,能夠
    的頭像 發表于 11-28 10:10 ?492次閱讀

    三維激光掃描儀使用技巧 三維激光掃描儀測量精度分析

    三維激光掃描儀使用技巧 三維激光掃描儀的使用技巧涵蓋了多個方面,旨在確保掃描過程的準確性和高效性。以下是一些關鍵的使用技巧: 穩定操作環境 :確保掃描過程中有一個穩定的操作環境,避免震
    的頭像 發表于 11-28 10:07 ?307次閱讀

    三維激光掃描儀應用領域 三維激光掃描儀與傳統測量工具比較

    三維激光掃描儀應用領域 三維激光掃描儀因其高精度、高效率和非接觸式的測量方式,在多個領域得到了廣泛應用: 測繪領域 :用于地形、公路鐵路、河道及建筑基地的測繪,提供精確的空間數據。 工業測量 :在
    的頭像 發表于 11-28 10:04 ?309次閱讀

    大幅掃描儀掃描地圖怎么操作

    1. 準備掃描儀和地圖 在開始掃描之前,確保您的大幅掃描儀已經安裝并正確配置。您可能需要安裝特定的驅動程序或軟件,以便掃描儀能夠與您的計算機通信。 檢查
    的頭像 發表于 10-14 15:47 ?651次閱讀

    蔡司激光三維掃描儀有效掃描金屬材料

    蔡司激光三維掃描儀因其高精度和多功能性,在工業檢測、逆向工程、質量控制等領域得到了廣泛應用。對于金屬材料的掃描,用戶常常關心的是ZEISS激光三維掃描儀是否能夠有效地完成這項任務。本文蔡司代理-三本
    的頭像 發表于 09-26 15:08 ?484次閱讀
    蔡司激光三維<b class='flag-5'>掃描儀</b>有效<b class='flag-5'>掃描</b>金屬材料

    何為電磁干擾(EMI)掃描儀,哪里需要它?

    什么是電磁干擾掃描儀?電磁干擾掃描儀(Electromagneticinterferencescanner)又稱EMI掃描儀,是屬于電磁兼容(EMC)測所試設備,具備干擾頻譜分析、定頻干擾成像功能
    的頭像 發表于 08-30 13:02 ?446次閱讀
    何為電磁干擾(EMI)<b class='flag-5'>掃描儀</b>,哪里需要它?

    如何選擇電磁干擾(EMI)掃描儀,看看這幾點

    在上期講完了電磁干擾(EMI)掃描儀的定義和應用以后,我們應該如何去選擇一款合適的電磁干擾(EMI)掃描儀?在當今復雜的電子設備環境中,選擇合適的電磁干擾(EMI)掃描儀對于確保產品質量、符合標準
    的頭像 發表于 08-30 13:02 ?543次閱讀
    如何選擇電磁干擾(EMI)<b class='flag-5'>掃描儀</b>,看看這幾點

    lidar激光雷達掃描儀有什么用

    LiDAR(Light Detection and Ranging,激光探測與測距)是一種利用激光技術進行距離測量和成像的技術。LiDAR激光雷達掃描儀具有高精度、高分辨率、快速掃描等特點,廣泛應用
    的頭像 發表于 08-29 16:58 ?865次閱讀

    泰來三維| faro orbis 移動三維掃描儀掃描公園廣場

    掃描儀
    泰來三維
    發布于 :2024年01月17日 14:14:48

    泰來三維|如何輕松玩轉三維掃描儀中手持快速掃描模式

    如何輕松玩轉三維掃描儀中手持快速掃描模式,EinScan Pro 2X 2020系列EinScan Pro 2X plus三維掃描儀包含普通模式和精細模式
    的頭像 發表于 01-11 15:44 ?503次閱讀
    泰來三維|如何輕松玩轉三維<b class='flag-5'>掃描儀</b>中手持快速<b class='flag-5'>掃描</b>模式
    主站蜘蛛池模板: 久久伊人电影| 亚洲精品久久久无码一区二区| 长泽梓黑人初解禁bdd07| 花蝴蝶免费版高清版| 果冻传媒独家原创在线观看| 亚洲欧美另类无码专区| 久热人人综合人人九九精品视频| 99国内精品| 忘忧草研究院一二三| 久草在线草a免费线看| avove旗袍丝袜高跟啪啪| 无码一区国产欧美在线资源| 久久成人a毛片免费观看网站| 99久久无码热高清精品| 午夜国产理论| 蜜臀色欲AV无人A片一区| 国产 浪潮AV性色四虎| 伊人狼人久久精品热9| 日韩一区二区三区免费体验| 精彩国产萝视频在线| 扒开老师大腿猛进AAA片软件| 亚洲乱码一区二区三区香蕉 | 久久本道久久综合伊人| av天堂影音先锋在线| 亚洲成人综合在线| 欧美午夜特黄AAAAAA片| 99视频免费观看| 亚瑟天堂久久一区二区影院| 麻豆高清区在线| 国产亚洲精品在线视频| free高跟丝袜秘书hd| 一级毛片视频免费| 久久婷婷五月综合色丁香| 城中村快餐嫖老妇对白| 这里只有精品在线视频| 午夜精品久久久久久久爽牛战| 免费A级毛片无码鲁大师| 国产亚洲欧洲日韩在线三区 | 无人区免费一二三四乱码| 麻豆第一区MV免费观看网站 | 天美传媒在线观看完整高清|