星空,永遠是大家神往的地方。
這次給大家帶來的項目,是外國小哥用樹莓派和天文望遠鏡製作的一臺智能行星觀測器。
觀測器從 NASA 獲取已知行星的坐標數據,然後可以自動調整角度,聚焦這顆行星,讓我們很方便地觀測它們。
相信它能很好地帶我們好好感受一下外太空世界。
這裡介紹兩種定位行星的方法。
從 NASA 噴氣推進實驗室(JPL)獲取數據:
https://ssd.jpl.nasa.gov/\?horizons
訪問數據前需要安裝 AstroQuery 庫,這個庫是用於查詢行星網絡表單和資料庫的工具。下載地址:
https://astroquery.readthedocs.io/en/latest/jplhorizons/jplhorizons.html
如果這是你的第一個樹莓派項目,可以先參考下面的設置指南:
https://projects.raspberrypi.org/en/projects/raspberry-pi-getting-started
確保安裝最新版本的 Raspbian(我使用的是3.7.3版)。打開終端運行命令:
sudo apt install python3-pip
然後使用 pip 安裝 astroquery 的升級版本。
pip3 install --pre --upgrade astroquery
在繼續完成項目前,可以使用簡單的 Python 腳本訪問該數據,確保所有依賴正確安裝。
from astroquery.jplhorizons import Horizons
mars = Horizons(id=499, location=&39;, epochs=None, id_type=&39;)
eph = mars.ephemerides()
print(eph)
不出意外,這串代碼會顯示火星的詳細位置。我們可以查看火星定位是否正確:
https://theskylive.com/planetarium
為了方便查詢,我會做簡化處理。其中 id 表示是 JPL數據中與火星的數據,epochs表示獲取數據的時間,id_type表示詢問太陽系主體。「000」在格林威治天文臺的位置代碼中表示英國的位置。其他位置可點擊查看:
https://minorplanetcenter.net//iau/lists/ObsCodesF.html
如果出現報錯:No module named 『keyring.util.escape』可以在終端中輸入以下命令:
pip3 install --upgrade keyrings.alt
為了找到精確的坐標數據,在getPlanetInfo修改位置信息(使用上一步中天文臺的列表修改這裡的location)
def getPlanetInfo(planet):
obj = Horizons(id=planet,
location=&39;, epochs=None,
id_type=&39;)
eph = obj.ephemerides()
return eph
完整的 python 腳本下載方式,在文末告知。
在該步驟中,要連接麵包板、跳線、兩個步進電機、LCD 屏幕和三個按鈕。在樹莓派上找到引腳,在終端上輸入
pinout
上圖顯示了 GPIO 編號和板子編號。
連接方式如下:
當全部連接後,運行 python 腳本
python3 planetFinder.py
在屏幕上會顯示設置文本信息,並且按鈕可以啟動步進電機。
所有列印 STL 文件,文末提供打包下載連結。
部件都列印完成之後,在塗膠水之前,先確保它們都能緊密貼合。
將按鈕安裝到位,固定顯示屏和步進電機,打磨一下外殼,確保所有組件都能正常使用。然後我們再進行下一步的操作。
步進電機將控制位於外殼上方的望遠鏡的仰角,所以需要延長電線方便旋轉。安裝方法可以參照上圖。
接線完成後,可以運行一下 python 腳本,檢查是否一切正常。
然後將電線放回管內,直到步進電機就位,再將步進電機固定在外殼上,把外殼粘合。
如圖所示安裝按鈕,在焊接前使用螺母把它固定好。
使用M3螺栓和螺母固定LCD顯示器。請將LCD其中一個引腳焊接到電位計上。
在將所有的組件粘合之前,再次測試代碼,確保所有能夠正常工作,因為該階段更容易修復。
將3D列印的底座連接到步進電機。
我們把5mm的法蘭聯軸器安裝在步進電機的頂部,並用螺釘固定到位。
將望遠鏡安裝到旋轉塔頂上的電機很簡單,因為有足夠的空間可以將小螺釘固定到位。
一個法蘭器粘連在旋轉塔架的底座上,另一個安裝在望遠鏡上。再次測試,確保裸露的電線彼此不接觸,用電工膠帶纏住並修補可能引起問題的任何地方。
因為想把它獨立運行,而不是每次手動代碼尋找行星,因此把觀測器設置為在樹莓派開啟時運行代碼。在終端中輸入。
crontab -e
在打開的文件中,在文件末尾,另起一行輸入。
@reboot python3 /home/pi/PlanetFinder/planetFinder.py &
代碼保存在 PlanetFinder 文件夾中,因此文件位置為:/home/pi/PlanetFinder/planetFinder.py。如果你保存在其他地方,請在此處更改。
說明:代碼末尾的&是允許代碼在後臺運行,因此它在啟動時不會阻止其他進程。
將小指南針添加到旋轉底座的中間,最後,將所有的組件安裝到位!
1、當望遠鏡開始啟動時,調整垂直軸。按下向上和向下按鈕可以移動望遠鏡,調整好後按下 OK 按鈕即可(位於底部)。
2、調整旋轉角度,使用按鈕旋轉望遠鏡,直到小指南針將望遠鏡指向北方,然後按下 OK 按鈕即可。
現在,我們可以使用向上、向下按鈕選擇行星,確定好後按下OK按鈕即可。它將顯示選定行星的高度和方位角,指向它幾秒後再轉向北。
到現在,項目就算全部完成了。
趕緊去找找你心中的那顆行星吧!
項目來源:https://www.instructables.com/id/Raspberry-Pi-Planet-Finder/
項目作者:snowbiscuit