A fork of the original INDI Aldiroof project by Derek O'Keeffe, designed for simplified roll-off roof mechanisms requiring only two signals: OPEN and CLOSE.
This project includes an INDI driver and Arduino firmware to manage a roll-off roof for astronomical observatories.
- Efficient Roof Operation: Control a motor-driven sliding gate reducer with just two signals.
- Hardware Safety: Includes limit switches for roof position and reed switches for telescope parking.
- Simple Electronics: Two 30A relays connected to an Arduino handle all roof movements.
- Seamless Communication: Uses the Firmata protocol for interaction between the Arduino and the INDI driver.
- Microcontroller: Arduino UNO (or compatible board).
- Relays: Two 30A relay modules.
- Sensors: Limit switches and reed switches for positional feedback.
- Server: A Linux-based machine running the INDI server.
- (Optional) A custom 3D-printed case for the hardware.
- Open the Arduino IDE.
- Connect your Arduino board to your computer.
- Navigate to the
arduino-firmware/RoofController
directory. - Open
RoofController.ino
and upload the firmware.
-
Install Required Dependencies
Make sure your system is up to date and install the necessary libraries:sudo apt-get update sudo apt-get install -y cmake libindi-dev libnova-dev
-
Clone the Repository
Clone this project to your machine:git clone <repository-url> cd <repository-directory>
-
Build and Install the Driver
Run the provided script:chmod +x ./indi-rollroof/install.sh ./indi-rollroof/install.sh
This script will:
- Create a
build
directory. - Configure the driver using
cmake
. - Compile and install the driver via
make install
.
- Create a
To integrate the driver with the INDI Web Manager:
- Open
/usr/share/indi/drivers.xml
for editing:sudo nano /usr/share/indi/drivers.xml
- Add this configuration under the
<Domes>
section:<device label="Roll Roof" manufacturer="miksoft"> <driver name="Roll Roof">indi_rollroof</driver> <version>1.0</version> </device>
- Save and restart the INDI Web Manager.
- Wire the Arduino with relays, sensors, and motor as outlined in the wiring diagram.
- Ensure that:
- Limit switches are positioned to detect the fully open and closed states.
- Reed switches confirm the telescope’s parked position before closing the roof.
Contributions are welcome! If you encounter bugs or have suggestions for improvements:
- Fork the repository.
- Create a feature branch.
- Submit a pull request.
This project is based on the work of Derek O'Keeffe and leverages the powerful INDI Library.
Special thanks to the open-source community for enabling projects like this.
This project is licensed under the MIT License.