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

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

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

如何制作帶超聲波傳感器的無(wú)限遠(yuǎn)鏡

454398 ? 來(lái)源:工程師吳畏 ? 2019-08-19 16:31 ? 次閱讀

第1步:需要的部件

如何制作帶超聲波傳感器的無(wú)限遠(yuǎn)鏡

對(duì)于這個(gè)項(xiàng)目,我從一個(gè)舊的陰影盒購(gòu)買二手商店。由于它的形狀很好并且已經(jīng)安裝了一塊玻璃,我不需要做任何進(jìn)一步的工作。任何陰影盒或深框架都可以工作,它只需要足夠大,可以將LED燈條固定在里面,并有前玻璃和后視鏡的空間。

您需要的其他部件包括

Shadowbox

鏡子窗膜

Arduino Uno(或類似的Arduino芯片組)

LED燈條(確保它是5V)

四個(gè)超聲波傳感器

母頭(這可能是可選的)

一個(gè)電容器(大約100uF到220uF可以工作)

一個(gè)電阻器(任何200-600歐姆都可以工作)

電池組(我用18650制造自己的電池,但9V電池可以工作)

你還需要一個(gè)少量供應(yīng)。

烙鐵(可以只使用壓接機(jī))

熱膠槍

玻璃切割器(如果需要鏡子或玻璃)

連接線,我使用了一條舊的網(wǎng)絡(luò)電纜(CAT5)

Dupont壓接器(可選,但非常有用)

3D打印機(jī)(我的是Robo3D)

我的建議是提示根據(jù)你的供應(yīng)量來(lái)確定。這些是我使用過(guò)的耗材。

第2步:在膠片上添加膠片

我做的第一步是在我的鏡頭上添加一個(gè)鏡像膠片前玻璃。事實(shí)證明這是非常容易的。

無(wú)限遠(yuǎn)鏡使用后視鏡和前玻璃上的“雙向”鏡子的方式。然后光線會(huì)在后視鏡和雙向鏡子之間反彈,最終逃離雙向鏡子。留下鏡子無(wú)限深的效果。

我使用的是銀色窗簾遮光膜,涂抹后留下非常鏡面的效果。您也可以嘗試不同的膠片效果以獲得其他效果。

只需按照膠片附帶的說(shuō)明將其涂在前玻璃背面即可。對(duì)于我的膠片,你將肥皂水涂在玻璃上,將膠片切成精確的尺寸(或略小),涂抹并用刮刀將多余的水?dāng)D出。讓它干一夜,你就完全了。

第3步:安裝LED燈條

衡量你的陰影框的內(nèi)部尺寸,并確定四個(gè)邊中的每個(gè)邊上應(yīng)有多少個(gè)LED。如果每側(cè)有奇數(shù)個(gè)LED,它將工作得最好。具有奇數(shù)將允許一個(gè)LED作為燈的中心。

一旦確定每側(cè)需要多少個(gè)LED,請(qǐng)仔細(xì)切割LED燈條,確保只切割指定的LED您可以保持最終切割部件的正確極性。

切割LED后,將它們干燥安裝到陰影箱中,并仔細(xì)測(cè)量需要多少連接線才能將它們重新連接到陰影箱中。角落。你可以避免切割一些角落,這一切都取決于你的影子箱的大小。對(duì)于我的,我只需要切割其中一個(gè)角落。

用短線焊接切割的LED條帶,如果使用裸線,則應(yīng)用熱縮管。通過(guò)對(duì)齊箭頭確保維持LED的正確極性。

在LED燈條的起始處,焊線會(huì)導(dǎo)致連接到Arduino。這些引線將通過(guò)后視鏡進(jìn)行捕捉。

在正確切割和焊接LED之后,將背膠粘貼并粘貼在框架上,將它們安裝在陰影盒內(nèi)部。不要相信粘合劑會(huì)粘住,因此在整個(gè)LED燈條的關(guān)鍵位置涂上熱膠。在拐角處特別小心,因?yàn)樗鼈儗⑹紫仍谀抢锼缮ⅰ?/p>

