Git Product home page Git Product logo

jojos1220 / turningturntable Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 5.07 MB

ESP32 based Autonomus Turntable for 360° Photorotation on enabled BLE Smartphone Connection.

Home Page: https://www.instructables.com/360-Smartphone-Photography-With-BLE-ESP32-Controll/

License: Creative Commons Attribution Share Alike 4.0 International

C++ 77.52% C 22.48%
arduino-framework esp32 fotography github-actions platformio stepper-motor stepper-motor-driver turntable autonomous-turntable drehteller accelstepper-libraries ble

turningturntable's Introduction

TurningTurnTable

20240608_230146
Figure 1: Overview of the functional turning assembly with happy jellyfish

PlatformIO CI License Release Version Release Date Last commit Contributors vscode.dev preview Dependabot GitHub Actions PayPal Ko-Fi

About this Project and Repository

Welcome to the source code repository for the TurningTurnTable project, built on ESP32 for the dynamic control of the autonomous Turntable.

For a comprehensive assembly guide and additional project details, please refer to the Contact section, where you'll find project links leading to detailed instructions on Instructables.

Features

Autonomous Mode: The standout feature is the autonomous mode, which rotates the turntable at a specified angle and triggers the connected device via BLE to take a picture. Depending on the setup, up to 64 pictures of the object can be captured.

Hand Mode: Is the automatic mode not suitable for your needs? You can manually control the turntable through the menu, adjusting it to a specific angle or rotating it infinitely in any direction.

Control by OLED-Display and Encoder: The turntable is fully controlled through an integrated OLED display and encoder. In addition to switching between Auto and Manual modes, you can set parameters such as stepper acceleration/speed and the stepper angle between pictures. You can also check the BLE connection to your device and take a test screenshot.

Table of Contents
  1. About this Project/Repository
  2. Getting Started
  3. Roadmap
  4. Contributing
  5. License
  6. Contact
  7. Acknowledgments
  8. Support

Happy tinkering and making picutes! 🚀🛠️💡

Getting Started

Before you begin, ensure you have the following components (or their equivalents) available.

The base component is an ESP32 board with a prototyping shield, similar to an Arduino. You can also use a NodeMCU-specific board, which functions similarly but has different pin definitions. A stepper motor driver and stepper motor are connected to this board for motion control. An OLED display and encoder are installed for operating the assembly. The project uses the internal Arduino power supply and an external 12V power adapter to operate the stepper motor driver. To complete the setup, you will need some M3/M4 screws, nuts, washers, heat inserts, bearings, and cables. For wiring, refer to the pins.h file, which describes the pins used for the specific board and interface.

For detailed assembly instructions, refer to the Instructable guide and the CULTS3D homepage in the Contact section.

20240707_104415

Figure 2: Hardware Setup -> ESP32 "Arduino", NEMA 17 Pancake Stepper, Stepper-Motor Driver Board and some connector cables


Preparing 3D-printed parts

The STL files and a detailed 3D printing overview of the project are available for download on Cults3D:

Link to Cults3D: Cults3D

Feel free to explore my other projects as well 🚀.


After preparing the parts, start by assembling the base plate. Insert the heat inserts into their designated spots and then place the bearings into the gaps on the base plate. Next, attach the front plate mount. For the front plate, install the OLED display and the encoder, securing them with screws and heat inserts. Once the hardware assembly is complete, move on to the electronics, starting with the Arduino-like ESP32 board and the prototyping shield. Then, install the stepper motor and the stepper motor driver. Depending on the stepper motor used, either print the alternative stepper motor adapter plate for the NEMA 17 Pancake Stepper or mount the 28BYJ-48 directly in place. Finally, complete the assembly by adding heat inserts to the top part and screwing the gear into place.

20240610_195708

Figure 3a: Hardware Schematics

Electrical_Wiring_Schematic

Figure 3b: Electrical Wiring Schematics

(back to top)


Comissioning

Before flashing the software onto the ESP32, pre-define your specific hardware setup in the "platformio.ini" file and set the project-specific parameters in the "TurningTurnTablePARAMETERS.h" file.

The most critical sections in the "platformio.ini" file:

[platformio]
default_envs = esp32ARDUINO ; Selecting your specific Default Environment for Software Build

[env:esp32xxxxxxxxxxxx]
build_flags = 
	-D ESP32dev_ARDUINO				; Defining Electronic Board
	-D _17HS08					; Defining Used Stepper Type in FULLStep Mode(_17HS08 or _28BYJ48)
							; Stepper Operation Mode is Setup in TurningTurnTablePARAMETERS.h

Most specific sections in the TurningTurnTablePARAMETERS.h file:

// Defining Stepper Operation Mode on your specific connection/operation Purpose
#define StepperOperation 2                              // 0 == FULL4WIRE; 1 == HALF4WIRE; 2 == DRIVER Stage with 16 MicroSteps

When you power on the turntable, it should start up, displaying the boot screen on the OLED display. The turntable is now ready for operation, and you can control it using the encoder and your smartphone.

000_RestartScreen

Figure 4: OLED-Boot Screen

Roadmap

The initial release of this project introduces a fully functional prototype to the open-source community.

Future updates will incorporate additional features based on community feedback, and the roadmap will be continuously updated.

  • Enhancing support for various displays

  • Remote control functionality for turntable operation

  • Integration of internal power source capabilities

(back to top)

Contributing

Everybody is welcome to contribute the project - regardless of the experience level!

  1. fork the repository
  2. clone your fork on your PC
  3. create a branch for your changes
  4. add you changes
  5. commit and push
  6. create a pull request

(back to top)

License

Creative Commons Attribution Share Alike 4.0

License: CC BY-NC-ND 4.0

See also LICENSE for more information about license rights and limitations.

(back to top)

Contact

Project Link Github

Project Link Instructables

Projekt Link Cults3D

(back to top)

Acknowledgments

For more detailed information about the Project, please check the Instructables Link given within the Contact section.

Support

You Like the Project and want to Support me and my work?

Well, I like coffee ;) Maybe we got a deal?

ko-fi

Donate with PayPal

20240608_230343
Figure 5: Happy-Turning-Puppy :)

(back to top)

turningturntable's People

Contributors

jojos1220 avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.