# Star-Track

[![License: GNU General Public License v3.0](https://img.shields.io/badge/Firmware%20License-GNU%20GPL--v3.0-yellow)](https://www.gnu.org/licenses/gpl-3.0.en.html#license-text)
[![License: CC BY-SA 4.0](https://img.shields.io/badge/Documentation%20License-CC_BY--SA_4.0-lightgrey)](https://creativecommons.org/licenses/by-sa/4.0/)


This repository contains all the files and documentation for Star Track, Arduino powered GoTo-mount inspired star tracking system.  [Visit the DIY guide](https://gorkem.cc/projects/StarTrack/) for details.


File structure:
+  `Firmware` contains the code and necessary drivers.
+  `CAD` contains print ready .stl files



## More info: 

There are two Arduino's working in order. Arduino Uno being master and nano being the puppet.

### Master module

The master(Uno) module has two inputs,

- Gyro data

- RTC(Real Time Clock) data

and 6 outputs,

- cw(base motor clockwise)

- ccw(base motor counter clockwise)

- stahp(base motor stop)

- cw2(DEC motor clockwise)

- ccw2(DEC motor counter clockwise)

- stahp2(DEC motor stop)

The RTC is set to UTC time, a function calculates local sidereal time in degrees and rotates the mount to 0h RA position. The loop constantly checks if the gyro data is equal to the user input & sidereal time data. The default is 0,0. If there is a change and the equality breaks the master module send a command to the puppet module.

If the user value is higher than the gyro value a signal is sent through cw the motor turns clockwise.

If the user value is less than the gyro value a signal is sent through ccw the motor turns counter clockwise

If the user value is equal to the gyro value a signal is sent through stahp and the motor stops
same for cw2,ccw2,stahp2.

This way the mount will turn to the user-specified coordinates. And update with sidereal time thus it will track the sky.

Note: I could use serial communication between the two Arduino's but since the analog pins are used by the inputs I had to use digital pins.