步驟4:為超聲波傳感器構(gòu)建軟件

將超聲波傳感器連接到該項(xiàng)目的方法有很多種。我通過(guò)將電線引線連接到母頭的4個(gè)引腳上,然后將頭部熱膠粘到框架的背面。這允許我插入我的超聲波傳感器并在必要時(shí)將其移除。

在每個(gè)標(biāo)題上使用4根不同顏色的電線,并保持順序與陰影盒周圍的順序完全相同。我們稍后將所有+ 5V和GND線連接在一起,每個(gè)ECHO,TRIGG線將連接到Ardiuno。保持顏色一致將使該過(guò)程更容易。

將電線焊接到接頭后,我為每個(gè)接頭添加了一小段收縮管。

或者,超聲波傳感器可以直接焊接到電線上并安裝在陰影箱上。

步驟5:安裝鏡子和背面

超聲波傳感器接頭粘合后,是時(shí)候?qū)㈢R子粘到遮陽(yáng)板背板上并安裝背面。如果您的鏡子太大,請(qǐng)使用玻璃切割器將其切割成正確的尺寸。請(qǐng)注意,正確的尺寸可能會(huì)比你的支持者小一點(diǎn)1/2英寸。

我的影子盒使用框架中的一個(gè)凹槽來(lái)固定背部,然后使用兩個(gè)小金屬鉤來(lái)固定它地方,給我的支持者一個(gè)小角度。您的設(shè)計(jì)可能會(huì)有所不同。

使用熱膠,在背面涂上一些大膠水,然后將鏡子按到位。鏡子粘合后,將電線繞在電線周圍并將其連接到框架上。如有必要,在每個(gè)角落涂抹少量熱膠。

在安裝背面之前,最好先測(cè)試一下LED燈條,確保所有接線都正確無(wú)誤。此外,確保在連接之前將LED線引線從背面拉出,因?yàn)槲覀儗⒃谙乱徊街行枰@些引線。

步驟6:連接Arduino Uno和Ultra Sonic傳感器

收集超聲波傳感器的所有GND線,并將尾纖線連接到束上,然后將它們?nèi)亢附釉谝黄?。這將成為我們所有傳感器的共同基礎(chǔ)。尾纖線將插入Arduino UNO。

對(duì)所有超聲波傳感器的+ 5V線路重復(fù)此過(guò)程。你應(yīng)該將所有的線束都焊接在一起,并將一根引線插入Arduino。

接下來(lái),LED燈條的GND和+ 5V應(yīng)該在其電源上獲得一個(gè)100-200uF的電容。確保觀察到正確的極性,電容的負(fù)極在GND線上。我使用與傳感器公共電線相同的技術(shù)將我焊接在一起。

最后,在LED燈條的DATA線上,串聯(lián)一個(gè)200-500歐姆的電阻器。這將確保我們的LED燈帶不會(huì)產(chǎn)生電流涌入,導(dǎo)致我們的第一個(gè)LED燒壞。

在所有連接處添加熱縮管。下一步顯示電路圖是否有用。

完成所有接線后,將每根導(dǎo)線連接到Arduino。 GND至GND,+ 5V至+ 5V,LED數(shù)據(jù)至PIN 10,傳感器至PIN 2-9。

我用我的壓接器將杜邦端部添加到每根電線上。如果您沒(méi)有壓接器,可以將連接線焊接到每根導(dǎo)線或?qū)⑺鼈兒附拥讲孱^引腳。

步驟7:電路圖

這是我設(shè)計(jì)的電路圖。乍一看可能看起來(lái)很復(fù)雜,但它只有4個(gè)傳感器,每個(gè)傳感器有4根線和LED燈條。

步驟8:Arduino代碼

我選擇使用傳感器周圍的脈沖LED制作橙色中心點(diǎn),以測(cè)量最近的物體。當(dāng)然,由于你有傳感器和基本代碼,你可以做一些完全不同的事情。

