月相跟蹤器是一種小巧的半便攜式設(shè)備,允許你收集有關(guān)月球的重要信息。該設(shè)備報(bào)告了諸如可見光照,相位,月亮升高和設(shè)定時(shí)間等參數(shù)。
此設(shè)備對于對科學(xué)或天文學(xué)感興趣并提供出色的桌面辦公室裝飾的任何人都是必不可少的。
該項(xiàng)目相當(dāng)簡單,需要連接互聯(lián)網(wǎng)的設(shè)備,如ESP32,但您可以隨時(shí)調(diào)整代碼,使用WiFi屏蔽,以太網(wǎng)屏蔽或任何其他互聯(lián)網(wǎng)連接您可能擁有的設(shè)備。 Lunar Phase Tracker設(shè)計(jì)用于處理鋰聚合物電池和非常省電的電子墨水顯示屏,它不僅可以提供精彩的屏幕,而且即使斷電也可以保留最后的圖像!
第1步:注冊天文信息
這一步絕對必要(雖然很無聊)因?yàn)槲覀冋谑褂迷诰€API收集我們的信息。雖然可以計(jì)算月相,照明等,但這樣做是一項(xiàng)繁瑣的工作。我們使用的API提供來自實(shí)時(shí)氣象站和監(jiān)測系統(tǒng)的最新信息,因此我們收到的數(shù)據(jù)是真實(shí)世界的結(jié)果,而不是計(jì)算值的結(jié)果。
前往Weather Underground,點(diǎn)擊“注冊”并填寫您的所有信息。該帳戶完全免費(fèi),您的API調(diào)用也是如此,只要您每分鐘不要求太多結(jié)果或每天超過500個請求。請務(wù)必將此頁面添加為書簽,您可以隨時(shí)返回并使用API進(jìn)行天氣統(tǒng)計(jì)和其他重要信息。創(chuàng)建帳戶后,轉(zhuǎn)到API站點(diǎn),單擊“購買密鑰”并選擇免費(fèi)計(jì)劃,您只需輸入一些詳細(xì)信息,您就會遇到devoloper 密鑰ID的問題。 此ID對您而言是唯一的,應(yīng)保密。我在示例Arduino代碼中提供了我的密鑰,稍后我們將對此進(jìn)行介紹。我們非常歡迎您使用我的密鑰ID進(jìn)行測試,但我強(qiáng)烈建議您自己注冊。
獲得您的唯一ID后,您可以繼續(xù)查看Astronomy API信息,即老實(shí)說非常光鮮您將找到一個如下所示的簡單示例:
http://api.wunderground.com/api/8c6dc2e5c6f36de9/a 。..
此URL非常重要,因?yàn)檫@個是我們提供制作項(xiàng)目所需的所有信息的原因。來吧,點(diǎn)擊鏈接,你會看到悉尼的結(jié)果,如月相,照明和其他好的信息。看一下URL,我們將看到悉尼,澳大利亞以及以“8c6dcwe 。..”開頭的長代碼。該代碼是我們之前提到的密鑰ID。使用您的唯一ID更改該代碼并查看其工作原理,您應(yīng)該得到完全相同的結(jié)果。嘗試游玩地點(diǎn)。對于我自己在南非,我使用約翰內(nèi)斯堡和ZA。
第2步:組件
所以現(xiàn)在有趣的東西。我們需要一些組件,而不是很多組件,并且它們都不是非常昂貴的,我已經(jīng)為我使用的組件提供了Amazon鏈接。請記住,如果您喜歡編程,請隨意使用您可用的任何顯示器或互聯(lián)網(wǎng)設(shè)備。對于我的構(gòu)建,我使用了以下內(nèi)容:
Waveshare E-Ink SPI 4.2“SPI顯示器
ESP32開發(fā)板(通用)
Adafruit Power Boost 500
5000mAh Lipo電池組
Stripboard(Protoboard)
您將需要基本工具,例如:
烙鐵
焊料
卡尺
鉆頭用于分隔原型板上的軌道
電線
線夾
膠水(熱膠將起作用)
安裝了Arduino IDE的筆記本電腦
唯一的高級您可能需要的工具是制作外殼的3D打印機(jī)。如果您沒有,那就好了,用木頭和手鋸或任何可用的東西制作外殼。是的,我的3D打印機(jī)老了,塵土飛揚(yáng)。/p》
第3步:計(jì)算機(jī)軟件
在我們開始研究電路和編程之前,我們首先需要最新版本的Arduino IDE,可以在這里找到。
由于我們使用帶有Arduino核心的ESP32,w e需要在Arduino IDE上安裝此核心。按照Github的這個簡單指南,它向您展示了您需要使用的軟件和配置,以便在Arduino IDE中使用您的ESP32開發(fā)板。
我們還需要兩個額外的庫來使我們的系統(tǒng)正常工作。第一個是Arduino JSON庫,它允許我們讀取和解析JSON請求,這正是我們從Weather Underground獲得的。您可以從我的個人Dropbox或下面的下載這兩個庫。獲得文件后,將其解壓縮并放入Arduino庫文件夾中。它通常位于C: Users YOUR_NAME Documents Arduino libraries。確保你重新啟動你的IDE,否則Arduino不會拿起新的添加。主要的Arduino SRC代碼也在該文件夾中。該庫還包含Waveshare顯示提供的樣本的修改版本。這些文件已被改變?yōu)樵贓SP32模塊上運(yùn)行其GPIO,我已經(jīng)實(shí)現(xiàn)了一個新的“字體”,其中包含了月亮各個階段的所有圖像。
第4步:電路
好的,所以這個電路非常簡單,只需要幾個元件和電線。
一般的想法是我們有一個Lipo充電器電路,一個升壓轉(zhuǎn)換器給我們5V,然后是ESP32開發(fā)套件,它將電壓降至3.3V。此3.3V也用于Waveshare電子墨水顯示屏。是的,由于升壓然后用線性穩(wěn)壓器降壓,但效率稍低,但ESP32工作在非??膳碌碾妷悍秶鷥?nèi)。大約2.5 - 3.6V。這不適用于電池項(xiàng)目,特別是那些使用鋰聚合物電池的項(xiàng)目。
基本接線如下:
升壓轉(zhuǎn)換器 5V輸出 - 》 Vin ESP32開發(fā)套件上的&GND
ESP32 3.3V - 》 3.3V&GND 電子墨水顯示器
ESP32 PIN 18 - 》 CLK 電子墨水顯示器
ESP32 PIN 23 - 》 DIN/MOSI 電子墨水顯示器
ESP32 PIN 5 - 》 CS/SS 電子墨水顯示器
ESP32 PIN 32 - 》 DC 電子墨水顯示器
ESP32 PIN 33 - 》 RST 電子墨水顯示
ESP32 PIN34 - 》忙》 電子墨水顯示
你可以看到接線非常簡單,我的DIY板只需要大約15分鐘的時(shí)間來構(gòu)建。在供電之前一定要用萬用表檢查是否有短路。
我還從我的ESP32和Lipo升壓板上取下了LED,以便在睡眠模式下節(jié)省大約40mA的電量。這將有助于電池持續(xù)更長時(shí)間。如果您愿意,可以實(shí)現(xiàn)電源開關(guān),省電電路,自動斷開等。您可以擴(kuò)展此項(xiàng)目并使其盡可能復(fù)雜。
第5步:代碼
可以在步驟3 期間在提供的文件夾中找到代碼,也可以從下面下載.ino文件。您將需要安裝步驟3中提到的關(guān)聯(lián)庫,以使所有內(nèi)容協(xié)同工作。由于代碼是在工作條件下提供的,因此對于此步驟沒有太多要說的。確保在測試程序之前輸入您的SSID和網(wǎng)絡(luò)密碼,您始終可以運(yùn)行ESP32 WiFi掃描以檢測附近的任何無線網(wǎng)絡(luò),但在我的程序中,網(wǎng)絡(luò)信息僅在代碼和代碼中設(shè)置。也許你可以修改它來詢問你想要連接到哪個網(wǎng)絡(luò):)
代碼非常簡單,我會花一些時(shí)間在接下來的幾周內(nèi)對它進(jìn)行評論和改進(jìn)。我們基本上連接到網(wǎng)絡(luò),在我的情況下,我的家庭網(wǎng)絡(luò)。然后,我們嘗試連接到Weather Underground并從網(wǎng)頁接收J(rèn)SON文本。然后使用ArduinoJSON庫進(jìn)行提取?;蛘邔SON代碼解析為char數(shù)組或字符串,允許我們在將值顯示給用戶之前對其進(jìn)行操作。最后一段代碼嚴(yán)格用于編程GUI,并通過反復(fù)試驗(yàn)完成。我查看了顯示,增加或減少了資產(chǎn)位置并再次運(yùn)行代碼,直到我對字體大小,布局和圖像的外觀感到滿意為止。
我為ESP32實(shí)施了深度睡眠例程以節(jié)省電力。默認(rèn)值為60秒,但我建議您將值更改為一小時(shí)或兩小時(shí),因?yàn)楦虏粫l(fā)生至少幾個小時(shí)。該示例接受秒數(shù),因此請確保正確執(zhí)行轉(zhuǎn)換。
我還使用The Dot Factory程序?yàn)樾伦煮w生成十六進(jìn)制數(shù)組。該字體用于生成月相的“圖像”。如果您想編輯字體文件,請確保使用上述程序進(jìn)行生成。這有點(diǎn)令人困惑,因?yàn)镋-Ink庫沒有很好地記錄,我的大部分成功歸功于試驗(yàn)和錯誤。當(dāng)我花更多時(shí)間使用此代碼時(shí),我將更新Instructable以提供有關(guān)我的發(fā)現(xiàn)的更多信息。
用于月相的字體必須按照標(biāo)準(zhǔn)的ASCII布局進(jìn)行。如果在EPD-master文件夾中打開font24,則可以看到第一個圖形由空格標(biāo)識的布局,第二個是“!”。 (感嘆號)等。您將看到我在代碼的最后一位(函數(shù)getLunarChar)中使用數(shù)字3或主題標(biāo)簽符號拉出相關(guān)字體。這是因?yàn)锳rduino期望ASCII標(biāo)準(zhǔn)從32到127.因?yàn)槲覀兪褂玫淖煮w與實(shí)際字體無關(guān),而是與月相圖形矩陣無關(guān),我們需要確保ASCII字符引用我們選擇的月相圖像。這意味著使用了!我們的月相字體顯示了該列表中的第二個月相圖形。如果你看一下月相字體,你會看到一大堆月相,都有不同的照度。將來我會添加更多代碼來使用我們實(shí)現(xiàn)的所有圖形。目前我們只使用了一些,但是圖形已經(jīng)在月相字體中實(shí)現(xiàn),只需要在代碼中實(shí)現(xiàn)就可以使用它。
第6步:最終匯編
構(gòu)建的最后一部分最令人滿意的是裝配過程。我設(shè)計(jì)并3D打印了一個適合我的電路板的外殼。該項(xiàng)目非常DIY,沒有專業(yè)的PCB或單一的標(biāo)準(zhǔn)布局。在大多數(shù)情況下,我使用的盒子足夠大,可容納您選擇使用的任何脂肪充電器或升壓轉(zhuǎn)換器。只要它們提供與本Instructable中提到的相同的基本功能,那么你應(yīng)該沒問題。
我用4個螺絲將機(jī)箱的頂部和底部一半固定在一起,用熱膠粘住我的DIY電路。我用了一些很小的膠水來裝電池,但如果我有更多的時(shí)間,我會為所有的電子產(chǎn)品定制支架。
我還決定為背面的鎖定按鈕打個洞。這會將電池與升壓轉(zhuǎn)換器斷開連接,如果您不打算24/7全天候運(yùn)行設(shè)備,這將非常有用。不幸的是,即使您的ESP32處于深度睡眠模式,升壓轉(zhuǎn)換器仍會使用電源。
總體而言,我對結(jié)果非常滿意。我在使用ESP32的過程中學(xué)到了很多東西,并且可以看到自己將來將它用于各種項(xiàng)目。
-
跟蹤器
+關(guān)注
關(guān)注
0文章
133瀏覽量
20473
發(fā)布評論請先 登錄
Texas Instruments TPS7B4260-Q1低壓差 (LDO) 電壓跟蹤器數(shù)據(jù)手冊

