日B视频 亚洲,啪啪啪网站一区二区,91色情精品久久,日日噜狠狠色综合久,超碰人妻少妇97在线,999青青视频,亚洲一区二卡,让本一区二区视频,日韩网站推荐

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 ? 來(lái)源: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)面板開(kāi)關(guān)(開(kāi)/關(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非常敏感-我還沒(méi)有買過(guò)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ì)使電路板過(guò)熱。其余的引腳都焊接好了,然后拆下了電路板。

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

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

。

安裝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板上-小心地匹配孔!

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

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

p》

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

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

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

將GPS板插入Arduino Mega:

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

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

將GPS開(kāi)關(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電源插座的訪問(wèn)。

步驟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 蓋子底部下方。

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

穿過(guò)底座頂部,以固定滑道。避開(kāi)安裝孔。

再次檢查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的間隙尺寸開(kāi)孔。

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)備一些紙布。移開(kāi)所有分散注意力的孩子。

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

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

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

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

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

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

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

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

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

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

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

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

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

步驟4:庫(kù)和軟件

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

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

2)安裝adafruit sd卡庫(kù):

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

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

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

#include SDADA.h

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

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

。

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

LiquidCrystal.h

SoftwareSerial。 h

SPI.h

avr/sleep.h

下載gps2.zip

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

打開(kāi)gps2.ino

Alter以下行:

#include SDADA.h

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

此更改也適用于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)記表示沒(méi)有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卡可以通過(guò)一個(gè)begin語(yǔ)句訪問(wèn)該語(yǔ)句,該語(yǔ)句包括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開(kāi)始,其中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,并且詢問(wèn)用戶是否應(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;

}

}

可以打開(kāi)文件:

發(fā)生錯(cuò)誤時(shí),將輸出串行信息,并通過(guò)狀態(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(“無(wú)法創(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庫(kù)函數(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è)置庫(kù):

#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í)間來(lái)執(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);

。

通過(guò)中斷讀取GPS

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

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

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

。

就是這樣!循環(huán)讀?。?/p>

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),以防它在過(guò)程中發(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)參見(jiàn)軍械測(cè)量提供的pdf文件:

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

第40頁(yè)不會(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)可以通過(guò)兩個(gè)緯度和經(jīng)度值的差來(lái)計(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庫(kù)設(shè)置,請(qǐng)進(jìn)行以下更改:

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

。

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

。

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

鍵入文件名,它將打開(kāi)并顯示。

可以使用 #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í)沒(méi)有顯示條。

按鈕:

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:無(wú)法創(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

通過(guò)比較,經(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ī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • led
    led
    +關(guān)注

    關(guān)注

    244

    文章

    24745

    瀏覽量

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

    關(guān)注

    4

    文章

    878

    瀏覽量

    42123
  • Arduino
    +關(guān)注

    關(guān)注

    191

    文章

    6529

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

    Adafruit Feather 32u4 Adalogger:小巧便攜的數(shù)據(jù)記錄神器

    Adafruit Feather 32u4 Adalogger:小巧便攜的數(shù)據(jù)記錄神器 在電子開(kāi)發(fā)領(lǐng)域,擁有一款功能強(qiáng)大且便攜的開(kāi)發(fā)至關(guān)重要。今天,我們就來(lái)深入了解一下 Adafruit
    的頭像 發(fā)表于 05-11 13:15 ?61次閱讀

    Adafruit PCF8523實(shí)時(shí)時(shí)鐘模塊:實(shí)用之選

    Adafruit PCF8523實(shí)時(shí)時(shí)鐘模塊:實(shí)用之選 在電子設(shè)計(jì)領(lǐng)域,實(shí)時(shí)時(shí)鐘(RTC)是許多項(xiàng)目中不可或缺的組件,它能讓設(shè)備準(zhǔn)確記錄時(shí)間,即便在重新編程或斷電的情況下也能正常工作。今天,我們就來(lái)
    的頭像 發(fā)表于 05-11 11:15 ?219次閱讀

    Adafruit DRV8871 有刷直流電機(jī)驅(qū)動(dòng)開(kāi)發(fā):高效驅(qū)動(dòng)的理想之選

    DRV8871 有刷直流電機(jī)驅(qū)動(dòng)開(kāi)發(fā),看看它為何能成為眾多工程師的首選。 文件下載: 3190.pdf 一、概述 Adafruit DRV8871 電機(jī)驅(qū)動(dòng)開(kāi)發(fā)是一款功能強(qiáng)大的設(shè)備,能為各類機(jī)電一體化項(xiàng)目提供有力支持。它具
    的頭像 發(fā)表于 05-11 11:15 ?206次閱讀

    Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3:一款出色的GPS模塊

    Adafruit Ultimate GPS Breakout - 66 channel w/10 Hz updates - Version 3:一款出色的GPS模塊 在電子設(shè)計(jì)領(lǐng)域,
    的頭像 發(fā)表于 05-11 10:50 ?197次閱讀

    Adafruit DS1307實(shí)時(shí)時(shí)鐘模塊:實(shí)用之選

    Adafruit DS1307實(shí)時(shí)時(shí)鐘模塊:實(shí)用之選 作為電子工程師,在設(shè)計(jì)項(xiàng)目時(shí),實(shí)時(shí)時(shí)鐘(RTC)模塊是經(jīng)常會(huì)用到的組件,它能讓項(xiàng)目準(zhǔn)確記錄時(shí)間。今天就來(lái)給大家詳細(xì)介紹一下Adafruit
    的頭像 發(fā)表于 05-11 10:20 ?340次閱讀

    Adafruit Feather M0 Adalogger:一款強(qiáng)大的一體化數(shù)據(jù)記錄開(kāi)發(fā)

    Adafruit Feather M0 Adalogger:一款強(qiáng)大的一體化數(shù)據(jù)記錄開(kāi)發(fā) 在電子開(kāi)發(fā)領(lǐng)域,擁有一款功能強(qiáng)大且易于使用的開(kāi)發(fā)至關(guān)重要。
    的頭像 發(fā)表于 05-11 09:40 ?308次閱讀

    Adafruit FONA 3G Cellular + GPS Breakout:功能強(qiáng)大的一體化模塊

    Adafruit FONA 3G Cellular + GPS Breakout:功能強(qiáng)大的一體化模塊 在物聯(lián)網(wǎng)和嵌入式系統(tǒng)開(kāi)發(fā)中,一款功能強(qiáng)大且易于集成的通信與定位模塊至關(guān)重要。Adafruit
    的頭像 發(fā)表于 05-11 09:30 ?293次閱讀

    Adafruit FONA 3G Cellular + GPS Breakout 模塊深度解析

    Adafruit FONA 3G Cellular + GPS Breakout 模塊深度解析 在物聯(lián)網(wǎng)和嵌入式系統(tǒng)的開(kāi)發(fā)中,通信和定位功能至關(guān)重要。Adafruit FONA 3G
    的頭像 發(fā)表于 05-11 09:30 ?288次閱讀

    Adafruit FONA 808 Cellular + GPS Breakout:小身材大功能的物聯(lián)網(wǎng)利器

    Adafruit FONA 808 Cellular + GPS Breakout:小身材大功能的物聯(lián)網(wǎng)利器 在物聯(lián)網(wǎng)應(yīng)用日益廣泛的今天,集成多種功能的設(shè)備變得越來(lái)越重要。Adafruit FONA
    的頭像 發(fā)表于 05-11 09:20 ?305次閱讀

    Adafruit TB6612 1.2A DC/Stepper Motor Driver Breakout Board使用指南

    、概述 TB6612 驅(qū)動(dòng)可以驅(qū)動(dòng)四個(gè)螺線管、兩個(gè)直流電機(jī),或者一個(gè)雙極或單極步進(jìn)電機(jī),每個(gè)通道的電流可達(dá) 1.2A。它是 Adafruit Motorshield 和 Motor HAT 中使用的驅(qū)動(dòng)芯片。這款驅(qū)動(dòng)
    的頭像 發(fā)表于 05-11 09:20 ?297次閱讀

    Adafruit Si5351時(shí)鐘發(fā)生器開(kāi)發(fā):設(shè)計(jì)與使用指南

    時(shí)鐘發(fā)生器開(kāi)發(fā),看看它能為我們的設(shè)計(jì)帶來(lái)哪些便利。 文件下載: 2045.pdf 一、概述 Adafruit Si5351時(shí)鐘發(fā)生器開(kāi)發(fā)是一款非常實(shí)用的工具,它讓我們告別了四處尋找晶體的煩惱。這款
    的頭像 發(fā)表于 05-10 16:55 ?726次閱讀

    Adafruit 電纜組件 — 原型開(kāi)發(fā)優(yōu)選線束解析

    為什么選擇 Adafruit? ● Adafruit 是開(kāi)源硬件領(lǐng)域的重要玩家。 Adafruit Industries 成立于 2005 年,提供電子元件、硬件套件、開(kāi)發(fā)工具和學(xué)習(xí)
    的頭像 發(fā)表于 12-04 15:58 ?788次閱讀
    <b class='flag-5'>Adafruit</b> 電纜組件 — 原型開(kāi)發(fā)優(yōu)選線束解析

    為進(jìn)行檢測(cè)溫度的記錄,可使用串口數(shù)據(jù)記錄模塊來(lái)實(shí)現(xiàn)

    為進(jìn)行檢測(cè)溫度的記錄,可使用串口數(shù)據(jù)記錄模塊來(lái)實(shí)現(xiàn)。 該數(shù)據(jù)記錄模塊是一種串口設(shè)備,在使用時(shí)其工作的波特率為9600bps,在接收到開(kāi)發(fā)所發(fā)送的數(shù)據(jù)時(shí),就將數(shù)據(jù)完整地
    發(fā)表于 12-01 08:18

    MT6769/MTK6769安卓核心性能參數(shù)_MTK聯(lián)發(fā)科核心方案

    MT6769核心是一款采用聯(lián)發(fā)科MT6769芯片的高性能安卓核心,以其性能均衡、接口豐富的特點(diǎn),在智能設(shè)備領(lǐng)域展現(xiàn)了廣泛的應(yīng)用潛力。以下是對(duì)該核心的詳細(xì)介紹:
    的頭像 發(fā)表于 09-22 19:56 ?3762次閱讀
    MT6769/<b class='flag-5'>MTK</b>6769安卓核心<b class='flag-5'>板</b>性能參數(shù)_<b class='flag-5'>MTK</b>聯(lián)發(fā)科核心<b class='flag-5'>板</b>方案

    Adafruit 4343 開(kāi)發(fā)紅色 LED 閃爍, 且屏幕不工作, 怎么解決?

    Adafruit 4343 開(kāi)發(fā)紅色 LED 閃爍, 且屏幕不工作, 該怎么辦
    發(fā)表于 09-08 07:19
    专栏| 荔浦县| 微博| 沙洋县| 铜梁县| 峨山| 日土县| 丰顺县| 永善县| 大姚县| 和田市| 庆安县| 日照市| 申扎县| 周口市| 济阳县| 遵义县| 上蔡县| 潼关县| 佛教| 房产| 会昌县| 盐津县| 油尖旺区| 桃源县| 察雅县| 长泰县| 竹山县| 太仓市| 定边县| 石台县| 大丰市| 信丰县| 南宫市| 湟中县| 丰城市| 金塔县| 比如县| 潜江市| 东兰县| 盐边县|