注意:

這使用Adafruit NeoPixel庫(kù),確保你正確安裝該庫(kù)。

傳感器的確切順序及其PIN碼。

調(diào)整陰影框使用的總像素?cái)?shù)。

根據(jù)需要調(diào)整顏色。

告訴代碼“角落”的位置,這些是盒子每一邊的中心點(diǎn)。

#include

const int NUMPIXELS = 26;

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, 10);

const int NUMPIXELS = 26;

Adafruit_NeoPixel pixels = Adafruit_NeoPixel(NUMPIXELS, 10);

const int topTrigPin = 2;

const int topEchoPin = 3;

const int leftTrigPin = 4;

const int leftEchoPin = 5;

const int botTrigPin = 6;

const int botEchoPin = 7;

const int rightTrigPin = 8;

const int rightEchoPin = 9;

void setup() {

Serial.begin(9600);

pixels.begin();

}

int corners[4] = {16, 23, 3, 10};

int focusPoint = 20;

int focusMoveTo = 20;

int rainbow = 0;

uint32_t rainbowColor = Wheel(0);

unsigned long previousMillis = 0;

void loop() {

unsigned long currentMillis = millis();

if (currentMillis - previousMillis 》= 500) {

previousMillis = currentMillis;

long top = readSensor(topTrigPin, topEchoPin);

long left = readSensor(leftTrigPin, leftEchoPin);

long bot = readSensor(botTrigPin, botEchoPin);

long right = readSensor(rightTrigPin, rightEchoPin);

Serial.print(“t:”);

Serial.print(top);

Serial.print(“l(fā):”);

Serial.print(left);

Serial.print(“b:”);

Serial.print(bot);

Serial.print(“r:”);

Serial.println(right);

rainbowColor = (Wheel((rainbow) & 255));

rainbow = (rainbow + 1) % 255;

if (top 《 left && top 《 bot && top 《 right ) {

// move to top

focusMoveTo = corners[0];

} else if (left 《 top && left 《 bot && left 《 right) {

// move to left

focusMoveTo = corners[1];

} else if (bot 《 top && bot 《 left && bot 《 right ) {

// move to bot

focusMoveTo = corners[2];

} else if ( right 《 top && right 《 left && right 《 bot ) {

// move to right

focusMoveTo = corners[3];

}

}

if (focusPoint != focusMoveTo) {

if (focusPoint 》 focusMoveTo) {

focusPoint--;

} else {

focusPoint++;

}

}

bounceAround(focusPoint);

delay(30);

}

int pos = 0;

long readSensor(int trigPin, int echoPin) {

pos++;

if (pos == 5) {

pos = 0;

}

return pos;

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

long duration, cm;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

return microsecondsToCentimeters(duration);

}

long microsecondsToCentimeters(long microseconds)

{

return microseconds/29/2; // to convert time into distance

//The speed of sound is 340m/s or 29 microseconds per centimeter.

//the ping travels out and back so distance from the obstacle is half of the distance travelled

}

int bounceSize = 5;

int bounceSizeMax = 5;

int bounceDirection = 1;

void bounceAround(int point) {

setAll(rainbowColor);

if (bounceSize 《= 0) {

bounceDirection = 1;

} if (bounceSize 》= bounceSizeMax) {

bounceDirection = -1;

}

bounceSize += bounceDirection;

pixels.setPixelColor(point, pixels.Color(0,250,0));

for(int i = 1; i 《= bounceSize; i++ ){

pixels.setPixelColor(point - i, pixels.Color(40*i,40*i,40*i));

pixels.setPixelColor(point + i, pixels.Color(40*i,40*i,40*i));

}

showStrip();

}

void showStrip() {

pixels.show();

}

void setAll(uint32_t color) {

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

pixels.setPixelColor(i, color);

}

}

void setAll(byte red, byte green, byte blue) {

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

pixels.setPixelColor(i, red, green, blue);

}

}

