女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

如何設(shè)置基于MTK3339芯片的Adafruit Ultimate GPS板以記錄到sdcard

454398 ? 來源:wv ? 2019-10-18 08:44 ? 次閱讀

步驟1:

1)Arduino Mega 2560

Sainsmart mega也可以使用。

2)LCD鍵盤防護(hù)罩http://www.hobbytronics.co.uk/arduino-lcd-keypad-s.。。

sainsmart鍵盤防護(hù)罩也可以使用。

3)adafruit終極gps記錄器防護(hù)罩http://proto-pic.co.uk/adafruit-ultimate-gps-logge.。。

4)Arduino Stackable(Shield)接頭套件-R3 http://www.hobbytronics.co.uk/cables-connectors/p 。。.

將引腳從單排插頭連接器中拔出,并使用塑料為可堆疊的屏蔽插頭創(chuàng)建一定長(zhǎng)度的墊片

5)紅色/綠色雙色公共陰極,直徑為3/5mm

6)Micro SD存儲(chǔ)卡http://www.hobbytronics.co.uk/4gb-microsd?keyword = 。。.

7)用于LED電流控制的電阻器(取決于LED)

如果LED在5V電壓下需要10 ma,則該電阻器為R = V/I = 5/0.010 = 500歐姆

8)塑料盒

我用15cm * 10cm * 5 cm,如果可以的話,它會(huì)變小

9)5.5mm Arduino直流電源插頭http://www.hobbytronics.co.uk/cables-connectors/dc.。。

9)單聲道3.5 mm唱頭插座

10)面板開關(guān)(開/關(guān)額定適用于5v 500mA)

11)帶有500mA快速熔斷器的面板保險(xiǎn)絲座

12)小橡膠腳墊(需要8個(gè))

13)內(nèi)徑為3.3mm的10mm尼龍墊片http://www.hobbytronics.co.uk/hardware/spacers-was 。。.

這些完全適合LCD按鈕以進(jìn)行擴(kuò)展。使用模型制作者超級(jí)膠水進(jìn)行附著。

14)2-2.5mm帶螺母和墊圈的螺栓(需要3個(gè))用作Arduino的支撐柱。一根窄螺釘,長(zhǎng)2厘米。

15)小長(zhǎng)5毫米的定位銷。小螺絲固定。 3-4小塊塑料洗滌液。

16)硬木以適合盒子的底部。木材使兩個(gè)底座支撐盒子的寬度。

17)電池-我使用了2節(jié)500 mAH LIPO。為此,您將需要 LIPO充電器 。

18)引線以匹配電池端子類型。

19)可選如果您計(jì)劃添加外部arial,則UFA到SMA arial適配器電纜。

gps非常敏感-我還沒有買過arial。

步驟2 :入門

閱讀有關(guān)最終gps的adafruit文章https://learn.adafruit.com/adafruit-ultimate-gps/

另一篇有用的文章https://learn.adafruit.com/adafruit -shield-compat 。。.

將4個(gè)小的橡膠腳安裝到Arduino Mega的基座上:

這將提供穩(wěn)定的安裝表面。

避免安裝孔。

將可堆疊連接器安裝到gps板上:

確保使用GPS板中最外面的孔。檢查所有東西的配合情況!

我將板子部分插入了arduino,然后將板子上下顛倒地焊接在每個(gè)部分的2個(gè)端針上。

必須小心不會(huì)使電路板過熱。其余的引腳都焊接好了,然后拆下了電路板。

使用一段直的單行接頭連接器,然后拉出引腳以制成隔離條。將隔板安裝到GPS板上現(xiàn)在可堆疊連接器的4個(gè)部分中的每個(gè)部分上。

假設(shè)您使用的是Mega,請(qǐng)將軌道切成7、8和10針 》如圖所示。用鋒利的手術(shù)刀仔細(xì)切開。

安裝GPS電池和SD卡:

插入電池,注意極性。

將預(yù)格式化的SD卡小心地滑入插槽,直至其固定到位。觀察正確的對(duì)齊方式。

將3條導(dǎo)線連接到CCS,TX和RX :

我將導(dǎo)線彎曲備用的六向可堆疊連接器可旋轉(zhuǎn)90度,并使用CSS/TX/RX將其焊接到該行中。

這使我可以根據(jù)需要輕松地移除引線。

直接導(dǎo)致。

添加雙色LED:

檢查雙色LED的數(shù)據(jù)表并選擇一個(gè)電阻提供正確的電流。確定線索的方向。 LED應(yīng)該是共陰極型。

暫時(shí)將LCD板安裝到GPS板上-小心地匹配孔!

使用尖頭鼻子鉗作為支撐來彎曲引線,以實(shí)現(xiàn)草圖中的輪廓。

led應(yīng)該將LCD屏幕的末端清除10-12mm,并在其上方到達(dá)4-5mm,以便從外殼中出來。

p》

建立引線輪廓和長(zhǎng)度后,卸下LCD。

將LED,電阻器和3根導(dǎo)線焊接到GPS板的底面。