激光焊縫跟蹤器與傳統(tǒng)焊縫檢測方法的對比

深入解析激光焊縫跟蹤器的工作原理與應(yīng)用優(yōu)勢

TRKRLDOEVM-119通用跟蹤器LDO評估模塊

使用TMS320C40 DSP實(shí)現(xiàn)單脈沖雷達(dá)的數(shù)字跟蹤器


卡巴斯基稱谷歌網(wǎng)絡(luò)跟蹤器活躍量全球第一
用邏輯和翻譯用例優(yōu)化資產(chǎn)跟蹤器

創(chuàng)想智控激光焊縫跟蹤傳感器在海底抽淤管道全自動焊接的應(yīng)用

創(chuàng)想智控激光焊縫跟蹤器協(xié)同專機(jī)在風(fēng)機(jī)高精度自動焊接的應(yīng)用

光學(xué)跟蹤器接口連接方法有哪些
光學(xué)跟蹤器信號源手機(jī)怎么設(shè)置
光學(xué)跟蹤器使用的技術(shù)有哪幾種
創(chuàng)想智控激光焊縫跟蹤器在醫(yī)療攪拌罐反應(yīng)釜自動焊接的應(yīng)用

創(chuàng)想智控激光焊縫跟蹤器在機(jī)械法蘭盤自動掃描焊接的應(yīng)用

評論