手动制造报错_基于树莓派制造智能的行星观测器
时间:2023-12-19 21:37:02
MAKER:snowbiscuit/译:趣味无穷
材料清单
树莓派 3B ×1
16×2 LCD 屏幕 ×1
步进电机的步进电机 28-BYJ48 ×2
按钮 ×3
法兰联轴器 5mm ×2
按钮指南针 ×1
M3 螺栓/螺母 ×8
3D 打印外壳 ×1
3D 打印望远镜 ×1
行星坐标数据
这里将介绍两种定位行星的方法。
1.使用水平坐标系。可以从北方(方位角)向上倾斜,从地平线(高度)向上倾斜,所以取决于你的位置,所以角度会不一样。这种方法以北方为参考。
点击链接查看:
https://en.wikipedia.org/wiki/Horizontal_coordinate_system
2.连接树莓派 WiFi 之后,直接连接到 NASA 获得数据。
访问行星数据
从 NASA 喷气推进实验室(JPL)获取数据:
https://ssd.jpl.nasa.gov/?horizons
需要在访问数据之前进行安装 AstroQuery 查询行星网络表单和数据库的工具库。
单击下载安装:
https://astroquery.readthedocs.io/en/latest/jplhorizons/jplhorizons.html
请确保安装最新版本的 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='000', epochs=None, id_type='majorbody')
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='000', epochs=None, id_type='majorbody')
eph = obj.ephemerides()
return eph
完整的 python 请在项目文件库中下载脚本:
https://make.quwj.com/project/240
连接硬件
连接面包板、跳线、两步进电机,LCD 屏幕和三个按钮。
在树莓派上找到引脚,在终端上输入
pinout
它可以显示 GPIO 板号和板号。
连接方式如下:
第一个进电机 – 7、11、13、15
第二个进电机 – 40、38、36、32
按钮 1 – 33
按钮 2 – 37
按钮 3 – 35
显示屏 – 26、24、22、18、16、12
所有连接后,运行 python 脚本
python3 planetFinder.py
设置文本将显示在屏幕上,按钮可以启动步进电机。
3D 打印外壳
1、3D 打印外壳。
所有打印 STL 请在项目文件库下载文件:
https://make.quwj.com/project/240
2、测试外壳
外壳组装到位后,安装其他部件。将按钮安装到位,固定显示屏和步进电机,打磨外壳,确保所有部件正常使用。
安装电子组件
1.安装步进电机
步进电机将控制外壳上方望远镜的仰角,因此需要延长电线旋转。请安装如图所示。
接线完成后,运行 python 脚本,检查一切是否正常。
然后将电线放回管道,直到步进电机到位,然后将步进电机固定在外壳上,然后粘合外壳。
2.安装按钮和 LCD 屏幕
如图所示,焊接前用螺母固定安装按钮。
再使用 M3 固定螺栓和螺母 LCD 显示器 LCD 其中一个引脚焊接到电位计上。
在粘合所有组件之前,再次测试代码,以确保所有组件都能正常工作,因为这个阶段更容易修复。
3.添加法兰联轴器
将 3D 与步进电机相连的打印底座。
步进电机顶部安装法兰联轴器,用螺钉固定到位。
将望远镜安装在旋转塔顶部的电机非常简单,因为有足够的空间将小螺钉固定到位。
旋转塔的底座上粘附着一个法兰器,另一个安装在望远镜上。
再次测试,如有问题,立即修复连接正确。
启动
在树莓派开启时,将其设置为运行代码,因为它想要独立运行,而不是每次手动代码寻找行星。
输入终端。
crontab -e
在打开的文件中,在文件末尾输入另一行。
@reboot python3 /home/pi/PlanetFinder/planetFinder.py &
代码保存在 PlanetFinder 因此,文件位置为:/home/pi/PlanetFinder/planetFinder.py。如果您将其保存在其他地方,请在此更改。
注:它允许代码在后台运行,因此在启动时不会阻止其他过程。
完成组装
将小指南针添加到旋转底座的中间,最后,将所有的组件安装到位。
使用方法
1、当望远镜开始启动时,调整垂直轴。按下向上和向下按钮可以移动望远镜,调整好后按下 OK 按钮即可(位于底部)。
2、调整旋转角度,使用按钮旋转望远镜,直到小指南针将望远镜指向北,然后按下 OK 按钮即可。
现在,你可以使用向上、向下按钮选择行星,确定好后按下 OK 按钮即可。它将显示选定行星的高度和方位角,指向它几秒后再转向北。
目前为止,项目就完成了。你会去寻找哪一颗行星呢?!
本项目文件库地址:
http://maker.quwj.com/project/240
via instructables.com/id/Raspberry-Pi-Planet-Finder/
文中链接可点击文末阅读原文查看
更多精彩内容
基于树莓派 CribSense 的婴儿监视器
Arduino + WS2812B 制造数字时钟
我看起来是个手柄,其实是个可调电源
一朵预报天气的云,基于树莓派+3D打印
DIY 斯坦福 Pupper 12 自由度四足机器狗
Barrier:PC 与树莓派的键盘鼠标共享方案
酷改装:时速40km 续航18km的电动滑板
8GB内存版树莓派4已发布,官方定价75美元