紅色引到引腳2,綠色引到引腳3,陰極通過電阻0V。

將GPS板插入Arduino Mega:

如果您使用的是Sainsmart,則每側(cè)都有2條導(dǎo)線在插座孔中-組裝前,我將其略微向外彎曲,并將熱縮管放在裸露的引腳上。

將3根引線連接至Arduino- RX至TX1,TX至RX1,SSC至引腳32(可以

將GPS開關(guān)設(shè)置為“ SOFT SERIAL”。

將LCD板插入GPS板:

在LCD板上的按鈕旁邊找到安裝孔。小心地切一塊5mm的木銷,以將LCD的按鈕端支撐在安裝孔下方。它應(yīng)該放在長(zhǎng)凳上。按下按鈕時(shí),這將使LCD停止搖擺。

在插槽中放入足夠的塑料墊圈以防止其閉合。將木桿擰入到位-使用良好的導(dǎo)向孔。如有必要,用砂紙/洗滌液調(diào)節(jié)高度。桿只應(yīng)清除對(duì)Mega電源插座的訪問。

步驟3:制作盒子

1)切一塊硬質(zhì)板以適合盒子的底部-至少允許移動(dòng)2mm

2)將Mega放到底座上-小心地放置,以使距LCD屏幕的左邊緣到盒子左側(cè)的距離為15mm,距LCD的前邊緣到PC正面的距離為35mm。框。標(biāo)記并鉆一個(gè)安裝孔。 ink孔底座的底部。從底部安裝2mm的螺母和螺栓。

重新放置Arduino并安裝第二個(gè)孔-確保LCD與底座平行。

添加第三個(gè)螺母和螺栓。最終的安裝座是從頂部到右下安裝孔的螺釘。

剪切并適當(dāng)?shù)毓潭ò惭b螺栓的長(zhǎng)度。

3)將mega放在其安裝座上。仔細(xì)測(cè)量盒子頂部和LCD頂部之間的高度。檢查蓋子下側(cè)相對(duì)于LCD頂部的位置。

制作兩個(gè)矩形滑道正確的深度以將LCD頂部放置 1-2 mm 蓋子底部下方。

右手滑道必須位于螺絲孔的中心,以確保右下安裝位置。

穿過底座頂部,以固定滑道。避開安裝孔。

再次檢查L(zhǎng)CD相對(duì)于蓋子的高度-不要蓋上蓋子-LED會(huì)彎曲!

4)鉆出螺絲孔插入右手的滑槽中。在螺絲孔周圍稍微埋入孔。切下一個(gè)10mm的尼龍墊片,以支撐電路板的右下部分。

5)將Mega的LCD平行于盒子的正面放置。使用沉頭螺釘將底座從盒子的外部安裝到每個(gè)流道中。

6)測(cè)量LED的位置。在蓋子上鉆一個(gè)小導(dǎo)向孔。檢查L(zhǎng)ED的位置,并按照LED的間隙尺寸開孔。

7)測(cè)量并切掉LCD屏幕的孔-比LCD屏幕支架的外部尺寸小1-2 mm。

8)拆下底座,并切成兩條條狀的瓦楞紙板,以匹配流道的底座。將它們粘到跑步者身上。然后在卡上放2個(gè)孔,以匹配螺絲孔。重新安裝底座。調(diào)整螺釘壓力,直到蓋子完全適合LCD頂部(啊!1-2毫米的間隙!)

9)鉆五個(gè)按鈕孔:

小心地在按鈕頂部涂上白色尖頂。

測(cè)量左下按鈕的位置。在蓋子上鉆一個(gè)導(dǎo)向孔。檢查孔是否對(duì)準(zhǔn)-蓋上蓋子,從上方照亮火炬-白色按鈕頂部應(yīng)顯示。

如有需要,用圓形針頭銼調(diào)整導(dǎo)向孔-重新檢查位置并鉆出孔到10mm尼龍墊片的間隙直徑。

重復(fù)4個(gè)以上的按鈕。

10)在LCD板上添加“擴(kuò)展件”按鈕:

保護(hù)工作表面。

準(zhǔn)備一些紙布。移開所有分散注意力的孩子。

檢查10毫米尼龍墊片是否緊貼在按鈕上。如有必要,擴(kuò)大孔,直到實(shí)現(xiàn)緊密的過盈配合。您將需要無線電控制模型供應(yīng)商的無線電控制模型制造商氰基丙烯酸酯膠(中等至稀薄的粘度)和一些精細(xì)的膠嘴。垂直安裝第一個(gè)墊片。然后使用最細(xì)的噴嘴在管底部?jī)?nèi)側(cè)涂一點(diǎn)膠。倒置LCD板以防止?jié)B入交換機(jī)。等待一分鐘,然后按照相同的步驟操作其他按鈕。將液晶顯示屏倒置30分鐘以使膠水固化。在此期間,卸下并丟棄細(xì)噴嘴。

檢查盒子的蓋子是否合適!

11)鉆孔并安裝充電器插座,開關(guān)保險(xiǎn)絲和Arial導(dǎo)線(如果需要)

