91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

3天內不再提示

如何制作POV LED空氣寫入器

454398 ? 來源:網絡整理 ? 作者:網絡整理 ? 2019-11-28 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您可以通過閃爍的LED來完成各種操作,在這個簡單的項目中,我們將制造一個小型設備,當您來回揮動消息時,它可以在空中廣播消息。它比您想像的要容易,而且零件的總成本不到5美元。

該項目利用了一種稱為視覺持久性的視覺幻覺,使文本在空中出現。晚上有人快速移動點燃的煙火時,您可能會遇到這種現象。我們將使用Arduino和一些LED來模仿這種效果。該項目易于構建,幾乎不需要任何組件,而且?guī)缀醪恍枰附樱ūM管如果您想了解一些開始使用烙鐵的技巧,請查閱本指南)。

您將需要

Arduino(我使用了$ 2Nano,因為它緊湊且便宜,但任何型號都可以)。

5個紅色LED。

5x220歐姆電阻。

1x9v電池座。

1x撥動開關。

一塊protoboard,

用于存放成品的外殼(我用了一個漆成黑色的小紙板箱)。

您還需要電烙鐵和一些焊料才能將它們放在一起。

雖然可選,但如果您要使用任何焊錫芯,也可以派上用場。焊接錯誤。面包板和一些連接線對于測試電路也很有用。

如何制作POV LED空氣寫入器

布線

布線不那么簡單。首先,如下圖所示連接Arduino,LED和電阻器。

引腳D2到D6分別連接到每個電阻,這些電阻連接到每個LED的正極(長腳)。陰極接地,然后接地回Arduino。完成后,它應該看起來像這樣:

就是這樣:我們的電路已經完成!

代碼

現在,將您的Arduino連接到計算機,然后打開Arduino IDE。如果您不熟悉Arduino,并希望獲得良好的入門指南,此鏈接將非常有用。

打開一個新草圖并復制此代碼。此代碼是從該項目中修改的,您可以

// how long each led stays on for

int delayTime = 1;

//how long between each

int charBreak = 3;

//how long to wait after the message is finished before it repeats

int resetTime = 20;

int LED1 = 2;

int LED2 = 3;

int LED3 = 4;

int LED4 = 5;

int LED5 = 6;

void setup(){

pinMode(LED1, OUTPUT);

pinMode(LED2, OUTPUT);

pinMode(LED3, OUTPUT);

pinMode(LED4, OUTPUT);

pinMode(LED5, OUTPUT);

}

int a[] = {1, 6, 26, 6, 1};

int b[] = {31, 21, 21, 10, 0};

int c2[] = {14, 17, 17, 10, 0};

int d[] = {31, 17, 17, 14, 0};

int e[] = {31, 21, 21, 17, 0};

int f[] = {31, 20, 20, 16, 0};

int g[] = {14, 17, 19, 10, 0};

int h[] = {31, 4, 4, 4, 31};

int i[] = {0, 17, 31, 17, 0};

int j[] = {0, 17, 30, 16, 0};

int k[] = {31, 4, 10, 17, 0};

int l[] = {31, 1, 1, 1, 0};

int m[] = {31, 12, 3, 12, 31};

int n[] = {31, 12, 3, 31, 0};

int o[] = {14, 17, 17, 14, 0};

int p[] = {31, 20, 20, 8, 0};

int q[] = {14, 17, 19, 14, 2};

int r[] = {31, 20, 22, 9, 0};

int s[] = {8, 21, 21, 2, 0};

int t[] = {16, 16, 31, 16, 16};

int u[] = {30, 1, 1, 30, 0};

int v[] = {24, 6, 1, 6, 24};

int w[] = {28, 3, 12, 3, 28};

int x[] = {17, 10, 4, 10, 17};

int y[] = {17, 10, 4, 8, 16};

int z[] = {19, 21, 21, 25, 0};

int eos[] = {0, 1, 0, 0, 0};

int excl[] = {0, 29, 0, 0, 0};

int ques[] = {8, 19, 20, 8, 0};

int space[] = {0, 0, 0, 0, 0};

