/Iron_Man_Servo

Primary LanguageC++OtherNOASSERTION

Iron Man Helmet Servo and Audio Controller for Arduino

Iron Man Mark 85 Avengers End Game - Marvel

The purpose of this project is to automate features of the various models of the Iron Man 3D printed helmet. This project was created with the purpose of enabling fans like you to be able to more easily make your own automated helmet. We encourage you to learn from this as well as provide feedback for us to improve upon it.

Follow Me

alt text alt text alt text alt text alt text

Actual Use:

alt text alt text alt text alt text

WARNING!!!

If you have an AM2, AM3 or AM4 board, DO NOT USE THIS CODE!!! Use our code in the GitHub repository here: Iron_Man_Servo_AM. Attempting to upload this code will void any support and potentially render your board useless.

Getting Started

It will be helpful but not necessary if you have a basic level of programming experience as well as a little experience programming Arduino micro controllers. This project was created using the Arduino IDE. Clone or download this repository at your own risk.

You can download the 3D printable servo kit from Thingiverse:

Thingiverse MK85 Iron Man Servo Kit

Thingiverse MK46 Iron Man Servo Kit

Thingiverse MK7 Iron Man Servo Kit

Thingiverse Marvel Legends Iron Man Servo Kit

You can purchase an easy to install and use Arduino shield (Nano included) designed specifically for this project. This Board comes pre-flashed with the Crashworks code installed.

A.L.I.S.H.A. - Arduino nano Led & Integrated Servo Helmet Actuator for 3D Printed Helmets

ebay - A.L.I.S.H.A. / S.U.E. / PENELOPE

alt text

Prerequisites

  • Some experience with Arduino
  • Be sure to have the Arduino Nano board installed in your environment.
  • An Arduino Nano board
  • Servos
  • LEDs
  • Resistors

(See BOM below for details.)

Installing

Detailed instructions on how to download and install the code can be found here: UPLOAD_CODE.md

Wiring Diagram

Wiring diagram

Breadboard Example

Breadboard example

BOM - A.L.I.S.H.A.

Most components can be found on Amazon or AliExpress

  • Arduino Nano
  • MG90S Servo (metal gear only!)
  • Cosplay Iron Man/Batman LEDs (can be found on eBay or AliExpress)

BOM - S.U.E.

Most components can be found on Amazon or AliExpress

  • 8Ω Speaker, Maximum 3 Watt
  • Micro SD Card , Maximum 8gb (Partioned as FAT32)
  • Optional Powered Speaker with 3.5 mm (1⁄8 in) stereo (TRS) connection for use with Auxillary Audio Port

Feature Configurations

The following table is a list of configurable options found in the config.h file.

!!! WARNING !!! Making changes to the configurations of your board can have unknown side effects and may cause damage. We strongly advise users to exercise caution when making changes to the board's settings, and to only do so if they have a clear understanding of the potential consequences. Improper changes to the board's configurations may result in permanent damage, loss of functionality, or other issues that could impact its performance. If you are unsure about any changes, please contact us on Frankly Built's discord: https://discord.gg/franklybuilt.