12)從5.5mm直流電源插頭上卸下塑料應(yīng)力消除盒上的螺釘。將一對(duì)導(dǎo)線焊接到端子的紅色-尖端。 在加熱前使用收縮管對(duì)電線進(jìn)行絕緣和彎曲處理。

13 按照包裝盒的內(nèi)部視圖所示連接電線。

唱頭插座尖端應(yīng)連接到電池正極。

唱頭插座上的開關(guān)連接為電路的其余部分提供了電源。

14)在USB插頭并重新組裝Arduino。

如果需要,將UFL連接包括到導(dǎo)線上-小心輕放。

輕輕擰緊最終的板上安裝螺釘。

仔細(xì)檢查接線。我不接受對(duì)此內(nèi)容或本文中包含的任何其他功能承擔(dān)責(zé)任!

15)連接電池并使用維可牢尼龍搭扣(strongcrock)

將4個(gè)小的橡膠腳固定在盒子的底部,即可完成。

步驟4:庫和軟件

您將需要安裝兩個(gè)庫:

1)下載并安裝adafruit gps庫https://github.com/adafruit/Adafruit-GPS-Library

2)安裝adafruit sd卡庫:

除非從Arduino libraries文件夾中刪除了任何現(xiàn)有的sd庫,否則默認(rèn)安裝將無法進(jìn)行。一定要這樣做,然后從https://github.com/adafruit/SD

安裝該庫,或者保留現(xiàn)有的sd庫并下載 SDADA.zip 已修改為接受對(duì)SDADA的呼叫。將其安裝在 Arduino libraries SDADA 中,這樣您仍然可以使用其他SD庫

如果您使用的是SDADA版本,則該文件將包含在gps2.ino草圖中。該行:

#include SDADA.h

如果沒有,請(qǐng)注釋掉該行并使用:#include SD.h

這兩個(gè)庫都提供了示例可以使用GPS進(jìn)行測(cè)試。

默認(rèn)情況下,以下庫應(yīng)已安裝:

LiquidCrystal.h

SoftwareSerial。 h

SPI.h

avr/sleep.h

下載gps2.zip

將gps2.ino和gps_card.ino保存到Arduino素描目錄中自己的文件夾中。

打開gps2.ino

Alter以下行:

#include SDADA.h

到#include SD.h(如果您不使用我修改的SD庫)

此更改也適用于gps_card.ino

檢查L(zhǎng)CD的設(shè)置:

在配置部分:

boolean sain = true;//如果使用sainsmart LCD屏蔽,則設(shè)置為true;對(duì)于其他屏蔽,例如DFROBOT屏蔽,則設(shè)置為false。

根據(jù)您選擇的LCD設(shè)置sain變量。

請(qǐng)注意,上述兩個(gè)LCD板均使用引腳10設(shè)置背光。向上按鈕可關(guān)閉背光,從而節(jié)省電池電量。

gps2.ino現(xiàn)在應(yīng)該運(yùn)行!

按鈕:

a)選擇更改LCD第一行上顯示的功能:

位置和海拔高度(十進(jìn)制經(jīng)度和緯度,隨高度交替變化)

位置(十進(jìn)制經(jīng)度和緯度)

軍械測(cè)量東,北向位置坐標(biāo)加上操作系統(tǒng)工作表編號(hào)

海拔高度

距原點(diǎn)的運(yùn)行距離

距原點(diǎn)的距離

時(shí)間

b)左切換公制/英制。

c)右切換日志記錄:

L顯示在登錄時(shí)右下角

An!此位置的標(biāo)記表示沒有sd卡,或者卡不可用

d)向上切換回顯示。 (有用的節(jié)能器。)

e)向下將距離重置為零:

這會(huì)將當(dāng)前位置設(shè)置為范圍的原點(diǎn)。 (烏鴉飛到原點(diǎn)的距離。)

要激活按鈕,請(qǐng)按住它直到LED停止閃爍。然后釋放。

步驟5:在Gps2.ino中使用SD卡

設(shè)置sd卡:

需要將默認(rèn)芯片選擇引腳和實(shí)際chipSelect引腳設(shè)置為輸出。

SD卡可以通過一個(gè)begin語句訪問該語句,該語句包括gps板上卡所使用的引腳。

卡速度設(shè)置為SPI_Full_SPEED。

如果發(fā)生錯(cuò)誤,指示燈會(huì)閃爍。

如果在配置中將debug設(shè)置為true,則還會(huì)發(fā)送串行監(jiān)視器消息。

如果卡初始化正常,則變量hascard為設(shè)置為true。

//確保即使不使用默認(rèn)芯片選擇引腳也設(shè)置為

//輸出:

pinMode(SS,OUTPUT);//默認(rèn)的mega select引腳

pinMode(chipSelect,OUTPUT);

digitalWrite(chipSelect,LOW);

//查看卡是否存在以及可以初始化:

if(!SD.begin(chipSelect,11,12,13)){

if(debug)Serial.println(F(“ Card init。failed !“))

error(1);

} else {

if(!card.init(SPI_FULL_SPEED,chipSelect,11,12,13 )){

error(2);

if(debug){

Serial.println(F(“初始化失敗。檢查事項(xiàng):”) );

Serial.println(F(“ *是否插入卡?”));

Serial.println(F(“ *您的接線正確嗎?”)) ;

Serial.println(F(“ *您是否更改了chipSelect引腳以匹配您的屏蔽或模塊?”));

}

}其他{

hascard = true;

if(debug)Serial.println(F(“ Card init。成功”));

}

}

選擇要記錄的SD文件:

按下右手按鈕會(huì)調(diào)用子例程openfile

這將檢查gps文件夾以查找未使用的文件名

如果找到文件,則將foundit設(shè)置為true。

如果(!hascard){return;}//,則從GPSLOGnn.TXT開始,其中nn = 0到99。如果卡不存在或不可用,則不要繼續(xù)

字節(jié)i;

字符文件名[18];

strcpy(filename,“/gps/GPSLOG00.TXT“);

文件名[17] = char(0);

布爾值foundit = false;

為(i = 0;我《100; i ++){

文件名[11] =‘0’+ i/10;

文件名[12] =‘0’+ i%10;

if(!SD.exists(filename)){

foundit = true; break;

}

}

如果所有文件名都在使用中,則Foundit為false,并且詢問用戶是否應(yīng)刪除前50個(gè)。如果不能接受,則將hascard設(shè)置為false,以便不再嘗試登錄。

if(!foundit){

int thisbutton = -1;

lcd.clear();

lcd.print(“ Dir full-Erase?”);

lcd.setCursor(0,1);

lcd.print(“Sel:Ok Right:No“);

執(zhí)行{

此按鈕= read_LCD_buttons();

} while(thisbutton == btnNONE);

lcd.clear();

if(thisbutton == btnSELECT){

lcd.print(“正在刪除” );

for(i = 0; i 《50; i ++){

文件名[11] =‘0’+ i/10;

文件名[12] =‘0’+ i%10;

如果(SD.exists(文件名))SD.remove(文件名);

}

i = 0;

文件名[11] =‘0’+ i/10;

文件名[12] =‘0’+ i%10;

}其他{

error(4);

hascard = false;

return;

}

}

可以打開文件:

發(fā)生錯(cuò)誤時(shí),將輸出串行信息,并通過狀態(tài)指示燈指示錯(cuò)誤代碼。

如果成功,則輸出文件的第一行。這是列標(biāo)題。

請(qǐng)注意使用logfile.flush()。

logfile = SD.open(filename,F(xiàn)ILE_WRITE);

if(!logfile){

if(調(diào)試){

Serial.print(“無法創(chuàng)建”);

Serial.println(文件名);

}

error(3);

hascard = false;

}其他{

logging = true;

myfile =文件名;

logfile.println(pad(”Time“,13)+ lpad(” Date“,9)+ lpad(” Longitude“,10)

+ lpad(” Latitude“,10)+ lpad (“ Altitude”,9)+“ m” + lpad(“ Geoid”,9)+“ m” + lpad(“ Speed”,7)+“ mph mph”);

logfile.flush ();

if(debug){Serial.print(“ Writing to”); Serial.println(filename);}

}

lpad 和 pad 是文本填充功能:

字符串lpad(字符串temp,字節(jié)L){

byte mylen = temp.length();

if(mylen》(L-1))return temp.substring(0,L-1);

for(字節(jié)i = 0; i 《(L-mylen); i ++)temp =“” + temp;

返回溫度;

}

String pad(String temp,byte L){

byt e mylen = temp.length();

if(mylen》(L-1))return

temp.substring(0,L-1);

for(字節(jié)i = 0; i 《(L-mylen); i ++)temp = temp +“”;

返回溫度;

}

寫入文件:

如果正在記錄日志,主循環(huán)將讀取gps并將其值輸出到文件。 (“ L”顯示在LCD屏幕的右下方。)

將值格式化為固定寬度的列。

函數(shù)dtostrf(float,w,dp,buf)是一個(gè)Arduino庫函數(shù),它接受一個(gè)float變量并將其轉(zhuǎn)換為寬度為w且?guī)p小數(shù)點(diǎn)的字符串。 buf是一個(gè)char緩沖區(qū),必須足夠大才能處理轉(zhuǎn)換。

我用“ char buf [20];”定義了buf。

在繼續(xù)之前先清空文件。

ogfile.print(pad(mytime,13));//包括毫秒數(shù)

logfile.print(pad(myyear,9));

logfile.print(dtostrf(longitude,10,5,buf));

logfile.print(dtostrf(latitude,10,5,buf));

logfile.print(dtostrf(altitudem,9,1,buf)); logfile.print(“ m”);

logfile.print(dtostrf(大地水準(zhǔn)面,9,1,BUF)); logfile.print(“ m”);

logfile.print(dtostrf(speedmph,7,2,buf)); logfile.print(“ mph”);

logfile.print(dtostrf(heading,6,1,buf)); logfile.println(“ deg”);

