Bouw je eigen Iron Man-helm & Arc Reactor met Arduino – Stap-voor-stap handleiding
Onderdelen en benodigdheden
| Arduino UNO (of Arduino 101 voor BLE) | 1 |
| Adafruit NeoPixel-ring WS2812 5050 RGB LED (Arc Reactor) | 1 |
| Adafruit MPR121 capacitieve touch-sensor (12 toetsen) | 1 |
| Servo Tower Pro MG996R (voor visierbeweging) | 1 |
| 4xAA-batterijhouder (servo-voeding) | 1 |
| 9V-batterijclip (Arduino-voeding) | 1 |
| Draadjes (jumper wires) | 1 set |
Benodigde tools
- 3D-printer (Lulzbot Mini of vergelijkbaar)
Apps en online diensten
- Arduino IDE
- Autodesk Netfabb - voor het opsplitsen van 3D-modellen
- Fritzing - voor schema's
Over dit project
Inleiding en motivatie
Alles begon met een kartonnen Ant-Man-helm. Op de National Maker Faire in Washington D.C. was het een hit. Dat motiveerde me om een echte Iron Man-helm te bouwen. Na verschillende prototypes (karton, papier – te fragiel) koos ik voor 3D-printen. Uiteindelijk een stabiele, goed passende helm met ruimte voor een motor.
De 3D-print
1. Opsplitsen in printbare stukken
Het Thingiverse-model bestond uit 3 grote delen (hoofd, kin, visier) – te groot voor mijn printplaat. Met Netfabb Basic (gratis) sneed ik alles in 24 kleinere stukken. Na elke print controleerde ik de maat door tijdelijk te tape-plakken. Totaal ~1,5 rol filament.
2. Juiste lijm kiezen
Drie eisen: sterke binding, snelle uitharding, goed schaafbaar. Getest: E6000, JB Weld KwikWeld, JB Weld Plastic Bonder, Loctite Plastic Bonder. KwikWeld won. Werkwijze: randen ruwen met vijl, twee-componenten mengen, gelijkmatig aanbrengen, klemmen, 10+ minuten laten uitharden.
3. Servo-mechanisme ontwerpen
De Thingiverse-mechaniek was onduidelijk. Ik ontwierp een eigen hefboom: rechte lijn van servo naar visierbevestiging, hoek afgemeten, prototype getest. Eerste versie: te scherpe hoek. Tweede: goed. Maar visier ging niet glad open. Oplossing: metalen kledinghanger als versteviging, 3D-geprinte klemmen, sleuven in helm gezaagd. Resultaat: soepel en stabiel.
4. Assembleren & schilderen
Alles ontkoppelen → wit primer → kinstuk afkleben → rood sprayen → visier goud → drogen laten → kinstuk goud → opnieuw assembleren. Werkt perfect!
5. De Arc Reactor
Hoes voor NeoPixel-ring ontworpen, deksel afgeleid van Thingiverse-model (thing:33021). Gatjes voor draden, oog voor koord, diffuser van transparant ABS-filament. Na een rekenfout (ring te klein) opnieuw geprint – nu perfect.
De elektronica
Doel: 1 servo (visier) + 1 NeoPixel-ring (Arc Reactor) besturen via capacitieve touch (MPR121, 12 ingangen, I2C). Arduino UNO als basis (ook Arduino 101 getest – toekomstige BLE-uitbreiding mogelijk).
Stroomvoorziening – cruciaal!
- Servo onder belasting → back-EMF risico → afzonderlijke voeding (4xAA).
- GND van Arduino, servo en AA-pack allemaal verbinden (gemeenschappelijke grond).
- NeoPixel-ring eerst ook op AA-pack → servo "trilde" bij LED-wisseling. Oplossing: NeoPixel direct op Arduino (5V), verse AA-batterijen. Probleem opgelost, oorzaak onzeker (moest lage batterijen zijn).
Alles gebreadboard → Adafruit ¼ Perma-Proto board → eigen 3D-geprinte behuizing (blauw HIPS) → camera-tasje voor Maker Faire.
De software
Twee versies: IronMan02.ino (snel & werkend) en IronMan04.ino (multitasking, één knop voor open/dicht).
Versie 02 – met delay()
void up() {
if ((millis() - lastSwitched) > 250) {
lastSwitched = millis();
if (!helmetUp) {
for (int currPos = 0; currPos < upAngle; currPos += 2) {
helmetServo.write(currPos);
delay(20); // BLOKEERT alles!
}
helmetUp = true;
}
}
}
Nadeel: tijdens delay() doet de processor niets anders.
Versie 04 – multitasking met millis()
- Eén touch-sensor voor visier open/dicht (state-variabelen:
flip,flipping,directionality). - Anti-bounce via timing-block (500 ms) in object-methodes.
- Gladde servo-beweging via tijdsgebaseerde stappen (15 ms interval) zonder
delay().
void Update() {
if (flipping && (millis() - lastMoved >= 15)) {
lastMoved = millis();
currentPos += (directionality == UP) ? 3 : -3;
helmetServo.write(currentPos);
}
if (currentPos >= upAngle || currentPos <= downAngle) flipping = false;
}
Resultaat: met 04.ino kun je visier draaien en tegelijkertijd de NeoPixel aan/uit zetten. Met 02.ino wacht de NeoPixel tot de servo klaar is.
Toekomstige uitbreidingen
- Gloeiende ogen
- BLE-connectiviteit met Arduino 101
- Steminterface (JARVIS!)
Code
Broncode: GitHub - Iron Man Helmet & Arc Reactor
Schema
Fritzing-schema in de repository.
Productieproces
- Riooldeksels: Ontwerp, Materialen en Moderne Productie
- De evolutie en moderne productie van huishoudelijke strijkijzers
- Gietijzeren Kachels: Geschiedenis, Ontwerp en Moderne Innovaties
- De Evolutie en Techniek van Football Helmen: Veiligheid, Ontwerp en Toekomstige Innovaties
- IJzer: Eigenschappen, Geschiedenis en Alledaagse Toepassingen
- Batterijen: Van Volta's Stap tot Moderne Lithiumcellen
- UnifiedWater v1 – Complete Arduino Waterkwaliteit Sensor Kit
- Een Arduino Iron Man bouwen: onderdelen, sensoren en stapsgewijze handleiding
- Geoptimaliseerde Voedingsoplossingen voor Arduino Projecten
- Arduino 101 BLE + Blynk: DIY Bluetooth-gestuurde Tank Robot
- Alles over gesmeed ijzer: Eigenschappen, toepassingen en geschiedenis