Halloween Forum banner

1 - 5 of 5 Posts

·
Registered
Joined
·
110 Posts
Discussion Starter #1
So I pieced together an electric chair that has become the talk of last few neighborhoods that have seen it over the past few years. Each year, I try to add a little to it.

Last year, I made a switch panel, but didn't quite get it finished and working to my desired result.

The switch panel is a covered industrial knife switch, a giant red button, and an uncovered oversided industrial knife switch.

The electric chair, has beacon lights on the top rear posts of the chair, lightning tubes on the front of the rear posts, strobe lights under the arms of the chair, sander under the seat of the chair, electronic solenoid for air bursts from the seat of the chair, strobe lights in the head piece of the chair. There are also old edison lighbulbs up the sides of the chair.

Ideally, I want to program, with an arduino and relay board, which I started doing last year, and never got it completed, 3 groups.

Group 1, flip the first switch: A warning alarm and the beacon lights. The alarm would preferably be an MP3 board controlled by the arduino output to a powered speaker near the chair.

Group 2, press/hold the button: A charging noise sound effect, again through an MP3 board controlled by the arduino, and the lightning tubes.
* Optional: The edison light bulbs on the side of the chair either coming on through a fade in, or some sort of blinking/dimming effect. I have a feeling
* that part may be pretty advanced.

Group 3, FLIP THE BIG SWITCH: The strobes trigger, the sander turns on, the air solenoid opens.
* Optional: Fog machine burst. I have a Chauvet 1100 that could be dedicated to this, or would consider adding a DMX controlled vertical fog machine.

I had the basic functional on-off programmed through the relay board, but getting anything else done I'm having trouble figuring out.
 

·
Registered
Joined
·
102 Posts
I have only programmed one arduino for my groundbreaker, the sketch file is listed below. Similar to what you want to do, it is paired with a relay board and kicks off a mini SD card MP3 player for the sound effects (also using a powered speaker), leds behind his mask and of course the left and right arm movements. The trigger is a PIR sensor. I am sure there is a more elegant programming solution than mine, but it works. Hope this helps.


int RightArmPin = 3; //This is the output pin for Solenoid 1
int LeftArmPin = 4; //This is the output pin for Solenoid 2
int speakerPin = 5; //This is the ouptut pin to activate the sound
int lightPin = 6; //This is the output pin for light effects
int motionPin = 7; //This is the input pin for the motion detector

int motiondetected = LOW; //Sets motion detector to off initially


void setup() {
// put your setup code here, to run once:
pinMode(RightArmPin, OUTPUT); //Sets pin as an output
pinMode(LeftArmPin, OUTPUT); //Sets pin as an output
pinMode(speakerPin, OUTPUT); //Sets pin as an output
pinMode(lightPin, OUTPUT); //Sets pin as an output
pinMode(motionPin, INPUT); //Sets pin as an input

delay(7000); //Allows motion sensor to calibrate
digitalWrite(RightArmPin, LOW); //RightArm down
digitalWrite(LeftArmPin, LOW); //LeftArm down
digitalWrite(speakerPin, LOW); //set speaker off
digitalWrite(lightPin, LOW); //set light off
}

void loop() {
// put your main code here, to run repeatedly:
motiondetected = digitalRead(motionPin);
if (motiondetected == HIGH)
{
digitalWrite(speakerPin, HIGH); //Speaker is ON
digitalWrite(lightPin, HIGH); //effect lighting is ON

ArmMotion1 ();
delay(3000);

ArmMotion2 ();
delay(5000);

}

// reset all to start position
digitalWrite(RightArmPin, LOW); //RightArm down
digitalWrite(LeftArmPin, LOW); //LeftArm down
digitalWrite(speakerPin, LOW); //Speaker is OFF
digitalWrite(lightPin, LOW); //effect lighting is OFF
digitalWrite(motiondetected, LOW); //reset motion detector to OFF


}