logfile.flush();

關(guān)閉文件:

如果該卡不可用,請(qǐng)返回,否則在關(guān)閉文件之前將所有剩余的輸出刷新到卡上。

void closefile(){

if(!hascard) return;

logfile.flush();

logfile.close();

logging = false;

if(debug) Serial.println(“ File” + myfile +“ closed”);

}

步驟6:讀取Gps

在腳本頭中設(shè)置庫:

#include Adafruit_GPS.h

#include SoftwareSerial。 h

HardwareSerial mySerial = Serial1;

Adafruit_GPS GPS(&mySerial);

在啟動(dòng)時(shí)選擇gps:

pinMode (chipSelect,OUTPUT);

digitalWrite(chipSelect,LOW);

GPS.begin(9600);

//設(shè)置更新速率//1Hz正常工作并留出時(shí)間來執(zhí)行記錄GPS.sendCommand(PMTK_SET_NMEA_UPDATE_1HZ);//或者0.1Hz,5Hz和10Hz更新頻率

//RMC(建議最小值):GGA(固定數(shù)據(jù)),包括海拔GPS.sendCommand(PMTK_SET_NMEA_OUTPUT_RMCGGA);

//如果固件允許,則關(guān)閉天線狀態(tài)更新

GPS.sendCommand(PGCMD_NOANTENNA);

通過中斷讀取GPS

請(qǐng)注意,實(shí)際上是在Adafruit_GPS.h庫代碼中而不是在此中斷例程中解釋數(shù)據(jù)。

//如果GPSECHO = true,則在Timer0上中斷1毫秒以促進(jìn)gps數(shù)據(jù)回波-

useInterrupt(true);//如果為true,則通過中斷讀取輸入。

就是這樣!循環(huán)讀取:

GPS.newNMEAreceived()如果到達(dá)了新的GPS信息,則設(shè)置為true。

GPS.parse(stringptr),如果設(shè)置為true,則設(shè)置為true已成功從原始GPS文本字符串中分離(解析)。

如果GPS報(bào)告其位置有固定值,則GPS.fix設(shè)置為true。

如果gps具有修復(fù)程序提取位置,高度,速度,方位角,時(shí)間,大地水準(zhǔn)面高度,衛(wèi)星和hdop的值。

以十進(jìn)制經(jīng)度和緯度返回位置,以節(jié)為單位返回速度,以米為單位返回距離。

if(GPS.newNMEAreceived()){

char * stringptr = GPS.lastNMEA();

if( !GPS.parse(stringptr))返回;//如果為假

if(GPS.fix){

digitalWrite(ledGreen,HIGH);

fixed = true;//記住狀態(tài),以防它在過程中發(fā)生變化

mymillis = GPS.milliseconds;

myseconds = GPS.seconds;

mytime = String(GPS.hour )+“:” + String(GPS.minute)+“:”;

logtime = mytime;

logtime + = String(int(myseconds + mymillis/1000 + 0.1) );//如果在0.1 S之內(nèi)取整

mytime + = String(myseconds + mymillis/1000);//完整的召回時(shí)間

myyear = String(GPS.day)+“/” + String(GPS.month)+“/”;

lcdyear = myyear; theyear = String(GPS.year);

myyear + = theyear;

mylen = theyear.length();

lcdyear + = theyear.substring( mylen-1,mylen);//僅適合以下位數(shù)的數(shù)字

緯度= GPS.latitudeDegrees;

經(jīng)度= GPS.longitudeDegrees;

altitudem = GPS.altitude;

altitudef = Heightm * fconvert;

速度結(jié)= GPS.speed;

speedmph =速度結(jié)* 1.15077945;

speedkph =速度結(jié)* 1.85200;

heading = GPS.angle;

satellites = GPS.satellites;

geoid = GPS.geoidheight;

hdop = 7-int (GPS.HDOP + 0.5);

步驟7:英國(guó)國(guó)家網(wǎng)格位置和行進(jìn)距離

1)將十進(jìn)制經(jīng)度和緯度的位置轉(zhuǎn)換為英國(guó)軍械測(cè)量?jī)x單位的詳細(xì)信息,請(qǐng)參見軍械測(cè)量提供的pdf文件:

http://www.ordnancesurvey.co.uk/docs/support/guide 。。.

第40頁不會(huì)使人眼花,亂,但確實(shí)提供了必要的數(shù)學(xué)。

我的子程序空彈藥(float phi,float lamda)實(shí)現(xiàn)了計(jì)算。

對(duì)于Easti,返回的值精確到+-0.1 ng和+-0.02(向北)。精度不足的原因是Arduino浮點(diǎn)運(yùn)算的精度有限。 Arduino僅支持“ 6-7”個(gè)有效小數(shù)位。

可以從經(jīng)度和緯度值的最高有效位中提取兵器測(cè)量圖紙編號(hào)。函數(shù)字符串NE2NGR(float&east,float&north)執(zhí)行提取,并歸功于:

Alex http://www.codeproject.com/Articles/13577/GPS-Der 。。.

