一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

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

如何制作POV LED空氣寫(xiě)入器

454398 ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-28 10:04 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

您可以通過(guò)閃爍的LED來(lái)完成各種操作,在這個(gè)簡(jiǎn)單的項(xiàng)目中,我們將制造一個(gè)小型設(shè)備,當(dāng)您來(lái)回?fù)]動(dòng)消息時(shí),它可以在空中廣播消息。它比您想像的要容易,而且零件的總成本不到5美元。

該項(xiàng)目利用了一種稱(chēng)為視覺(jué)持久性的視覺(jué)幻覺(jué),使文本在空中出現(xiàn)。晚上有人快速移動(dòng)點(diǎn)燃的煙火時(shí),您可能會(huì)遇到這種現(xiàn)象。我們將使用Arduino和一些LED來(lái)模仿這種效果。該項(xiàng)目易于構(gòu)建,幾乎不需要任何組件,而且?guī)缀醪恍枰附樱ūM管如果您想了解一些開(kāi)始使用烙鐵的技巧,請(qǐng)查閱本指南)。

您將需要

Arduino(我使用了$ 2Nano,因?yàn)樗o湊且便宜,但任何型號(hào)都可以)。

5個(gè)紅色LED。

5x220歐姆電阻。

1x9v電池座。

1x撥動(dòng)開(kāi)關(guān)。

一塊protoboard,

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

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

雖然可選,但如果您要使用任何焊錫芯,也可以派上用場(chǎng)。焊接錯(cuò)誤。面包板和一些連接線(xiàn)對(duì)于測(cè)試電路也很有用。

如何制作POV LED空氣寫(xiě)入器

布線(xiàn)

布線(xiàn)不那么簡(jiǎn)單。首先,如下圖所示連接Arduino,LED和電阻器

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

就是這樣:我們的電路已經(jīng)完成!

代碼

現(xiàn)在,將您的Arduino連接到計(jì)算機(jī),然后打開(kāi)Arduino IDE。如果您不熟悉Arduino,并希望獲得良好的入門(mén)指南,此鏈接將非常有用。

打開(kāi)一個(gè)新草圖并復(fù)制此代碼。此代碼是從該項(xiàng)目中修改的,您可以

// 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(chǎn)’){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);

}

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

現(xiàn)在進(jìn)行快速測(cè)試。斷開(kāi)Arduino與USB電纜的連接,然后將電池座連接到arduino的VIN和GND引腳上

現(xiàn)在,您可以移動(dòng)它了,小心地嘗試擺動(dòng)您前面的LED。如果您周?chē)銐虬?,您?yīng)該會(huì)看到一些字母在空中形成。我發(fā)現(xiàn)它有助于設(shè)置手機(jī)來(lái)捕獲它。

它有效!現(xiàn)在使它變得更永久一些。

準(zhǔn)備就緒的鐵!

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

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

我們將把LED陰極成一條線(xiàn)焊接在一起以形成共同的基礎(chǔ),就像我們制作LED矩陣時(shí)所做的一樣

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

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

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

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

檢查完每個(gè)連接后,請(qǐng)減少多余的連接從電阻器的支腳開(kāi)始的長(zhǎng)度

增加功率

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

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

最后,將一根導(dǎo)線(xiàn)連接到arduino的VIN引腳上,然后將開(kāi)關(guān)置于該導(dǎo)線(xiàn)和電池組。為這張照片中的熱熔膠開(kāi)關(guān)道歉,我不得不拆除完成的機(jī)器才能拍攝這個(gè)階段!

一旦全部焊接在一起,就放好插入電池并輕按開(kāi)關(guān)。恭喜你!電路完成。如果您看不到任何東西亮起,請(qǐng)仔細(xì)檢查每個(gè)焊點(diǎn),看哪里可能有斷裂或短路。

外殼

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

通過(guò)對(duì)原型板進(jìn)行打分,并對(duì)其打分并小心地折掉不需要的零件。

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

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

工作完成!