void ArmMotion1() {
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(1000); //Wait 1 second
digitalWrite(LeftArmPin, HIGH); //LeftArm up
delay(300); //Wait 0.3 seconds
digitalWrite(LeftArmPin, LOW); //LeftArm down
delay(300); //Wait 0.3 second
digitalWrite(LeftArmPin, HIGH); //LeftArm up
delay(2000); //Wait 2 second
digitalWrite(RightArmPin, LOW); //RightArm down
delay(1000); //Wait 1 second
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(1000); //Wait 1 second
digitalWrite(LeftArmPin, LOW); //LeftArm down

digitalWrite(RightArmPin, LOW); //RightArm down
delay(500); //Wait 0.5 second
digitalWrite(LeftArmPin, HIGH); //LeftArm up
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(750); //Wait 0.75 second
digitalWrite(LeftArmPin, LOW); //LeftArm down OFF
delay(200); //Wait 0.2 second
digitalWrite(LeftArmPin, HIGH); //LeftArm up
digitalWrite(RightArmPin, LOW); //RightArm down
delay(100); //Wait 0.1 seconds
digitalWrite(LeftArmPin, LOW); //LeftArm down
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(200); //Wait 0.2 second
digitalWrite(LeftArmPin, HIGH); //LeftArm up
digitalWrite(RightArmPin, LOW); //RightArm down
delay(100); //Wait 0.1 seconds
digitalWrite(LeftArmPin, LOW); //LeftArm down
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(500); //Wait 0.5 seconds
digitalWrite(RightArmPin, LOW); //RightArm down
delay(500); //Wait 0.5 second
digitalWrite(LeftArmPin, HIGH); //LeftArm up
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(750); //Wait 0.75 seconds
digitalWrite(LeftArmPin, LOW); //LeftArm down
digitalWrite(RightArmPin, LOW); //RightArm down
delay(200); //Wait 0.2 second
digitalWrite(LeftArmPin, HIGH); //LeftArm up
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(100); //Wait 0.1 seconds
digitalWrite(RightArmPin, LOW); //RightArm down
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(200); //Wait 0.2 second
digitalWrite(RightArmPin, LOW); //RightArm down
delay(300); //Wait 0.3 seconds
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(200); //Wait 0.2 second
digitalWrite(RightArmPin, LOW); //RightArm down
delay(300); //Wait 0.3 seconds
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(200); //Wait 0.2 second
digitalWrite(LeftArmPin, HIGH); //LeftArm up
digitalWrite(RightArmPin, LOW); //RightArm down
delay(300); //Wait 0.3 seconds
digitalWrite(RightArmPin, HIGH); //RightArm up
delay(100); //Wait 0.1 seconds
digitalWrite(LeftArmPin, LOW); //LeftArm down
delay(300); //Wait 0.3 seconds
digitalWrite(RightArmPin, LOW); //RightArm down

digitalWrite(LeftArmPin, HIGH); //LeftArm up
delay(100); //Wait 0.1 seconds
digitalWrite(LeftArmPin, LOW); //LeftArm down
}

void ArmMotion2() {
digitalWrite(RightArmPin, HIGH); //RightArm up

digitalWrite(LeftArmPin, HIGH); //LeftArm up

delay(2000); //Wait 5 seconds

digitalWrite(LeftArmPin, LOW); //LeftArm down
delay(300); //Wait 0.3 seconds
digitalWrite(RightArmPin, LOW); //RightArm down

delay(2000); //Wait 5 seconds
digitalWrite(RightArmPin, HIGH); //RightArm up
digitalWrite(LeftArmPin, HIGH); //LeftArm up

}
 

·
Sleep with one eye open
Joined
·
587 Posts
Have you seen Montclair's Lair series of videos on YouTube making his electric chair prop ? He has lots of videos on creating his electric chair prop , including the problems he had with using an arduino to trigger relays and how he solved those problems .

Tom
 

·
Registered
Joined
·
110 Posts
Discussion Starter #4
I seem to remember seeing that series of videos but not actually getting around to watching them. I'll check it out and see if he's got some tips I can use.
 
1 - 5 of 5 Posts
Top