2)可以通過兩個(gè)緯度和經(jīng)度值的差來計(jì)算出行進(jìn)距離。

對(duì)于小的差異,估計(jì)值必須是可疑的由于GPS定位固有的精度不足。 Arduino浮點(diǎn)小數(shù)位支持的限制也影響整體精度。盡管如此,累積的行進(jìn)距離估計(jì)還是合理的。到原點(diǎn)的范圍非常準(zhǔn)確,因?yàn)樗鼉H涉及兩個(gè)位置之間的差異。

可以使用下部按鈕重新設(shè)置距離計(jì)算的原點(diǎn)。

在低速時(shí)我在三秒鐘的時(shí)間內(nèi)對(duì)位置進(jìn)行了采樣,以增加位置差異大于GPS定位中不確定性距離的可能性。以較高的速度,我減少了采樣位置之間的時(shí)間。此時(shí)間由變量dlimit控制。

子例程float distance_between(float lat1,float long1,float lat2,float long2)之間返回該距離。

原始工作被歸功于Maarten Lamers。

步驟8:使用Gps_card.ino

此草圖假定您已連接串行監(jiān)視器,最好是具有復(fù)制文本功能的串行監(jiān)視器。

不幸的是,默認(rèn)的Arduino串行監(jiān)視器似乎不提供此功能。 (我寫了我自己的文章。)

Roger Meier的CoolTerm完成了http://freeware.the-meiers.org/

如果使用默認(rèn)的SD庫設(shè)置,請(qǐng)進(jìn)行以下更改:

#include SD.h代替#include SDADA.h

設(shè)置將串行監(jiān)視器設(shè)置為115200。

運(yùn)行草圖時(shí),它將測(cè)試SD卡并顯示卡的大小和gps目錄的詳細(xì)信息。/strong》

鍵入文件名,它將打開并顯示。

可以使用 #delete刪除單個(gè)文件文件名

數(shù)據(jù)以固定寬度的列顯示,并帶有空格分隔符。

假設(shè)您可以復(fù)制文本,使用excel中的值非常簡(jiǎn)單。

第9步:規(guī)格

LCD顯示屏有一個(gè)可選的頂行和一個(gè)下部行,由:

衛(wèi)星數(shù)

速度

HDOP-水平位置稀釋

軸承

記錄狀態(tài):

“ L”-記錄

“”-未記錄

“!” -SD卡不存在或不可用

頂行:

經(jīng)度和緯度位置,以度為單位

經(jīng)度(以度為單位)

英國(guó)國(guó)家地理參考

海拔

從原點(diǎn)出發(fā)的距離(可以重置原點(diǎn))

原點(diǎn)距

時(shí)間

注意:

公制或英制的LCD值。

對(duì)于LCD顯示屏,速度《=截止(0.65)mph的速度顯示為0

衛(wèi)星數(shù)目在左下角顯示為豎線。該欄已滿后,可以顯示的最大數(shù)字為8。

HDOP顯示在下部中央移動(dòng)欄中。 HDOP表示觀察到的衛(wèi)星的擴(kuò)展-擴(kuò)展的擴(kuò)展提高了準(zhǔn)確性,HDOP數(shù)量減少了。 HDOP值1很好!

HDOP精度《0.5用實(shí)線表示。

HDOP值為0.5到1.5(1)用7條表示。

HDOP為6時(shí)顯示為1條。

HDOP》 6時(shí)沒有顯示條。

按鈕:

a)選擇更改液晶屏第一行

高度/位置(經(jīng)度和緯度)

位置(經(jīng)度和緯度)

位置在軍械測(cè)量中,x,y坐標(biāo)

高度

時(shí)間

b)左切換公制/英制

c)右切換日志記錄

d)向上切換回顯示(有用的節(jié)電器)

e)向下將距離重置為零,并將當(dāng)前位置設(shè)置為范圍的原點(diǎn)(烏鴉將距離原點(diǎn)飛出) )

要激活按鈕,請(qǐng)按住直到LED停止閃爍。然后釋放。

LED指示燈

1秒間隔閃爍紅色-不修復(fù)

1秒間隔閃爍綠色-修復(fù)

四個(gè)短綠色閃爍-已按下按鈕

1個(gè)紅色閃爍重復(fù)了5次-錯(cuò)誤1:SD卡初始化失敗

2個(gè)紅色閃爍重復(fù)了5次-錯(cuò)誤2:SD卡全速初始化失敗

3次紅色閃爍重復(fù)5次-錯(cuò)誤3:無法創(chuàng)建日志文件

4次紅色閃爍重復(fù)5次-錯(cuò)誤4:日志文件夾中有100個(gè)文件,并且不會(huì)刪除

累積距離估算值將在多個(gè)一秒鐘的間隔位置產(chǎn)生累積舍入誤差。

請(qǐng)注意,“軍械”測(cè)量值的精度是有限的-arduino浮點(diǎn)值保留6-7個(gè)有效的小數(shù)位。轉(zhuǎn)換公式涉及許多計(jì)算,并且舍入誤差具有累積影響。最終,精度受返回的sin,cos和tan值的限制。

