Experiement: Toy Hacking
- For the midterm, our objective is to hack a toy and demonstrate previously learned stills(noted in previous blogs). Different materials that are used will be separated into input and output. Our midterm uses the Arduino uno, breadboard, a 5 volt power supply.
Background
The story behind Doctor Octopus. When we first met was at a community thrift, where out of hundreds of toys he was pick. At first his owner did not know if he worked, but took him in anyway. His owner began on working him to give him new life. But, during his orphan life he could not walk so his new father worked on him countless hours on his spin (motor) and his voice(speaker). With a new release on life he is now able to walk, run, dance, and sing a lovely tune of Mario's theme song..
Goals:
successfully manipulate the different inputs to different outputs.
Input
Input one: Momentary switch to switch on one LED then make the Dogg dance
Input two: Sensor to turn on another LED then make the Dogg dance once more
Input three: Different Momentary switch to start music playing.
Output
Output 1: Motors move
Output 2: Red LED flashes on
Output 3: Green LED flashes on
Output 4: Arduino sings Mario theme song
FINAL PRODUCT
#define sensor A0 //define sensor
#define buttonPin6 6//define button
#define buttonPin9 9 //define secret button
#define LedPin5 5//define LED 1
#define LedPin4 4 //define LED 2
#define motor 3 //define motor control
int buttonState = 0; // first button
int buttonState1 = 0; // second button
int sensorValue = 0; // sensor value coming in
void setup(){
pinMode(LedPin5, OUTPUT);
pinMode(LedPin4, OUTPUT);
pinMode(buttonPin6,INPUT_PULLUP);
pinMode(buttonPin9,INPUT_PULLUP);
pinMode(motor,OUTPUT);
}
void loop(){
buttonState = digitalRead(buttonPin6); //check is button pushed
if (buttonState == HIGH){
digitalWrite(LedPin5,HIGH); // LED 1 turn on
delay(1000);
digitalWrite(LedPin5,LOW); // LED 1 turn off
delay(1000);
digitalWrite(motor,HIGH); // turn Motor on
delay(10000);
digitalWrite(motor,LOW); //turn Motor off
delay(1000);
//analogWrite(motor,50); // motor 20% on
//delay(10000);
//analogWrite(motor,240); //motor 90$%
//delay(1000);
}
else if(sensorValue<600){
sensorValue=analogRead(sensor); //read the value from the sensor
digitalWrite(LedPin4,HIGH); //LED 2 turn on
delay(1000);
digitalWrite(LedPin4,LOW); //LED 2 turn off
delay(1000);
digitalWrite(motor,HIGH); // turn Motor on
delay(10000);
digitalWrite(motor,LOW); //turn Motor off
delay(1000);
//analogWrite(motor,50); // motor 20% on
//delay(10000);
//analogWrite(motor,240); //motor 90$%
//delay(1000);
//audio
}
buttonState1 = digitalRead(buttonPin9);
if(buttonState1==HIGH)
{
tone(8,660,100);
delay(75);tone(8,660,100);
delay(150);tone(8,660,100);
delay(150);tone(8,510,100);
delay(50);tone(8,660,100);
delay(150);tone(8,770,100);
delay(275);tone(8,380,100);
delay(287);tone(8,510,100);
delay(225);tone(8,380,100);
delay(200);tone(8,320,100);
delay(250);tone(8,440,100);
delay(150);tone(8,480,80);
delay(165);tone(8,450,100);
delay(75);tone(8,430,100);
delay(150);tone(8,380,100);
delay(100);tone(8,660,80);
delay(100);tone(8,760,50);
delay(75);tone(8,860,100);
delay(150);tone(8,700,80);
delay(75);tone(8,760,50);
delay(175);tone(8,660,80);
delay(150);tone(8,520,80);
delay(75);tone(8,580,80);
delay(75);tone(8,480,80);
delay(175);tone(8,510,100);
delay(275);tone(8,380,100);
delay(200);tone(8,320,100);
delay(250);tone(8,440,100);
delay(150);tone(8,480,80);
delay(165);tone(8,450,100);
delay(75);tone(8,430,100);
delay(150);tone(8,380,100);
delay(100);tone(8,660,80);
delay(100);tone(8,760,50);
delay(75);tone(8,860,100);
delay(150);tone(8,700,80);
delay(75);tone(8,760,50);
delay(175);tone(8,660,80);
delay(150);tone(8,520,80);
delay(75);tone(8,580,80);
delay(75);tone(8,480,80);
delay(250);tone(8,500,100);
delay(150);tone(8,760,100);
delay(50);tone(8,720,100);
delay(75);tone(8,680,100);
delay(75);tone(8,620,150);
delay(150);tone(8,650,150);
delay(150);tone(8,380,100);
delay(75);tone(8,430,100);
delay(75);tone(8,500,100);
delay(150);tone(8,430,100);
delay(75);tone(8,500,100);
delay(50);tone(8,570,100);
delay(110);tone(8,500,100);
delay(150);tone(8,760,100);
delay(50);tone(8,720,100);
delay(75);tone(8,680,100);
delay(75);tone(8,620,150);
delay(150);tone(8,650,200);
delay(150);tone(8,1020,80);
delay(150);tone(8,1020,80);
delay(75);tone(8,1020,80);
delay(150);tone(8,380,100);
delay(150);tone(8,500,100);
delay(150);tone(8,760,100);
delay(50);tone(8,720,100);
delay(75);tone(8,680,100);
delay(75);tone(8,620,150);
delay(150);tone(8,650,150);
delay(150);tone(8,380,100);
delay(75);tone(8,430,100);
delay(75);tone(8,500,100);
delay(150);tone(8,430,100);
delay(75);tone(8,500,100);
delay(50);tone(8,570,100);
delay(110);tone(8,500,100);
delay(150);tone(8,760,100);
delay(50);tone(8,720,100);
delay(75);tone(8,680,100);
delay(75);tone(8,620,150);
delay(150);tone(8,650,200);
delay(150);tone(8,1020,80);
delay(150);tone(8,1020,80);
delay(75);tone(8,1020,80);
delay(150);tone(8,380,100);
delay(150);tone(8,500,100);
delay(150);tone(8,760,100);
delay(50);tone(8,720,100);
delay(75);tone(8,680,100);
delay(75);tone(8,620,150);
delay(150);tone(8,650,150);
delay(150);tone(8,380,100);
delay(75);tone(8,430,100);
delay(75);tone(8,500,100);
delay(150);tone(8,430,100);
delay(75);tone(8,500,100);
delay(50);tone(8,570,100);
delay(210);tone(8,585,100);
delay(275);tone(8,550,100);
delay(210);tone(8,500,100);
delay(180);tone(8,380,100);
delay(150);tone(8,500,100);
delay(150);tone(8,500,100);
delay(75);tone(8,500,100);
delay(150);tone(8,500,60);
delay(75);tone(8,500,80);
delay(150);tone(8,500,60);
delay(175);tone(8,500,80);
delay(75);tone(8,580,80);
delay(175);tone(8,660,80);
delay(75);tone(8,500,80);
delay(150);tone(8,430,80);
delay(75);tone(8,380,80);
delay(300);tone(8,500,60);
delay(75);tone(8,500,80);
delay(150);tone(8,500,60);
delay(175);tone(8,500,80);
delay(75);tone(8,580,80);
delay(75);tone(8,660,80);
delay(225);tone(8,870,80);
delay(162);tone(8,760,80);
delay(300);tone(8,500,60);
delay(75);tone(8,500,80);
delay(150);tone(8,500,60);
delay(175);tone(8,500,80);
delay(75);tone(8,580,80);
delay(175);tone(8,660,80);
delay(75);tone(8,500,80);
delay(150);tone(8,430,80);
delay(75);tone(8,380,80);
delay(300);tone(8,660,100);
delay(75);tone(8,660,100);
delay(150);tone(8,660,100);
delay(150);tone(8,510,100);
delay(50);tone(8,660,100);
delay(150);tone(8,770,100);
delay(225);tone(8,380,100);
delay(1000);
tone(8,440,200);
delay(200);
delay(200);
tone(8,440,400);
delay(200);
delay(200);
delay(5000);
}
else
{
digitalWrite (LedPin5,LOW);
digitalWrite (LedPin4,LOW);
digitalWrite (motor,LOW);
}
}



No comments:
Post a Comment