關(guān)閉機(jī)箱,您就完成了!要更改文本,請(qǐng)將USB電纜連接到Arduino板上,并在 loop 方法中的 displayString 之后更改括號(hào)內(nèi)的文本。找到一個(gè)黑暗的地方,玩得開(kāi)心!

您是否曾經(jīng)構(gòu)建過(guò)POV機(jī)器并知道改進(jìn)設(shè)計(jì)的方法?您打算自己建造一個(gè)嗎?在下面的評(píng)論中告訴我們您的項(xiàng)目,我們很樂(lè)意聽(tīng)!
責(zé)任編輯:wv

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

    關(guān)注

    242

    文章

    23847

    瀏覽量

    674156
  • Arduino
    +關(guān)注

    關(guān)注

    190

    文章

    6498

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    空氣質(zhì)量傳感的優(yōu)勢(shì)解析

    在環(huán)境污染日益成為全球性問(wèn)題的今天,空氣質(zhì)量監(jiān)測(cè)成為了環(huán)境保護(hù)領(lǐng)域的重要課題。空氣質(zhì)量傳感,作為這一領(lǐng)域的核心設(shè)備,正以其高精度、多參數(shù)監(jiān)測(cè)的特點(diǎn),為環(huán)境治理提供了強(qiáng)有力的技術(shù)支持。
    的頭像 發(fā)表于 02-17 16:11 ?447次閱讀

    自己動(dòng)手做一個(gè)好玩的POV顯示設(shè)備

    “ 讀大學(xué)的時(shí)候就很喜歡這些開(kāi)腦洞的小玩意兒。看到一個(gè)印度小哥用ESP32 做了個(gè)高分辨率的 POV,而且開(kāi)源了全部的硬件和代碼,忍不住想分享給大家?!?/div>
    的頭像 發(fā)表于 12-25 15:15 ?1094次閱讀
    自己動(dòng)手做一個(gè)好玩的<b class='flag-5'>POV</b>顯示設(shè)備

    空氣能熱水與太陽(yáng)能熱水哪個(gè)好

    隨著環(huán)保意識(shí)的提高和能源成本的上升,越來(lái)越多的家庭和企業(yè)開(kāi)始尋求更綠色、更經(jīng)濟(jì)的熱水解決方案。在眾多選擇中,空氣能熱水和太陽(yáng)能熱水因其節(jié)能特性而受到青睞。 一、工作原理 1. 空氣
    的頭像 發(fā)表于 11-29 14:51 ?1550次閱讀

    空氣能熱水工作原理 空氣能熱水優(yōu)缺點(diǎn)

    空氣能熱水工作原理 熱泵循環(huán) :空氣能熱水的核心部件是熱泵,它通過(guò)一個(gè)循環(huán)過(guò)程,利用制冷劑在蒸發(fā)、壓縮機(jī)、冷凝
    的頭像 發(fā)表于 11-29 14:49 ?3200次閱讀

    空氣濾波器的工作原理 工業(yè)濾波的應(yīng)用領(lǐng)域

    空氣濾波器的工作原理 空氣濾波器是一種用于清除空氣中的固體顆粒物的設(shè)備,它通過(guò)物理攔截、吸附、過(guò)濾等方法來(lái)凈化空氣。以下是空氣濾波器的幾種常
    的頭像 發(fā)表于 11-27 15:39 ?728次閱讀

    ROM芯片如何寫(xiě)入和擦除

    1. PROM(可編程只讀存儲(chǔ)) PROM是一種一次性可編程的ROM,一旦編程后就無(wú)法更改。寫(xiě)入PROM的過(guò)程如下: 寫(xiě)入過(guò)程 :使用專(zhuān)用的PROM編程,通過(guò)紫外線(xiàn)照射或電子方式將
    的頭像 發(fā)表于 11-04 10:19 ?3013次閱讀

    空氣質(zhì)量傳感有哪些優(yōu)勢(shì)

    空氣質(zhì)量傳感以其高效、便捷、準(zhǔn)確的特點(diǎn),在我國(guó)環(huán)境保護(hù)事業(yè)中發(fā)揮著重要的作用。未來(lái),隨著技術(shù)的不斷進(jìn)步和應(yīng)用領(lǐng)域的不斷拓展,空氣質(zhì)量傳感將為我國(guó)的環(huán)保事業(yè)貢獻(xiàn)更多的智慧和力量。
    的頭像 發(fā)表于 10-21 15:24 ?574次閱讀

    最大限度地提高M(jìn)SP430? FRAM的寫(xiě)入速度

    電子發(fā)燒友網(wǎng)站提供《最大限度地提高M(jìn)SP430? FRAM的寫(xiě)入速度.pdf》資料免費(fèi)下載
    發(fā)表于 10-18 10:09 ?1次下載
    最大限度地提高M(jìn)SP430? FRAM的<b class='flag-5'>寫(xiě)入</b>速度

    空氣開(kāi)關(guān)和漏電保護(hù)的區(qū)別是什么

    空氣開(kāi)關(guān)和漏電保護(hù)是電氣安全領(lǐng)域中的兩種重要設(shè)備,它們?cè)陔娐繁Wo(hù)方面發(fā)揮著至關(guān)重要的作用。然而,兩者在保護(hù)目的、工作原理、保護(hù)范圍以及響應(yīng)時(shí)間等方面存在顯著的區(qū)別。 一、保護(hù)目的不同 空氣開(kāi)關(guān)
    的頭像 發(fā)表于 10-17 17:44 ?4879次閱讀

    空氣開(kāi)關(guān)跳閘推不上去 空氣開(kāi)關(guān)跳閘的原因

    空氣開(kāi)關(guān)跳閘推不上去,通常意味著電路中存在某種故障或異常,導(dǎo)致空氣開(kāi)關(guān)無(wú)法正常復(fù)位。空氣開(kāi)關(guān)跳閘的原因多種多樣,以下是對(duì)這些原因的詳細(xì)分析: 一、空氣開(kāi)關(guān)自身故障
    的頭像 發(fā)表于 10-17 17:40 ?5711次閱讀

    空氣凈化器電源設(shè)計(jì)電路

    空氣凈化器電源設(shè)計(jì)電路
    發(fā)表于 09-25 14:35 ?3次下載

    如何向EEPROM寫(xiě)入數(shù)字

    向EEPROM(Electrically Erasable Programmable Read-Only Memory,電可擦可編程只讀存儲(chǔ)寫(xiě)入數(shù)字是一個(gè)相對(duì)直接的過(guò)程,但涉及到多個(gè)步驟和細(xì)節(jié)。以下是一個(gè)詳細(xì)的步驟說(shuō)明,旨在幫助您理解并成功向EEPROM
    的頭像 發(fā)表于 09-05 10:56 ?2136次閱讀

    空氣質(zhì)量傳感的功能特點(diǎn)

    空氣質(zhì)量傳感作為一款高效、便捷的監(jiān)測(cè)設(shè)備,在我國(guó)環(huán)境保護(hù)事業(yè)中發(fā)揮著越來(lái)越重要作用,空氣質(zhì)量傳感能夠幫助我們實(shí)時(shí)監(jiān)測(cè)和改善空氣質(zhì)量,保護(hù)
    的頭像 發(fā)表于 08-29 16:05 ?695次閱讀

    空氣質(zhì)量傳感解決方案

    空氣質(zhì)量傳感解決方案
    發(fā)表于 08-08 12:59 ?0次下載

    什么是空氣開(kāi)關(guān)什么是漏電保護(hù)

    空氣開(kāi)關(guān)和漏電保護(hù)是兩種常見(jiàn)的電氣設(shè)備,它們?cè)陔姎庀到y(tǒng)中起著重要的作用。 一、空氣開(kāi)關(guān) 定義 空氣開(kāi)關(guān),又稱(chēng)為斷路,是一種能夠自動(dòng)切斷電
    的頭像 發(fā)表于 07-31 18:21 ?2536次閱讀