论坛上讨论的大神很多,贴出来的代码也很多,但是我压根就看不懂,往往看到这么大一串代码就觉得非常难,因为本人小白一个,往往看到这么大一串代码就觉得非常难,要学什么中断 时间 等等。为了让自己有个更好的积极性,就一步一个脚印由浅到深慢慢学习吧。至目前为止我只才学了两三句单片机语句,还望有大神指点。
软件需求:Stellarium,Device Monitoring Studio(监听端口用),audunio 1.6.7 (写程序用),teensyduino(因为我用的是TEENSY所以要加装)
硬件需求:TEENSY 2.0 ++ (之所以用这个,是我很早前就有了的直接拿来用) 同好可以在网上购 ardunio pro micro
我所使用的
1、安装ardunio
2、设置Stellarium
在设置Stellarium的时候就遇到一小问题,插件---望远镜控制----配置按钮灰色无法点击。解决方法。勾选启动时加载后关闭Stellarium重新开启就可以了。
想看日志的可以在选项勾上记录至文件。
3、分析LX200协议,这里直接复制论坛上的资料。
1、 stellarium 在没有任何操作的时候会不停的发送
#:GR# (询问现在望远镜指向的RA值)
2、 当正确回复 stellarium时,会发送
#:GD# (询问现在望远镜指向的DEC值)
3、 当正确回复 GD时,stellarium中会出现一个黄色圆圈
4、 当没有正确回复 GD时, stellarium 重复发送 GR# 来询问
以上 1-4 是 不停止的, 回复 GR GD 是需要按照一定格式进行回复的,参看LX200串口协议
4、在stellarium显示赤道仪的位置
代码:
- String inputString = "";
- void setup() {
- Serial.begin(9600);//端口波特比
- }
- void loop() {
- while (Serial.available()>0){
- char inChar = Serial.read(); //读取端口数值
- inputString += String(inChar);
- delay(5);
- }
- if (inputString == "#:GR#"){ //stellarium询问现在望远镜指向的RA值
- Serial.print ("02:31:50#"); //返回赤道仪AR值给stellarium 取的是北极星的值
- inputString = "";
- }
- if (inputString == "#:GD#"){ //stellarium询问现在望远镜指向的DEC值
- Serial.print ("+89*15:51#"); //返回赤道仪DEC值给stellarium 取的是北极星的值
- inputString = "";
- }
- }
复制代码效果图:
|