久久永久免费人妻精品下载,在线观看影视少妇三级,国产一区免费在线观看,小AV影院,三级片电影导航,三级成人在线

江蘇昊目智能

物流分揀機器人界面設計,帶藍牙的清潔機器人的制作

點擊:557
智能分揀機器人多少錢一臺

步驟1:你需要什么?

零件:

為了構建這個機器人,你需要在Ebay上購買一些物品。你可以自己制造一些傳感器,但你必須看到它值得你的時間-沒有必要重新發(fā)明輪子。所以這里是清單:

HMC5883L數(shù)字羅盤Ebay;

ArduinoUno或兼容的Ebay;

2WD汽車底盤Ebay;

HC-06藍牙模塊;

2個雙H橋;

ArduinoUnoEbay原型盾;

5VEbay以上的可充電電池;

I2CLCD顯示器1602;

3超聲波傳感器HC-SR04;

超聲波傳感器固定支架或類似物;

兩片丙烯酸到機器人的制作層;

額外的12V電機Ebay;

一堆黃銅支座墊片Ebay;

CarpetSweeperEbay;

如果您希望車輪上的光耦合器作為編碼器工作,我建議:

OptocouplerEbay;

而且,如果你想要一個photoelec用于檢測墻壁的三位一體傳感器:

紅外傳感器Ebay;

步驟2:焊接Eletronics

您需要什么知道:

在開始焊接之前,您需要觀察上圖。您可以使用3到6個超聲波傳感器。如果使用3,則必須將一個放在機器人前面,另外兩個放置120度。前面的那個將在物體靠近時檢測到物體,另外兩個物體將指向機器人的后部。他們兩個都會找到距離較近的物體的距離,所以“SweeperBot”可以決定,如果在找到一堵墻之后,它會更多回到它的右側,或更左側。那是因為,當然,如果在找到一堵墻之后機器人直接向后移動,它將總是直線前進,并且永遠不會清理整個房間。

如果你想要更多的讀數(shù),更多信息,以及機器人檢測來自側面的物體,以及檢測其后面的物體,您可以使用所有6種可能的傳感器。為避免障礙而可能使用的一種控制方法是潛在字段,它可以充分利用所有這些信息。但是我還沒有實現(xiàn)這個。

還在寫關于聲納的內容,另外需要注意的是,使用我將提供的代碼如下,你可以只使用一個連接到所有六個它們作為觸發(fā)引腳,這意味著您將使用相同的命令一起觸發(fā)所有6個觸發(fā)引腳。這樣您就可以避免使用更多5根線來觸發(fā)它們。通常,使用此傳感器的標準庫,您將無法這樣做,因為每個傳感器都會與另一個傳感器有問題。但是,每個傳感器都有自己的回波,因為它們的讀數(shù)不同,每個傳感器都會向Arduino發(fā)送不同的信號。

HC-SR04聲納的另外兩個引腳是正面和正面。這兩個與所有其他電子設備相同:指南針,顯示屏和藍牙。指南針將通過I2C進行通信,將SDA和SCL連接到Arduino上的SDA和SCL。藍牙將其發(fā)送器引腳和接收器引腳連接到微控制器的數(shù)字0和1引腳。注意它們的配置是通過軟件完成的,如果你切換這些引腳,藍牙將無法與設備配對。顯示器還將在與羅盤相同的引腳上連接I2C,因為使用I2C,Arduino可以使用相同的引腳同時控制多個器件。

相對于H橋,您必須連接使能A和將B啟用到正極引腳,否則電機不會運行。然后,將每個電機連接到H橋的正極和負極,并且用螺釘保留的三個連接器是:接地,它將連接到arduino和所有其他設備,包括電池,正極9V-12V,完全來自電池,5V輸出,將提供所有其他不是直流電機的設備。剩余的連接器是兩對邏輯信號,用于控制每個電機的方向和功率。

PINOUT:

HMC5883L數(shù)字羅盤;

PIN0-SDA》》》Arduino模擬引腳A4;