void displayLine(int line){

int myline;

myline = line;

if (myline》=16) {digitalWrite(LED1, HIGH); myline-=16;} else {digitalWrite(LED1, LOW);}

if (myline》=8) {digitalWrite(LED2, HIGH); myline-=8;} else {digitalWrite(LED2, LOW);}

if (myline》=4) {digitalWrite(LED3, HIGH); myline-=4;} else {digitalWrite(LED3, LOW);}

if (myline》=2) {digitalWrite(LED4, HIGH); myline-=2;} else {digitalWrite(LED4, LOW);}

if (myline》=1) {digitalWrite(LED5, HIGH); myline-=1;} else {digitalWrite(LED5, LOW);}

}

void displayChar(char c){

if (c == ‘a’){for (int i = 0; i 《5; i++){displayLine(a[i]);delay(delayTime);}displayLine(0);}

if (c == ‘b’){for (int i = 0; i 《5; i++){displayLine(b[i]);delay(delayTime);}displayLine(0);}

if (c == ‘c2’){for (int i = 0; i 《5; i++){displayLine(c2[i]);delay(delayTime);}displayLine(0);}

if (c == ‘d’){for (int i = 0; i 《5; i++){displayLine(d[i]);delay(delayTime);}displayLine(0);}

if (c == ‘e’){for (int i = 0; i 《5; i++){displayLine(e[i]);delay(delayTime);}displayLine(0);}

if (c == ‘f’){for (int i = 0; i 《5; i++){displayLine(f[i]);delay(delayTime);}displayLine(0);}

if (c == ‘g’){for (int i = 0; i 《5; i++){displayLine(g[i]);delay(delayTime);}displayLine(0);}

if (c == ‘h’){for (int i = 0; i 《5; i++){displayLine(h[i]);delay(delayTime);}displayLine(0);}

if (c == ‘i’){for (int it = 0; it 《5; it++){displayLine(i[it]);delay(delayTime);}displayLine(0);}

if (c == ‘j’){for (int i = 0; i 《5; i++){displayLine(j[i]);delay(delayTime);}displayLine(0);}

if (c == ‘k’){for (int i = 0; i 《5; i++){displayLine(k[i]);delay(delayTime);}displayLine(0);}

if (c == ‘l’){for (int i = 0; i 《5; i++){displayLine(l[i]);delay(delayTime);}displayLine(0);}

if (c == ‘m’){for (int i = 0; i 《5; i++){displayLine(m[i]);delay(delayTime);}displayLine(0);}

if (c == ‘n’){for (int i = 0; i 《5; i++){displayLine(n[i]);delay(delayTime);}displayLine(0);}

if (c == ‘o’){for (int i = 0; i 《5; i++){displayLine(o[i]);delay(delayTime);}displayLine(0);}

if (c == ‘p’){for (int i = 0; i 《5; i++){displayLine(p[i]);delay(delayTime);}displayLine(0);}

if (c == ‘q’){for (int i = 0; i 《5; i++){displayLine(q[i]);delay(delayTime);}displayLine(0);}

if (c == ‘r’){for (int i = 0; i 《5; i++){displayLine(r[i]);delay(delayTime);}displayLine(0);}

if (c == ‘s’){for (int i = 0; i 《5; i++){displayLine(s[i]);delay(delayTime);}displayLine(0);}

if (c == ‘t’){for (int i = 0; i 《5; i++){displayLine(t[i]);delay(delayTime);}displayLine(0);}

if (c == ‘u’){for (int i = 0; i 《5; i++){displayLine(u[i]);delay(delayTime);}displayLine(0);}

if (c == ‘v’){for (int i = 0; i 《5; i++){displayLine(v[i]);delay(delayTime);}displayLine(0);}

if (c == ‘w’){for (int i = 0; i 《5; i++){displayLine(w[i]);delay(delayTime);}displayLine(0);}

if (c == ‘x’){for (int i = 0; i 《5; i++){displayLine(x[i]);delay(delayTime);}displayLine(0);}

if (c == ‘y’){for (int i = 0; i 《5; i++){displayLine(y[i]);delay(delayTime);}displayLine(0);}

if (c == ‘z’){for (int i = 0; i 《5; i++){displayLine(z[i]);delay(delayTime);}displayLine(0);}

if (c == ‘!’){for (int i = 0; i 《5; i++){displayLine(excl[i]);delay(delayTime);}displayLine(0);}

if (c == ‘?’){for (int i = 0; i 《5; i++){displayLine(ques[i]);delay(delayTime);}displayLine(0);}

if (c == ‘?!﹞for (int i = 0; i 《5; i++){displayLine(eos[i]);delay(delayTime);}displayLine(0);}

if (c == ‘ ’){for (int i = 0; i 《5; i++){displayLine(space[i]);delay(delayTime);}displayLine(0);}

delay(charBreak);

}

