步驟1:匯編
數(shù)據(jù)記錄器屏蔽可以輕松堆疊在Arduino Uno板上。該屏蔽提供數(shù)據(jù)記錄功能(計時和數(shù)據(jù)存儲)。盾牌必須堆疊。必須將CR1220紐扣電池插入所提供的圓形插槽中,以便即使在Arduino斷電時也能保持時鐘運行。必須將SD存儲卡插入提供的板載卡插槽中。通過使用RJ-9連接器母針和Arduino屏蔽堆疊頭來開發(fā)獨特的定制屏蔽。適當(dāng)?shù)慕宇^焊接在適當(dāng)?shù)奈恢茫员闫帘瓮耆m合Arduino板。 Arduino一側(cè)有18個引腳,另一側(cè)有14個引腳。具有相同數(shù)量引腳的接頭使用與Arduino相同的間距(相隔18個引腳)。標(biāo)頭附近的剩余額外空間用于放置RJ-9連接器。
標(biāo)頭是使用所需引腳的最佳方式,同時使它們?nèi)匀豢捎糜谄渌M件。使用的傳感器遵循I2C通信協(xié)議,該協(xié)議需要Arduino的4個引腳,即:SDA(也可用作A4),SCL(也可用作A5),3.3V和GND。從RJ-9連接器出來的四根電線焊接到這四個插頭引腳中。所需的RJ-9連接器數(shù)量取決于傳感器的數(shù)量。在這個項目中,使用了3個RJ-9連接器(兩個用于BME280,一個用于TSL2561)。從RJ-9連接器出來的四根電線是彩色編碼的,每條彩色電線都被指定為所有RJ-9連接器的特定引腳。必須注意的是,顏色代碼可能因不同的RJ-9件而異。在這種情況下,必須注意連接器上導(dǎo)線的位置。焊接后,RJ-9連接器使用Feviqwik粘貼在矢量板上,使其固定在表面上。可以使用萬用表上的連續(xù)性模式驗證這些連接。在連續(xù)模式下,萬用表應(yīng)顯示零電阻。將萬用表的一個探頭連接到焊接引腳,將另一個探頭連接到RJ-9連接器內(nèi)的引腳。萬用表應(yīng)發(fā)出音調(diào),這意味著焊點是正確的,并且連接已正確。如果沒有發(fā)出音調(diào),請檢查焊點。同樣,用相同的導(dǎo)線焊接RJ-9連接器,連接到傳感器分線板上的相同針孔,即A4,A5,3.3V和GND。 BME280傳感器支持兩個I2C地址,這意味著兩個BME280傳感器可以同時連接到同一個控制器。在這樣做時,必須通過橋接傳感器上的焊盤來改變其中一個傳感器的地址。 ESP-01無線連接芯片需要與Arduino進行以下連接。
ESP-01 --------- Arduino Uno
10 -------------------- TX
11 -------------------- RX
Vcc ------------- --- CH_PD
Vcc ------------------- Vcc
GND ---------- ------- GND
注意: - Arduino Uno上的多個LED被移除以改善電池壽命。通過加熱焊點并用鑷子推動LED來移除電源指示燈LED,RX和TX LED。
步驟2:設(shè)置IDE和庫
在進行任何編程之前,必須下載Arduino IDE(集成開發(fā)環(huán)境)。編程是在這個平臺上完成的。需要不同的庫與OPENSDL的不同組件進行交互。以下庫用于給定組件。
組件-------------------------------- -------------------------------圖書館
BME280溫度和相對濕度傳感器--------------------------------- Cactus_io_BME280_I2C.h
光傳感器----------------------------------------------- ----------------- SparkFun TSL2561.h
實時時鐘------------------- ----------------------------------------- RTClib.h
SD卡插座---------------------------------------------- -------------- SD.h
I2C連接------------------------ ------------------------------------- Wire.h
一個單獨的圖書館因為在Arduino上傳的代碼具有AT命令,所以發(fā)送到串行監(jiān)視器,ESP-01從那里獲取指令,因此不需要與ESP01通信。因此,基本上,ESP01運行的AT命令被打印到串行監(jiān)視器中,這些命令被ESP-01視為輸入命令。要安裝這些庫,請在下載后打開Arduino IDE,轉(zhuǎn)到Sketch - 》 Include Library - 》 Add .Zip庫,然后選擇下載的庫。
步驟3:編程系統(tǒng)
在編程OPENSDL之前,將Arduino與筆記本電腦連接。連接后,轉(zhuǎn)到工具 - 》端口,然后選擇連接OPENSDL的COM端口。此外,請確保在工具 - 》板下選擇Arduino Uno。
開發(fā)OPENSDL以在兩種模式下工作。在第一種模式下,它將數(shù)據(jù)存儲在數(shù)據(jù)記錄器屏蔽上的SD卡上。在第二種模式下,它通過使用ESP-01 Wi-Fi芯片將數(shù)據(jù)通過互聯(lián)網(wǎng)發(fā)送到網(wǎng)站。這兩種模式的程序是不同的。這些代碼行可以直接復(fù)制并粘貼到Arduino IDE編輯器中,并直接使用。進入代碼后,我們需要根據(jù)需要進行一些自定義:
手動更改代碼末尾的delay(1000)值以更改記錄間隔。值1000表示以毫秒為單位的間隔。
編輯代碼行,其中顯示mySensorData = SD.open(“Logged01.csv”,F(xiàn)ILE_WRITE);并使用所需文件名的文件名替換Logged01。也可以通過在文件名后面修改.csv擴展名來更改文件的擴展名。
通過查找主/參考傳感器和BME280之間的相關(guān)性來實現(xiàn)的校準(zhǔn)公式將隨每個傳感器而變化。將此行代碼替換為校準(zhǔn)傳感器的公式:Serial.print((1.0533 * t2)-2.2374) - 對于具有默認(rèn)地址(0x77)的傳感器,其中t2是從溫度傳感器讀取的值。
已經(jīng)提供了一個單獨的程序來編程OPENSDL的第二種可用模式,即無線系統(tǒng)。必須根據(jù)步驟#2中說明的連接將ESP-01連接到OPENSDL。完成連接后,將Arduino連接到筆記本電腦,并在Arduino中上傳空白草圖。將ESP-01置于更新模式,并將固件更新為最新的可用更新。更新后,確保將Arduino的復(fù)位引腳與3.3V引腳相連,該引腳繞過Arduino引導(dǎo)程序
步驟4:制作
為保護創(chuàng)建了OPENSDL的外殼并提高了美感。外殼采用PLA材料通過3D打印開發(fā),微控制器的外殼通過激光切割MDF板并將這些部件粘合在一起而開發(fā)出來。 3D打印模型采用SketchUp軟件開發(fā),激光切割2D dxf圖紙采用AutoCAD創(chuàng)建。
對于3D打印,使用SketchUp生成的STL文件在Ultimaker Cura 3.2.1軟件中打開并檢查。確保使用PLA材料,并且所用打印機的噴嘴用于0.4mm打印。 3D打印機的構(gòu)建板可能需要膠水來粘貼3D打印物體。但是當(dāng)打印完成后,膠水會在打印物體和底板之間產(chǎn)生強烈的粘合力。
步驟5:代碼
代碼( .ino文件)可以在Arduino IDE軟件中使用。
-
數(shù)據(jù)記錄器
+關(guān)注
關(guān)注
0文章
53瀏覽量
12711
發(fā)布評論請先 登錄
相關(guān)推薦
評論