東移值似乎精確到+-0.1

北移到+-0.02

通過比較,經(jīng)度/緯度值似乎精確到+-0.00001

將ufl連接到SMA引線不會(huì)影響性能。 GPS芯片只能識(shí)別活動(dòng)的ariar(1575.42MHz)。

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

    關(guān)注

    242

    文章

    23700

    瀏覽量

    670900
  • 鍵盤
    +關(guān)注

    關(guān)注

    4

    文章

    864

    瀏覽量

    40427
  • Arduino
    +關(guān)注

    關(guān)注

    188

    文章

    6491

    瀏覽量

    190095
收藏 人收藏

    評(píng)論

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

    基于STM32的衛(wèi)星GPS路徑記錄儀(附完整源代碼)實(shí)例項(xiàng)目下載

    基于STM32的衛(wèi)星GPS路徑記錄儀(附完整源代碼)實(shí)例項(xiàng)目推薦下載!
    發(fā)表于 05-29 21:35

    從人工記錄到智能巡檢:云翎智能單北斗記錄儀如何重塑電力巡檢

    從人工記錄到智能巡檢,云翎智能單北斗記錄儀以其高精度定位、實(shí)時(shí)數(shù)據(jù)傳輸與智能管理能力,徹底重塑了電力設(shè)施的檢查流程。通過北斗衛(wèi)星導(dǎo)航系統(tǒng)的核心技術(shù)優(yōu)勢(shì),云翎智能單北斗記錄儀實(shí)現(xiàn)了對(duì)電力巡檢人員的精準(zhǔn)
    的頭像 發(fā)表于 04-03 14:58 ?217次閱讀
    從人工<b class='flag-5'>記錄到</b>智能巡檢:云翎智能單北斗<b class='flag-5'>記錄</b>儀如何重塑電力巡檢

    MT8390(Genio 700)_聯(lián)發(fā)科MTK8390核心參數(shù)

    MT8390安卓核心是一款高集成度的嵌入式解決方案,其尺寸僅為45×45×2.8mm,基于聯(lián)發(fā)科MTK8390芯片,采用先進(jìn)的6nm制程工藝,性能與功耗表現(xiàn)出色。該核心搭載八核處理
    的頭像 發(fā)表于 03-26 19:59 ?331次閱讀
    MT8390(Genio 700)_聯(lián)發(fā)科<b class='flag-5'>MTK</b>8390核心<b class='flag-5'>板</b>參數(shù)

    從“事后追溯”到“事前預(yù)警”:云翎智能巡檢記錄儀風(fēng)險(xiǎn)管控升級(jí)

    基礎(chǔ)設(shè)施的智慧升級(jí)提供核心支撐。智能巡檢記錄儀一、技術(shù)驅(qū)動(dòng):從被動(dòng)記錄到主動(dòng)感知的底層革新定位技術(shù)升級(jí)云翎智能巡檢記錄儀徹底擺脫對(duì)GPS的依賴,采用單北斗三號(hào)系統(tǒng)
    的頭像 發(fā)表于 03-25 14:08 ?267次閱讀
    從“事后追溯”到“事前預(yù)警”:云翎智能巡檢<b class='flag-5'>記錄</b>儀風(fēng)險(xiǎn)管控升級(jí)

    MTK8766(MT8766)MTK安卓核心_聯(lián)發(fā)科核心方案

    MTK8766核心是一款基于聯(lián)發(fā)科MTK8766處理器的高性能嵌入式模塊。該處理器采用先進(jìn)的12nm工藝制程,搭載四核Cortex-A53架構(gòu),主頻高達(dá)2.0GHz,并運(yùn)行Android 9
    的頭像 發(fā)表于 02-19 20:15 ?580次閱讀
    <b class='flag-5'>MTK</b>8766(MT8766)<b class='flag-5'>MTK</b>安卓核心<b class='flag-5'>板</b>_聯(lián)發(fā)科核心<b class='flag-5'>板</b>方案

    6050 Ultimate Channel Strip介紹

    6050 Ultimate Channel Strip具備讓您的混音效果出色所需的一切。其中包含了屢獲殊榮的6020 Ultimate EQ和6030 Ultimate Compressor插件中
    的頭像 發(fā)表于 01-22 10:29 ?371次閱讀
    6050 <b class='flag-5'>Ultimate</b> Channel Strip介紹

    6020 Ultimate EQ說明

    6020 Ultimate EQ是采用流行的模塊格式、借助 McDSP 二十年設(shè)計(jì)經(jīng)驗(yàn)的十種均衡器模型的集合。所有6020 Ultimate EQ模塊均由 McDSP 設(shè)計(jì),汲取了過去四十
    的頭像 發(fā)表于 01-21 09:49 ?338次閱讀
    6020 <b class='flag-5'>Ultimate</b> EQ說明

    MT6765安卓核心參數(shù)_聯(lián)發(fā)科MTK模塊開發(fā)

    MTK6765安卓核心是一款基于聯(lián)發(fā)科八核處理平臺(tái)的高性能硬件解決方案。此核心搭載的MTK6765 CPU采用先進(jìn)的12納米制程技術(shù),具有四個(gè)主頻高達(dá)2.3GHz的CORTEX-A
    的頭像 發(fā)表于 12-25 19:59 ?828次閱讀
    MT6765安卓核心<b class='flag-5'>板</b>參數(shù)_聯(lián)發(fā)科<b class='flag-5'>MTK</b>模塊開發(fā)

    MTK6761(MT6761)安卓核心_聯(lián)發(fā)科MTK核心模塊方案

    MT6761安卓核心是基于聯(lián)發(fā)科MTK6761八核處理器打造的高性能解決方案。該處理器具有四個(gè)頻率為2.0GHz的Cortex-A53核心,采用先進(jìn)的12nm工藝制程,支持安卓9.0操作系統(tǒng)
    的頭像 發(fā)表于 12-20 20:14 ?848次閱讀
    <b class='flag-5'>MTK</b>6761(MT6761)安卓核心<b class='flag-5'>板</b>_聯(lián)發(fā)科<b class='flag-5'>MTK</b>核心<b class='flag-5'>板</b>模塊方案

    安卓開發(fā)_MTK開發(fā)Demo方案

    MTK安卓開發(fā)采用聯(lián)發(fā)科的MT8768處理器,這是一個(gè)基于ARM Cortex-A53架構(gòu)的八核CPU,主頻高達(dá)2.0GHz。利用12nm先進(jìn)制造工藝,這款芯片在功耗控制上表現(xiàn)優(yōu)秀。它運(yùn)行的是Android 9.0操作系統(tǒng),配
    的頭像 發(fā)表于 12-12 20:12 ?573次閱讀
    安卓開發(fā)<b class='flag-5'>板</b>_<b class='flag-5'>MTK</b>開發(fā)<b class='flag-5'>板</b>Demo<b class='flag-5'>板</b>方案

    MT8781_MTK8781_聯(lián)發(fā)科MTK安卓核心模塊方案

    MT8781安卓核心是一款由聯(lián)發(fā)科公司推出的高性能智能模塊,基于MTK8781 SoC設(shè)計(jì)。該SoC由兩個(gè)Cortex A76核心和六個(gè)Cortex A55核心構(gòu)成,主頻分別為2.2GHz和2GHz,采用先進(jìn)的6nm制程工藝,配備Mali-G57 MC2圖形處理引擎,確
    的頭像 發(fā)表于 12-11 19:59 ?34次閱讀
    MT8781_<b class='flag-5'>MTK</b>8781_聯(lián)發(fā)科<b class='flag-5'>MTK</b>安卓核心<b class='flag-5'>板</b>模塊方案

    揭秘PCB電路全過程:從元件記錄到完美復(fù)制

    一站式PCBA智造廠家今天為大家講講PCB電路是如何實(shí)現(xiàn)的?PCB抄的具體步驟和方法。PCB抄是一個(gè)復(fù)雜而精細(xì)的過程,涉及多個(gè)步驟。本文將詳細(xì)介紹PCB抄
    的頭像 發(fā)表于 12-06 09:23 ?668次閱讀

    記錄到管理:?jiǎn)伪倍饭ぷ?b class='flag-5'>記錄儀如何優(yōu)化工作流程

    在這個(gè)快節(jié)奏的時(shí)代,每一分效率的提升都是企業(yè)競(jìng)爭(zhēng)力的關(guān)鍵。從繁瑣的手工記錄到智能化的數(shù)據(jù)管理,技術(shù)的飛躍正悄然改變著我們的工作方式。頂堅(jiān)單北斗工作記錄儀如何成為優(yōu)化工作流程的得力助手,實(shí)現(xiàn)從記錄到
    的頭像 發(fā)表于 08-30 11:09 ?463次閱讀
    從<b class='flag-5'>記錄到</b>管理:?jiǎn)伪倍饭ぷ?b class='flag-5'>記錄</b>儀如何優(yōu)化工作流程

    bin文件怎么燒錄到stm32

    燒錄bin文件到STM32微控制器是一個(gè)相對(duì)復(fù)雜的過程,涉及到硬件連接、軟件配置和固件燒錄等多個(gè)方面。 一、硬件準(zhǔn)備 STM32開發(fā) STM32開發(fā)是燒錄bin文件的基礎(chǔ),市場(chǎng)上有很多不同型
    的頭像 發(fā)表于 08-22 09:38 ?3871次閱讀

    esp8266讀取模擬數(shù)據(jù)并記錄到eeprom,發(fā)送tcp包時(shí)無法讀取模擬如何解決?

    嗨,esp8266 讀取模擬數(shù)據(jù)并記錄到 eeprom,我正在將存儲(chǔ)在 eeprom 中的數(shù)據(jù)作為 tcp 包發(fā)送,但在發(fā)送 tcp 包時(shí)無法讀取模擬,如何解決它? 如何將線程用于這些作業(yè)?
    發(fā)表于 07-11 07:22