看到一些東西漂浮在空中或自由空間中,這正是反重力項(xiàng)目的意義所在,這是非常令人興奮的。物體(基本上是一小塊紙或熱膠)放置在兩個(gè)產(chǎn)生聲波的超聲波換能器之間。由于這些似乎是反重力的波浪,物體漂浮在空中。這不僅是一個(gè)看起來(lái)很酷的Arduino 懸浮項(xiàng)目,而且還有許多實(shí)際應(yīng)用。
所需組件
Arduino Uno / Arduino Nano ATMEGA328P
超聲波模塊 HC-SR04
IC 或 L239d H 橋模塊 L239D
Vero 板點(diǎn)綴 Vero
二極管 4007
電容器 (PF) 104
8v 至 12v 電源的附加要求
穩(wěn)壓器 LM 7809
LED驅(qū)動(dòng)電源12V 2Amp
附加材料:一些連接線、公頭、母對(duì)母跳線
超聲波懸浮電路圖
完整的Arduino懸浮電路如下圖所示,電路的工作原理非常簡(jiǎn)單。該項(xiàng)目的主要組件是一個(gè)Arduino,L239D電機(jī)驅(qū)動(dòng)IC,以及從超聲波傳感器模塊HCSR04收集的超聲波換能器。一般超聲波傳感器發(fā)射25khz到50kHz之間頻率信號(hào)的聲波,在本項(xiàng)目中,我們使用的是HCSR04超聲波換能器。我們之前做過(guò)很多超聲波傳感器項(xiàng)目,其中HCSR04主要用于測(cè)量距離。在這個(gè)項(xiàng)目中,我們將換能器從模塊中焊接出來(lái)。
根據(jù)數(shù)據(jù)表,該超聲波換能器的工作頻率為 40 kHz。因此,使用 Arduino 和這段小代碼的目的是為我的超聲波傳感器或換能器生成40KHz 高頻振蕩信號(hào),并將此脈沖應(yīng)用于雙電機(jī)驅(qū)動(dòng)器 IC L239D 的輸入(來(lái)自 Arduino 的引腳 2 和 6 A0 & A1 引腳)來(lái)驅(qū)動(dòng)超聲波換能器。最后,我們將這個(gè)高頻 40KHz 振蕩信號(hào)與驅(qū)動(dòng)電壓一起通過(guò)超聲換能器上的驅(qū)動(dòng) IC(通常在 L239D IC 的第 8 引腳上給出的 8 到 12 電壓,Vcc2)施加。因此,超聲波換能器產(chǎn)生聲波。 我們將兩個(gè)換能器以相反方向面對(duì)面放置,這樣它們之間就會(huì)留出一些空間。聲波在兩個(gè)換能器之間傳播,使物體漂浮。
請(qǐng)注意,L293D 有雙電壓輸入,一個(gè)是為 IC 本身供電,在這個(gè)項(xiàng)目中由 Arduino 5v 供電,另一個(gè) Vcc2 (8 th ) 用于輸出組件驅(qū)動(dòng)電壓,該 VCC 引腳可以接受高達(dá) 36v 的電壓。該 IC 有 2 個(gè)使能引腳、4 個(gè)輸入輸出引腳、4 個(gè)接地引腳。使用該 IC 的概念來(lái)自使用微控制器和該芯片的概念,我們可以通過(guò)從微控制器提供邏輯或數(shù)字信號(hào)來(lái)單獨(dú)改變 2 個(gè)電機(jī)的方向和速度。
在該電路中,我們僅使用 IC L293D 的兩個(gè)輸入,輸入引腳 1 (2) 和輸入引腳 2 (7)。要啟用這兩個(gè)引腳,我們必須保持 IC Enable PIN 1 為高電平,因此我們將此引腳發(fā)射到 IC 引腳 16,即輸入 Vcc 1,要了解更多信息,請(qǐng)遵循L293D 數(shù)據(jù)表。
使用 100nf 電容器是可選的,僅用于保持 IC 電源,作為電源,我們使用 12V 2Amp LED 驅(qū)動(dòng)器,然后使用穩(wěn)壓器 IC LM7809 將電壓降至 9v,并提供給 L139D 的第 8引腳與公共接地。 根據(jù) Arduino、Cc 和 Arduino 論壇,Arduino UNO 板支持 7 到 12 伏的輸入,但放置 9V Max 更安全。
為超聲波懸浮編程 Arduino
代碼非常簡(jiǎn)單,只有幾行。在定時(shí)器和中斷功能的幫助下使用這個(gè)小代碼,我們正在制作高或低 (0 / 1) 并為 Arduino A0 和 A1 輸出引腳生成 40Khz 的振蕩信號(hào)。
首先,從相移陣列開(kāi)始。
字節(jié) TP = 0b10101010;
每隔一個(gè)端口就會(huì)接收到這個(gè)相反的信號(hào)。之后在 void 設(shè)置下,我們使用這行代碼將所有模擬端口定義為輸出。
DDRC = 0b11111111;
然后我們初始化定時(shí)器 1 并禁用所有中斷設(shè)置為零。
通過(guò)這段代碼,
無(wú)中斷();
TCCR1A = 0;
TCCR1B = 0;
TCNT1 = 0;
然后,將定時(shí)器 1 配置為在 80KHZ 觸發(fā)比較中斷時(shí)鐘。Arduino 以 16000000 MHZ ÷ 200 = 80,000 kHz 的頻率運(yùn)行,使用此函數(shù)生成方波。
OCR1A = 200;TCCR1B |=
(1 《《 WGM12);
TCCR1B |= (1 《《 CS10);
之后,這條線激活,比較定時(shí)器中斷。
TIMSK1 |= (1 《《 OCIE1A);
最后,使用這段代碼激活中斷。
中斷();
每個(gè)中斷都會(huì)反轉(zhuǎn)模擬端口的狀態(tài),這會(huì)將 80 kHz 方波信號(hào)轉(zhuǎn)換為 40Khz 的全波循環(huán)信號(hào)。然后我們將值發(fā)送到 Arduino 輸出 A0 和 A1 端口。
ISR(TIMER1_COMPA_vect)
{
端口C = TP;
TP = ~TP; // 為下一次運(yùn)行反轉(zhuǎn) TP
}
并且沒(méi)有任何東西可以放置或需要在循環(huán)下運(yùn)行。
構(gòu)建超聲波懸浮裝置
請(qǐng)注意,對(duì)于這個(gè)項(xiàng)目,正確安裝超聲波換能器很重要。它們應(yīng)該在相反的方向上彼此面對(duì),這一點(diǎn)非常重要,它們應(yīng)該在同一條線上,這樣超聲波就可以在相反的方向上傳播和相交。為此,您可以取兩小塊木頭或 MD 板、螺母螺栓和膠水。您可以通過(guò)鉆機(jī)制作兩個(gè)孔以完美地安裝換能器。在支架上,您可以懸掛超聲波換能器裝置。
在這種情況下,我使用了兩塊紙板,然后在膠槍的膠水的幫助下固定了超聲波換能器。后來(lái),為了制作支架,我使用了一個(gè)簡(jiǎn)單的接線盒,并用膠水固定了所有東西。
這是一些超聲波懸浮的圖片,展示了該項(xiàng)目的工作情況。
如果一側(cè)安裝有超聲波換能器,超聲波懸浮或聲學(xué)懸浮也可以工作,但在這種情況下需要一個(gè)反射器作為障礙物,以便它可以在未來(lái)的懸浮滑板和反重力運(yùn)輸中使用。
-
超聲波
+關(guān)注
關(guān)注
63文章
3039瀏覽量
138563 -
Arduino
+關(guān)注
關(guān)注
188文章
6477瀏覽量
187556 -
超聲波換能器
+關(guān)注
關(guān)注
2文章
49瀏覽量
7486
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論