// Input a value 0 to 255 to get a color value.

// The colours are a transition r - g - b - back to r.

uint32_t Wheel(byte WheelPos) {

WheelPos = 255 - WheelPos;

if(WheelPos 《 85) {

return pixels.Color(255 - WheelPos * 3, 0, WheelPos * 3);

}

if(WheelPos 《 170) {

WheelPos -= 85;

return pixels.Color(0, WheelPos * 3, 255 - WheelPos * 3);

}

WheelPos -= 170;

return pixels.Color(WheelPos * 3, 255 - WheelPos * 3, 0);

}

步驟9:3D打印支架

背面有Arduino和電池,它不適合貼合墻壁,所以我決定設(shè)計(jì)和3D打印一個(gè)簡(jiǎn)單的立場(chǎng)。經(jīng)過(guò)4次修改,這是我提出的立場(chǎng)。它有足夠的空間放置底部超聲波傳感器并緊緊握住我的影子盒。

你可能決定用你的影子箱做一些不同的事情。

第10步:總結(jié)

將Arduino和電池組粘貼到框架的背面,你就完成了!

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

    關(guān)注

    18

    文章

    574

    瀏覽量

    35877
  • 遠(yuǎn)鏡
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    5999
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    典型的超聲波傳感器及其應(yīng)用領(lǐng)域

    超聲波傳感器是一種利用超聲波信號(hào)進(jìn)行檢測(cè)和測(cè)量的傳感器,廣泛應(yīng)用于工業(yè)、醫(yī)療、環(huán)境監(jiān)測(cè)等領(lǐng)域。 一、超聲波
    的頭像 發(fā)表于 09-07 11:40 ?794次閱讀

    超聲波傳感器是模擬還是數(shù)字

    超聲波傳感器是一種利用超聲波信號(hào)進(jìn)行距離測(cè)量、物體檢測(cè)、流速測(cè)量等的傳感器。它們廣泛應(yīng)用于工業(yè)自動(dòng)化、機(jī)器人導(dǎo)航、汽車防撞系統(tǒng)、醫(yī)療診斷等領(lǐng)域。超聲
    的頭像 發(fā)表于 09-07 11:34 ?402次閱讀

    超聲波傳感器輸出的是什么信號(hào)

    超聲波傳感器是一種利用超聲波進(jìn)行距離測(cè)量、物體檢測(cè)和流速測(cè)量的傳感器。它通過(guò)發(fā)射超聲波信號(hào)并接收反射回來(lái)的信號(hào),根據(jù)時(shí)間差計(jì)算距離或速度。
    的頭像 發(fā)表于 09-07 11:32 ?470次閱讀

    單片機(jī)如何使用超聲波傳感器進(jìn)行距離測(cè)量

    超聲波傳感器是一種利用超聲波信號(hào)進(jìn)行非接觸式測(cè)量的傳感器,廣泛應(yīng)用于工業(yè)、生物醫(yī)學(xué)、自動(dòng)化控制等領(lǐng)域。在單片機(jī)系統(tǒng)中,超聲波
    的頭像 發(fā)表于 08-05 14:56 ?313次閱讀

    超聲波傳感器的工作原理 超聲波傳感器聲波頻率是多少

    超聲波傳感器是一種常用的非接觸式測(cè)距傳感器,以其精確測(cè)量距離、高可靠性和廣泛應(yīng)用而受到廣泛青睞。超聲波傳感器工作原理基于
    的頭像 發(fā)表于 02-21 15:30 ?2122次閱讀

    超聲波傳感器的工作模式有哪些

    超聲波傳感器是一種利用超聲波的特性進(jìn)行測(cè)量和檢測(cè)的設(shè)備。它通過(guò)發(fā)射超聲波,然后接收反射回來(lái)的超聲波,通過(guò)計(jì)算發(fā)射和接收之間的時(shí)間差,來(lái)確定物
    的頭像 發(fā)表于 02-16 10:21 ?1028次閱讀

    超聲波液位傳感器的工作原理 超聲波液位傳感器型號(hào)

    超聲波液位傳感器是一種常用于測(cè)量液體或固體物料高度的裝置。其工作原理基于超聲波傳播和回波反射的原理,通過(guò)發(fā)送超聲波脈沖并測(cè)量回波的時(shí)間來(lái)確定物體的距離。下面將詳細(xì)介紹
    的頭像 發(fā)表于 01-30 09:52 ?1547次閱讀

    超聲波傳感器形成超聲波的原理

    超聲波傳感器發(fā)射頭是利用壓電效應(yīng)來(lái)實(shí)現(xiàn)產(chǎn)生超聲波的,就是在發(fā)射頭不斷給出一定頻率的如40KHz的電壓信號(hào),就可以產(chǎn)生超聲波。
    的頭像 發(fā)表于 01-29 10:23 ?950次閱讀

    超聲波傳感器超聲波測(cè)距原理分析

    聲音是由振動(dòng)產(chǎn)生的,能夠產(chǎn)生超聲波的裝置就是超聲波傳感器,習(xí)慣上稱為超聲換能器,或者超聲探頭。
    發(fā)表于 01-29 09:20 ?732次閱讀
    <b class='flag-5'>超聲波</b><b class='flag-5'>傳感器</b>和<b class='flag-5'>超聲波</b>測(cè)距原理分析

    超聲波傳感器的硬件組成及類型

    超聲波傳感器的硬件組成如圖所示。超聲波發(fā)送電路由晶體管,電阻,T/R40-16 壓電陶瓷超聲波傳感器和變壓
    發(fā)表于 01-22 17:31 ?1748次閱讀
    <b class='flag-5'>超聲波</b><b class='flag-5'>傳感器</b>的硬件組成及類型

    超聲波測(cè)距原理 超聲波測(cè)距離傳感器接線方法

    超聲波測(cè)距是一種常用的測(cè)距方法,通過(guò)發(fā)射超聲波脈沖,利用其在空氣中傳播速度較快的特點(diǎn),測(cè)量出從傳感器到目標(biāo)物體的時(shí)間差,并進(jìn)而計(jì)算出距離。超聲波測(cè)距具有非接觸式、高精度、可靠性高等特點(diǎn)
    的頭像 發(fā)表于 01-22 15:22 ?2118次閱讀

    超聲波傳感器的工作原理 超聲波傳感器的應(yīng)用

    超聲波傳感器是一種基于超聲波的無(wú)接觸式測(cè)距傳感器,可以廣泛應(yīng)用于工業(yè)、醫(yī)療、軍事等領(lǐng)域。本文將詳細(xì)介紹超聲波
    的頭像 發(fā)表于 01-18 14:04 ?1506次閱讀

    超聲波傳感器聲波頻率是多少

    超聲波傳感器一般使用40kHz左右。超聲波傳感器是一種常用的非接觸測(cè)距裝置,利用超聲波的傳播速度測(cè)量目標(biāo)物體與
    的頭像 發(fā)表于 01-16 09:47 ?1532次閱讀

    超聲波傳感器測(cè)距離的原理

    超聲波傳感器測(cè)距離的原理是利用聲波在空氣中的傳播速度測(cè)量物體與傳感器之間的距離。具體而言,傳感器發(fā)送出一個(gè)
    的頭像 發(fā)表于 01-15 09:41 ?2601次閱讀

    一文詳解:如何選擇超聲波傳感器

    隨著技術(shù)的不斷發(fā)展,超聲波傳感技術(shù)已經(jīng)廣泛應(yīng)用于許多領(lǐng)域。超聲波傳感器可以通過(guò)發(fā)射和接收超聲波來(lái)測(cè)量距離、檢測(cè)障礙物和監(jiān)測(cè)液位。當(dāng)您需要選擇
    的頭像 發(fā)表于 12-29 14:34 ?670次閱讀