PIN1-SCL》》》Arduino模擬引腳A5;

PIN2-GND》》》GND;

PIN3-VCC》》》VCC5V;

HC-06藍牙;

PIN0-RX》》》Arduino數(shù)字引腳0;

PIN1-TX》》》Arduino數(shù)字引腳1;

PIN2-GND》》》GND;

PIN3-VCC》》》VCC5V;

第一個雙H橋;

PIN0》》》ArduinoDigitalPin4;

PIN1》》》ArduinoDigitalPin5;

PIN2》》》ArduinoDigitalPin6;

PIN3》》》ArduinoDigitalPin7;

啟用A》》》VCC;

啟用B》》》VCC;

電源》》》電池正極9-12V;

GND》》》電池GND和ArduinoGND;

+5VOUT》》》ArduinoVCC;

第二雙H橋;

PIN0》》》ArduinoDigitalPin3;

PIN1》》》GND;

PIN2》》》未連接;

PIN3》》》未連接;

啟用A》》》VCC;

啟用B》》》GND;

電源》》》電池正極9-12V;

GND》》》電池GND和ArduinoGND;

+5VOUT》》》未連接;

I2CLCD顯示1602;

引腳0-GND》》》ArduinoGND;

塑料自動分揀機器人

引腳1-VCC》》》ArduinoVCC;

引腳2-SDA》》》Arduino模擬引腳A4;

針腳3-SCL》》》Arduino模擬針腳A5;

6超聲波傳感器HC-SR04;

引腳0-VCC》》》ArduinoVCC;

引腳1-觸發(fā)》》》Arduino數(shù)字引腳2;

Pin2-Echo》》》連接Arduino數(shù)字引腳8,9,10,11,12和13;

引腳3-GND》》》ArduinoGND。

步驟3:安裝機器人

讓超聲波傳感器彼此之間以相等的角度固定例如,如果您使用六個,則將第一個放在機器人前面,將其他放置在距離它60度的位置。使用丙烯酸板作為機器人的層,因此更容易安裝并使部件就位。擰緊所有層,將電池放在電機上方,但放在電子設備下面。這樣你就可以降低它的重心,從而使它更穩(wěn)定。

將所有正極導線和接地針也焊接在一起。我用傳感器的所有引腳和另外5個直流電機引腳制作了一個連接器,因此在安裝和拆卸時更容易理解。在H橋上方放置一層最后一層并將Arduino放在那里。我在微控制器上方使用了PrototypingShield,因為它更容易焊接并固定指南針,這是需要特別注意的部分。沒有必要將它放在機器人的中心,但它需要遠離大的金屬部件,如電機和電池。

可以將直流電機安裝在一起。地毯清掃車有許多不同的方式,但有些比其他更好。因為我只有一個掃地機,我的嘗試中有點難看。我發(fā)現(xiàn)將電機的軸線粘在清掃器的軸線上非常困難,通常在工作幾分鐘后,它們會斷裂,特別是因為沒有辦法將它們正確對齊。所以我取下了電動機的減速軸,并將一個小齒輪粘在掃地機的軸上。然后我把馬達的齒輪放在一起接觸,一切都像魅力一樣。但是,我希望我有一臺3D打印機,事情會更簡單,也更專業(yè)。

第4步:代碼

圖書館:

“SweeperBot”使用Wire,I2Cdev,TimerOne,Adafruit傳感器,HMC5883和LCD庫。您可以下載Zip文件,其中包含Arduino的代碼和所有庫。還包含適用于WindowsPhone的藍牙項目。

WINDOWSPHONE8.1代碼:

通過控制機器人的項目WindowsPhone中的藍牙改編自互聯(lián)網上的示例。它改為有四個按鈕,每個方向一個。上,下,左,右。每個按鈕都會向機器人發(fā)送一個字母,分別是U,D,L和R.當機器人收到這些信件時,它會生成以下內容之一:

U-機器人將方向設置為直接前進;

D-機器人將轉向背部直行;