void displayString(char* s){

for (int i = 0; i《=strlen(s); i++){

displayChar(s[i]);

}

}

void loop(){

//Change the text inside here to change the text displayed.

//Make sure to keep the brackets and the quotation marks.

displayString(“。.hello!。.”);

delay(40);

}

保存此草圖,然后將其上傳到您的電路板上。如果出現任何錯誤,請確保選擇了正確的板卡和COM端口。您的LED應該開始閃爍。如果沒有,請檢查面包板上的所有連接。在代碼開頭聲明的整數決定了文本顯示的速度。數值越大,揮動設備的速度就越快。我發(fā)現這里使用的數字效果很好。

現在進行快速測試。斷開Arduino與USB電纜的連接,然后將電池座連接到arduino的VIN和GND引腳上

現在,您可以移動它了,小心地嘗試擺動您前面的LED。如果您周圍足夠暗,您應該會看到一些字母在空中形成。我發(fā)現它有助于設置手機來捕獲它。

它有效!現在使它變得更永久一些。

準備就緒的鐵!

像這樣在原型板上放置Arduino板,電阻器和LED:

當然,只要電路保持不變,就可以使布局緊湊。確保您在Arduino的每一側留出至少一行原型板觸點,以用于組件和電源。如果您是電子產品的初學者,這里有一些很棒的提示。

我們將把LED陰極成一條線焊接在一起以形成共同的基礎,就像我們制作LED矩陣時所做的一樣

折疊每個陰極,使其與另一個陰極重疊,然后焊接它們以形成一條不間斷的線?,F在,我們需要將陽極焊接到旁邊的電阻器腳上。我發(fā)現最簡單的方法是將每條腳焊接到各自的焊盤上,然后將烙鐵放在它們之間,以加熱兩個接頭,最后再添加更多的焊料以彌合它們之間的間隙。

檢查每個連接都已牢固連接,然后使用剪鉗從電阻和LED上斷開多余的支腳。

現在重復相同的任務,但是這次將電阻器的另一端連接到Arduino的腿。這是焊接中最棘手的部分。每個電阻都單獨連接到其Arduino引腳,否則電路將無法正常工作。我在這里犯了幾個錯誤,不得不多次使用焊芯來清除多余的焊錫。

一旦您建立了所有正確的連接,請仔細檢查它們是否與鄰域重疊。如果您可以在此處使用萬用表,則可以使用連續(xù)性模式來檢查每個引腳的電阻上只有一條不間斷的線。如果您只有萬用表,那么本文中會提供一個很好的入門指南。

檢查完每個連接后,請減少多余的連接從電阻器的支腳開始的長度

增加功率

現在,將一條線從Arduino的GND引腳延伸到焊接陰極線末端附近的孔中,然后將電池座的黑色電線放在旁邊。

現在,將電線焊接到GND引腳,就像使用電阻器一樣,并將兩根導線焊接到陰極線的末端以為電路創(chuàng)建一個公共接地。

最后,將一根導線連接到arduino的VIN引腳上,然后將開關置于該導線和電池組。為這張照片中的熱熔膠開關道歉,我不得不拆除完成的機器才能拍攝這個階段!

一旦全部焊接在一起,就放好插入電池并輕按開關。恭喜你!電路完成。如果您看不到任何東西亮起,請仔細檢查每個焊點,看哪里可能有斷裂或短路。

外殼

現在,我們可以正常工作了,讓我們把它放在一個盒子里。盡管您可以使用在業(yè)余商店中購買的盒子甚至舊的特百惠盒子來制作一些永久性的東西,但這里還是使用了一個彩繪的紙板箱。為了獲得額外的極客信譽,您甚至可以在這些便宜的3D打印機之一上進行3D打印。

通過對原型板進行打分,并對其打分并小心地折掉不需要的零件。