Feature Parameter Default Options Comment
Sound SOUND Disabled Disabled, Enabled Enables sound
Sound MP3_TYPE DFPLAYER DFPLAYER, JQ6500 Determines which MP3 player module is being used
Sound SND_EFFECT_TYPE JARVIS JARVIS, FRIDAY Determines which sound effects to use
Sound VOLUME 29 0-30 Sets the volume of the mp3 player
Servo SERVO_TYPE TPMG90S TPMG90S, GENERIC, MANUAL Sets the type of servos being used to determine the PWM high/low values
Servo PWM_HIGH 2000 Manual Setting of Duty Cycle
Servo PWM_LOW 1000 Manual Setting of Duty Cycle
Faceplate SERVO_CLOSE_SPEED 100 0-255 Sets speed of the servo close function
Faceplate SERVO_OPEN_SPEED 255 0-255 Sets speed of the servo opening recommend set to max speed to aid in lift
Faceplate SERVO1_OPEN_POS 20 0-180 Sets open position of servo 1
Faceplate SERVO2_OPEN_POS 160 0-180 Sets open position of servo 2
Faceplate SERVO1_CLOSE_POS 160 0-180 Sets closed position of servo 1
Faceplate SERVO2_CLOSE_POS 20 0-180 Sets closed position of servo 2
Faceplate SERVO1_DISABLE_AFTER_OPEN true true/false Sets whether or not to disable the servo when the faceplate is open.
Faceplate SERVO2_DISABLE_AFTER_OPEN true true/false Sets whether or not to disable the servo when the faceplate is open.
Eyes EYES_FX EYES_FADE_ON EYES_NONE, EYES_MOVIE_BLINK, EYES_FADE_ON Special effect when faceplate closes
Eyes SETUP_FX SETUP_MOVIE_BLINK EYES_NONE, EYES_MOVIE_BLINK, EYES_FADE_ON Determines which special effect to enable during startup
Lighting AUX_LED_ENABLED TRUE TRUE, FALSE Enables aux led code to run
Walsh 85 WALSH85 Disabled Disabled, Enabled Walsh3D MK85 Jaw Control (Open/Close)
Walsh 85 CHIN_CLOSE_SPEED 175 0-255 Sets speed of the Jaw closing for Walsh85 Helmet
Walsh 85 CHIN_OPEN_SPEED 255 0-255 Sets speed of the Jaw opening for Walsh85 Helmet
Walsh 85 SERVO3_OPEN_POS 90 0-180 Sets open position of servo 3
Walsh 85 SERVO3_CLOSE_POS 0 0-180 Sets closed position of servo 3
Missile MISSILE Disabled Disabled, Enabled Enables forearm missile special effects
Missile MISSILE_OPEN_SPEED 200 0-255 Sets speed of the missile moving into launch position
Missile MISSILE_CLOSE_SPEED 60 0-255 Sets speed of the missile retracting
Missile MISSILE_BAY_OPEN_SPEED 200 0-255 Sets opening speed of the missile bay
Missile MISSILE_BAY_CLOSE_SPEED 60 0-255 Sets closing speed of the missile bay
Missile SERVO4_OPEN_POS 180 0-180 Sets open position of servo 4
Missile SERVO4_CLOSE_POS 0 0-180 Sets closed position of servo 4
Missile SERVO5_OPEN_POS 180 0-180 Sets open position of servo 5
Missile SERVO5_CLOSE_POS 0 0-180 Sets closed position of servo 5
Missile MISSILE_BAY_DELAY 1000 Amount of time (ms) to delay between movement of the missile bay and the missile

Pin Configurations

The following table is a list of pin configurations found in the config.h file.

!!! WARNING !!! Making changes to the pin configurations of your board can have unknown side effects and may cause damage. We strongly advise users to exercise caution when making changes to the board's settings, and to only do so if they have a clear understanding of the potential consequences. Improper changes to the board's configurations may result in permanent damage, loss of functionality, or other issues that could impact its performance. If you are unsure about any changes, please contact us on Frankly Built's discord: https://discord.gg/franklybuilt.

Feature Pin Default Options Comment
Sound RX_PIN 7 Sets pin for receive (RX) communications
Sound TX_PIN 8 Sets pin for transmit (TX) communications
Lighting AUX_LED_PIN 4 Sets pin for Aux LED non-PWM
Multiple BUTTON_PIN 2 Sets pin of primary switch
Eyes LEFT_EYE_PIN 6 Sets pin for left eye LED
Eyes RIGHT_EYE_PIN 3 Sets pin for right eye LED
Faceplate SERVO1_PIN 9 Sets pin for servo 1
Faceplate SERVO2_PIN 10 Sets pin for servo 2
Walsh 85 SERVO3_PIN 5 Sets pin for servo 3 (Walsh85 Jaw Control)
Missile SERVO4_PIN 4 Sets pin for servo 3 (missile bay)
Missile SERVO5_PIN 11 Sets pin for servo 4 (missile)
Missile MISSILE_BUTTON_PIN 12 Sets pin for missile button

Built With

Versioning

Version Beta 3.1.0.2 (Use at your own risk)

Authors

  • Dropwire

  • Cranshark @ i3 Creations

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments/ Hat Tip