L-機器人將將方向設置為與當前“正在觀察”的位置完全相差90度;

R-機器人將方向設置為與其正好相差90度目前正在“尋找”;

機器人處理這些命令的方式可以通過Arduino上的代碼進行更改??梢蕴砑痈喟粹o來轉動機器人,或者停止它,甚至可以讓它向后移動。這段代碼只是一個例子。也可以為其他設備制作類似的程序,例如用于IOS的Androids和。您必須發(fā)送機器人的唯一信件是這些字母-U,D,L或R.

privateasyncvoidRedButton_Click_1(objectsender,RoutedEventArgse){

stringcommand=“U”;

await;

}

privateasyncvoidGreenButton_Click_1(objectsender,RoutedEventArgse){

stringcommand=“L”;

await;

}

privateasyncvoidYellowButton_Click_1(objectsender,RoutedEventArgse){

stringcommand=“R”;

await;

}

privateasyncvoidRedButton_Copy_Click(objectsender,RoutedEventArgse){

stringcommand=“D”;

await;

}

要將此代碼部署到WindowsPhone,您需要VisualStudio和開發(fā)人員解鎖電話。這可以按照此鏈接上的說明進行。

ARDUINO代碼:

在簡歷中,主要邏輯是機器人如下:

在6個可能的傳感器中找到距離更近的物體的距離;

機器人處理距離的行為,并用向量X,Y指向所需方向(但是,如果從智能手機收到消息,則步驟2由設備發(fā)送的指示代替);

數(shù)字羅盤給出了機器人的方向,以控制其輪子;

來自羅盤的信息X‘,Y’被歸一化為空間[-1,1];

期望方向的矢量與實際方向之間的交叉產物發(fā)現(xiàn)它們之間的誤差;

PID方法計算兩個車輪的每個直流電機的PWM;

中斷激活PWM;

隨著項目的發(fā)展,我發(fā)現(xiàn)GitHub上可用的超聲波傳感器標準庫與電機的PWM激活相沖突,因為他們都使用相同的計時器。由于這個項目使用5個引腳配置三個直流電機的PWM(這是唯一可能的,因為地毯清掃器只轉向一個方向),而傳感器更多7個,微控制器必須不斷檢查收到了閱讀,無法使用互聯(lián)網上提供的資料。

因此,為避免沖突,只配置了定時器1中斷。通過這種中斷,Arduino可以檢查每個傳感器上是否有讀數(shù):如果沒有,它會為每個傳感器增加一個變量,它將用作參數(shù)來查找到物體的距離。

voidcallback{//callbackistheinterruptionname

noInterrupts;

//ifnoreading,increasesvariablesonarCount[n],wherenisthenumberofsensor

if(digitalReadsonarCount[0]++;

//ifthereisreadindonthatsensor,sonar[n]=2accusesobjectfound

if(!digitalRead(sonarCount[0]》0))sonar[0]=2;

此外,在此中斷期間,它會向電機投入全部電量。如果有一定數(shù)量的中斷超過了PWM_R或PWM_L變量的數(shù)量,那么它對該給定電機的效力為零。

食品分揀機器人公司

if{

if{//ifpwmleftispositivethenturntoacertainway

digitalWrite;

digitalWrite;

}else{//elseturntotheothersidetheleftmotor

digitalWrite;

digitalWrite;

}

if(PWMCount》=abs{//ifthecounterequalsthepowerwewant

digitalWrite;//shutdownbothpinsofthismotor

digitalWrite;

}

PWMCount++;//increasescounter

ifPWMCount=0;//ifcounterequalsmaximumvaluewewant

;//250equals100%power

}

在主循環(huán)期間,機器人繼續(xù)搜索障礙和計算路線以避免它們或改變它的路徑。如果開發(fā)人員想要配置潛在字段控制方法,或者更改機器人的行為,他只需要使用更好的obst函數(shù)。該程序的其他部分是必要的,不需要更改。當機器人通過藍牙接收消息時,它會停止避開障礙物,只是聽取用戶輸入。

voidloop//mainloop

{

;//clearspreviousmessagesonlcd

delay;

search;//searchobstaclesandsavesthedistancevaluetoeachsensor

自動分揀機器人央視

readings;//readscompassandcalculatestheerrorfromitsdesireddirection

calcPWM;//calculatesthePWMforeachmotorbasedonPID

if{//messagefromBluetooth?ifnot,continuedoingthis

obst;//hereiswheretherobotdefinesitsbehavior

}//andwhereitdefinesthedirectionitwanttogo

從代碼的所有部分開始,所有部分都是非?;镜?,唯一的一個這里要注意的有趣功能是讀數(shù)。在其中,機器人獲取數(shù)字羅盤上當前位置的值X,Y和Z.那么,如何將讀數(shù)轉化為讓機器人知道它看哪個方向的東西?

首先得到原始值:

doublerawX=;

doublerawY=;

doublerawZ=;

然后檢查是否機器人在正確的平面上。這可以通過查看Z是否具有某個小范圍之間的值來實現(xiàn)

if((rawZ》Zprim+10)||(rawZ《Zprim-10))return;//ifnotright,return

現(xiàn)在是時候將X和Y值標準化為[-之間的空間-1,1],以便從這些值計算sin。

//Ymin,Ymax,XminandXmaxareobtainedwhenthecalibrationoccurs

vector[1]=-/2))//2);

vector[0]=-/2))//2);