將電路放置在機柜中,并標記需要戳穿LED和開關的位置。您還可以選擇標記Arduino板上USB連接器與邊緣的交匯處,以便您可以將其插入以更改文本而無需打開包裝盒。在外殼上鉆出或切出所需的孔。

現在,在LED的邊緣添加一些熱膠并將其粘貼到位。我將一塊海綿粘在電路下面,以便它可以緊緊地放在盒子里。將開關連接到外殼。我使用了熱膠,盡管螺釘或螺栓會使連接更牢固。您也可以在使用電池時將電池座粘在電路板的背面,以防止其在內部移動,但是請確保殼體上的任何金屬觸點都不會碰到您的任何焊接點!

工作完成!

關閉機箱,您就完成了!要更改文本,請將USB電纜連接到Arduino板上,并在 loop 方法中的 displayString 之后更改括號內的文本。找到一個黑暗的地方,玩得開心!

您是否曾經構建過POV機器并知道改進設計的方法?您打算自己建造一個嗎?在下面的評論中告訴我們您的項目,我們很樂意聽!
責任編輯:wv

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

    關注

    244

    文章

    24634

    瀏覽量

    691399
  • Arduino
    +關注

    關注

    190

    文章

    6526

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    XINGLIGHT 成興光top led #電子技術 #電子制作 #Top #LED

    led
    成興光電子
    發(fā)布于 :2026年02月28日 16:34:21

    多合一空氣質量傳感對比白皮書

    *附件:2026_多合一空氣傳感白皮書_段落版.docx 本白皮書選取蘇州風覺(Airbox-100DC)、北京海林(HL-AQS-8)、武漢四方光電(AM1012)、山東仁科
    發(fā)表于 02-26 11:20

    天碩(TOPSSD)技術深解:TBW(總寫入字節(jié)數)的工程實現

    在評估工業(yè)嵌入式存儲設備能否勝任長達數年的持續(xù)運行任務時,TBW(總寫入字節(jié)數)是比接口速度更為關鍵的量化指標。它直接回答了“這塊硬盤在退役前,總共能安全寫入多少數據?”這一根本問題。對于軌道交通日志記錄、工業(yè)視頻流存儲等高寫入
    的頭像 發(fā)表于 02-10 14:49 ?207次閱讀
    天碩(TOPSSD)技術深解:TBW(總<b class='flag-5'>寫入</b>字節(jié)數)的工程實現

    浮思特 | 空氣凈化器控制方案中,ABOV單片機適合做什么

    隨著空氣質量問題逐漸成為家庭關注的重點,空氣凈化器已經從“簡單家電”演進為集傳感、控制、交互與智能算法于一體的系統(tǒng)型產品。在這一過程中,單片機(MCU)正是空氣凈化器的核心大腦,直接決定了整機的性能
    的頭像 發(fā)表于 01-09 10:04 ?213次閱讀
    浮思特 | <b class='flag-5'>空氣凈化器</b>控制方案中,ABOV單片機適合做什么

    CYPRESS FRAM實現EDR高速數據寫入

    賽普拉斯FRAM技術以納秒級寫入速度、百萬次擦寫壽命及10年數據保持能力,顯著提升EDR設備的數據可靠性。其低功耗與非易失性特性完美適配工業(yè)及車載嚴苛環(huán)境,為高可靠性數據記錄提供理想解決方案。
    的頭像 發(fā)表于 01-07 09:56 ?1213次閱讀
    CYPRESS FRAM實現EDR高速數據<b class='flag-5'>寫入</b>

    探索AC4842R系列空氣線圈電感的特性與應用

    探索AC4842R系列空氣線圈電感的特性與應用 在電子工程師的日常設計工作中,電感是不可或缺的基礎元件之一。今天,我們將深入探討B(tài)OURNS的AC4842R系列空氣線圈電感
    的頭像 發(fā)表于 12-23 14:20 ?269次閱讀

    自制空氣凈化器

    老師無論是線上講課,還是論壇答疑,都讓我感受到了大師的風采。 自課程作業(yè)布置后,由于只有半個月的時間,考慮到自己已經3年沒摸過單片機和C語言的實際情況,決定制作一個被我割了6年的項目:空氣凈化器。 這個
    發(fā)表于 11-05 11:42

    ?TLC5928 16通道恒流LED驅動技術文檔總結

    該TLC5928是一個16通道恒流灌電流LED驅動。每個通道都可以通過將串行數據寫入內部寄存器來打開/關閉。所有16個通道的恒流值由單個外部電阻設置。 該TLC5928有兩個
    的頭像 發(fā)表于 09-03 11:16 ?1013次閱讀
    ?TLC5928 16通道恒流<b class='flag-5'>LED</b>驅動<b class='flag-5'>器</b>技術文檔總結

    ?TLC59281 16通道恒流LED驅動技術文檔摘要

    該TLC59281是一個16通道恒流灌電流LED驅動。每個通道都可以通過將串行數據寫入內部寄存器來打開/關閉。所有16個通道的恒流值由單個外部電阻設置。
    的頭像 發(fā)表于 09-02 09:35 ?900次閱讀
    ?TLC59281 16通道恒流<b class='flag-5'>LED</b>驅動<b class='flag-5'>器</b>技術文檔摘要

    ?TLC6C5816-Q1 16位移位寄存LED驅動技術文檔總結

    錯誤故障意味著通道已配置為 LED 診斷,但寄存寫入命令同時打開了該通道。該器件提供循環(huán)冗余校驗,以驗證移位寄存中的寄存值。在回讀模式
    的頭像 發(fā)表于 08-25 18:13 ?1039次閱讀
    ?TLC6C5816-Q1 16位移位寄存<b class='flag-5'>器</b><b class='flag-5'>LED</b>驅動<b class='flag-5'>器</b>技術文檔總結

    GraniStudio:IO寫入例程

    1.文件運行 導入工程 雙擊運行桌面GraniStudio.exe。 通過引導界面導入IO寫入例程,點擊導入按鈕。 打開IO寫入例程所在路徑,選中IO寫入.gsp文件,點擊打開,完成導入。 2.功能
    的頭像 發(fā)表于 08-22 16:47 ?802次閱讀
    GraniStudio:IO<b class='flag-5'>寫入</b>例程

    紅外測溫傳感空氣炸鍋邁向智能高效的關鍵利器

    在健康飲食理念與廚房電器智能化浪潮的雙重驅動下,空氣炸鍋憑借無油烹飪、高效便捷等特性,已成為現代家庭廚房的標配。然而,傳統(tǒng)空氣炸鍋依賴NTC傳感檢測腔體空氣溫度的溫控模式,因熱慣性大
    的頭像 發(fā)表于 08-06 14:12 ?1052次閱讀
    紅外測溫傳感<b class='flag-5'>器</b>:<b class='flag-5'>空氣</b>炸鍋邁向智能高效的關鍵利器

    12V-24V電壓適配的空氣凈化器驅動方案,零速度閉環(huán)控制下的順風逆風啟動--【其利天下】

    在當今空氣質量問題日益受到關注的背景下,空氣凈化器成為了眾多家庭和辦公場所的必備電器。而其核心部件之一--驅動方案,直接影響著空氣凈化器的性能、效率與使用壽命。本文將結合市面上空氣凈化器
    的頭像 發(fā)表于 07-17 18:00 ?1845次閱讀
    12V-24V電壓適配的<b class='flag-5'>空氣凈化器</b>驅動方案,零速度閉環(huán)控制下的順風逆風啟動--【其利天下】

    奧拓電子LED屏幕:讓虛擬制作走進生活的每個角落

    “Setting Up Shop”的快閃活動 ,通過奧拓電子高性能的RM系列LED屏幕,打破了虛擬制作只能在專業(yè)影棚實現的傳統(tǒng)認知, 讓街頭巷尾也能成為光影藝術的舞臺 。 一塊LED屏 如何重塑空間敘事? 走進這家“變身”后的
    的頭像 發(fā)表于 06-18 10:01 ?1424次閱讀

    東芝半導體技術在空氣凈化器中的應用

    隨著人們對室內空氣質量的關注度日益提升,空氣凈化器已成為現代家庭和辦公環(huán)境中不可或缺的設備。為了滿足消費者對高效凈化、低能耗以及緊湊設計的期待,半導體技術在空氣凈化器中的應用變得至關重要。東芝憑借其
    的頭像 發(fā)表于 04-29 10:03 ?1522次閱讀
    東芝半導體技術在<b class='flag-5'>空氣凈化器</b>中的應用