Candy Cane Conundrum

Arduino Wiring Guide - Peppermint Power Plant

Common Components (All Difficulties)

Core Hardware

Arduino Mega 2560 Main microcontroller
CQRobot DMX Shield For RGBW LED control
DMX512 24-Channel Decoder Converts DMX to LED voltage
20x4 I2C LCD (OPTIONAL) Not installed for initial run - pins reserved
12V 5A Power Supply Powers Arduino + DMX decoder
2x Passive Buzzers For melodies and sound effects

Common Pin Assignments

Component Arduino Pin Notes
Buzzer (Low-level trigger module) 45 Melody output (pins 8/9 conflict with shield)
LCD SDA (OPTIONAL) 20 I2C data - reserved for future LCD
LCD SCL (OPTIONAL) 21 I2C clock - reserved for future LCD
DMX Shield TX 1 Serial TX (used by shield)
DMX Shield RX 0 Serial RX (used by shield)
DMX Shield Upload Warning: The DMX shield blocks code uploads! Remove the shield OR pull the EN jumper before uploading sketches.

DMX Decoder Wiring

DMX Channel LED Color Decoder Terminal
Channel 1 Red R output to LED strip R+
Channel 2 Green G output to LED strip G+
Channel 3 Blue B output to LED strip B+
Channel 4 White W output to LED strip W+
DMX Decoder DIP Switches: Set Address 1 (DIP 1 ON, all others OFF). Make sure FUN switch (DIP 10) is OFF for DMX mode.

Power Distribution

12V 5A Power Supply │ ├──────────────────────────────┐ │ │ ▼ ▼ DMX Decoder Arduino Mega (12V input) (Vin or barrel) │ ▼ RGBW LED Strip (12V, V+/R/G/B/W) IMPORTANT: Connect GND from power supply to BOTH: - DMX decoder GND - Arduino GND
EASY Primary Systems - Boiler (3 Buttons)

Button Wiring

Button Color Input Pin LED Pin Wire Colors
Button 1 RED 22 23 Red wire pair
Button 2 GREEN 24 25 Green wire pair
Button 3 BLUE 26 27 Blue wire pair
BUTTON WIRING (each button): Button Switch: Arduino Pin (22/24/26) ───── Button ───── GND Button LED: Arduino Pin (23/25/27) ──[220Ω]── LED(+) ── LED(-) ── GND Note: Switch and LED are separate circuits. Only the LED needs a resistor.
Phase 1 Solution (Easy): GREEN → BLUE → RED
MEDIUM Secondary Systems - Production Line (4 Buttons)

Button Wiring

Button Color Input Pin LED Pin Wire Colors
Button 1 RED 22 23 Red wire pair
Button 2 GREEN 24 25 Green wire pair
Button 3 YELLOW 26 27 Yellow wire pair
Button 4 WHITE 28 29 White/gray wire pair
HARD Advanced Systems - Quality Control (5 Buttons)

Button Wiring

Button Color Input Pin LED Pin Wire Colors
Button 1 RED 22 23 Red wire pair
Button 2 GREEN 24 25 Green wire pair
Button 3 BLUE 26 27 Blue wire pair
Button 4 YELLOW 28 29 Yellow wire pair
Button 5 WHITE 30 31 White/gray wire pair
EXPERT Master Control - Fusion Core (8 Buttons)

Button Wiring

Expert has 8 buttons: 5 "solid" buttons + 3 "flashing" buttons (same colors, different behavior)

Button Color Mode Input Pin LED Pin
Button 1 BLUE Solid 22 23
Button 2 YELLOW Solid 24 25
Button 3 WHITE Solid 26 27
Button 4 GREEN Solid 28 29
Button 5 RED Solid 30 31
Button 6 BLUE Flashing 32 33
Button 7 YELLOW Flashing 34 35
Button 8 WHITE Flashing 36 37
Flashing vs Solid: The "flashing" buttons automatically flash their LEDs during gameplay. Same wiring, different code behavior. Players match stripe patterns on hidden candy canes to determine which button type to press.

Quick Reference - All Pin Assignments

ARDUINO MEGA 2560 PIN MAP - CANDY CANE CONUNDRUM Digital Pins: 0, 1 - DMX Shield (Serial TX/RX) - DO NOT USE 45 - Buzzer (pins 8/9/44 conflict with shield) 20 - LCD SDA (I2C) 21 - LCD SCL (I2C) Button Input Pins (INPUT_PULLUP): 22 - Button 1 input 24 - Button 2 input 26 - Button 3 input 28 - Button 4 input (Medium+) 30 - Button 5 input (Hard+) 32 - Button 6 input (Expert only) 34 - Button 7 input (Expert only) 36 - Button 8 input (Expert only) Button LED Pins (OUTPUT): 23 - Button 1 LED 25 - Button 2 LED 27 - Button 3 LED 29 - Button 4 LED (Medium+) 31 - Button 5 LED (Hard+) 33 - Button 6 LED (Expert only) 35 - Button 7 LED (Expert only) 37 - Button 8 LED (Expert only)

Button Count by Difficulty

Difficulty Buttons Colors Pins Used
Easy 3 Red, Green, Blue 22-27
Medium 4 Red, Green, Yellow, Silver 22-29
Hard 5 Red, Green, Blue, Yellow, Silver 22-31
Expert 8 Blue, Yellow, Silver, Green, Red (×2 modes) 22-37

Wiring Checklist

Before Powering On

All button switches wired to INPUT pins AND GND (not 5V)
All button LEDs have 220Ω resistors
(OPTIONAL) LCD I2C wired to pins 20 (SDA) and 21 (SCL)
(OPTIONAL) LCD VCC to 5V, GND to GND
Buzzer wired to pin 45 (VCC→5V, GND→GND, I/O→pin 45)
DMX shield jumpers set correctly (EN→EN, DE, TX-uart, RX-uart)
DMX decoder DIP switches set (Address 1, FUN OFF)
Common GND between power supply, Arduino, and DMX decoder
RGBW LED strip wired to decoder output terminals

Upload Process

1.Remove DMX shield (or pull EN jumper)
2.Connect USB to computer
3.Select "Arduino Mega 2560" in Arduino IDE
4.Select correct COM port
5.Upload sketch
6.Reinstall DMX shield
7.Connect 12V power
8.Test!