我們現(xiàn)在使vectorOBJ[n]成為一個雙向向量,指向計劃中的位置,我們想要機器人去。因此,要找到兩個向量之間的誤差,我們必須在它們之間產生交叉積。結果值是另一個向量,但與兩者垂直,向上或向下,取決于其符號。

驛站快遞自動分揀機器人

error=(vectorOBJ[0]*vector[0]+vectorOBJ[1]*vector[1])/

(sqrt(vectorOBJ[0]*vectorOBJ[0]+vectorOBJ[1]*vectorOBJ[1])

*sqrt(vector[0]*vector[0]+vector[1]*vector[1]));

error=*180/PI;//fromradtodegrees

//findoutthewaytheresultvectorispointing

sentido=vector[0]*vectorOBJ[1]-vector[1]*vectorOBJ[0];

iferror=-error;

步驟5:結論

最終詞匯

焊接后,安裝機器人并將代碼部署到Arduino和手機,您仍然需要配置其許多屬性。例如,代碼上的正PWM值可能會轉動輪子使機器人向后移動,而不是向前移動。也許正面將一個電機轉向一側而另一個轉向另一側。在這種情況下,只需切換電機端子上的電線,這很好。

也許您必須更改變量read而不是X和Y,也許您的指南針計劃將使用X和Z,或Y和Z.取決于您如何放置和配置數(shù)字指南針。也許名為0的傳感器不會在機器人前面,你必須以不同方式連接或配置它們。

畢竟,你可能已經完成了你的機器人。您可以根據(jù)需要更改其行為,但我可以保證它將起作用,或者至少代碼將會起作用。機器人將正確讀取指南針,將計算他前進的位置,他想要去的方向,為每個電機提供多少功率,以及看每個傳感器的障礙物有多遠。剩下大量的ROM內存,所以你可以按照自己的意愿實現(xiàn)不同的策略。

再次,正如我在之前的Instructable中所寫,這是關于帶藍牙和紅外遙控的鬧鐘,我還有其他一些我想和你們分享的項目。如果有人喜歡這個,請在這里發(fā)表評論并關注我,因為我可能會再寫一篇關于我為WindowsPhone制作的帶有數(shù)字指南針,加速度計和藍牙的智能手表一切都更好。抱歉英文不好。

智能分揀機器人的創(chuàng)新點國產分揀機器人批發(fā)省藥品分揀機器人
绍兴市| 竹山县| 临澧县| 和田市| 运城市| 平利县| 邵阳市| 木里| 绥中县| 阳原县| 巫溪县| 阳新县| 盐津县| 阜南县| 临洮县| 揭东县|