int timer = 100; // The higher the number, the slower the timing. int sensor = 14; int randNumber = 0; void setup() { // use a for loop to initialize each pin as an output: for (int thisPin = 3; thisPin < 11; thisPin++) { pinMode(thisPin, OUTPUT); } pinMode(13, OUTPUT); pinMode(sensor, INPUT); for (int thisPin = 3; thisPin < 11; thisPin++) { digitalWrite(thisPin, LOW); } Serial.begin(9600); } void loop() { if(digitalRead(sensor)) { digitalWrite(13, HIGH); randNumber = random(1, 4); Serial.println(randNumber); if(randNumber == 1) movimiento1(); else if(randNumber == 2) movimiento2(); else if(randNumber == 3) movimiento3(); } digitalWrite(13, LOW); //movimiento1(); /*digitalWrite(7, LOW); digitalWrite(8, HIGH); delay(10000); digitalWrite(8, LOW); digitalWrite(7, HIGH); delay(10000); */ } void movimiento1() { //RELE1 digitalWrite(3, HIGH); digitalWrite(4, LOW); delay(10000); digitalWrite(3, LOW); //RELE7 digitalWrite(9, HIGH); digitalWrite(10, LOW); delay(2000); digitalWrite(9, LOW); //RELE8 digitalWrite(10, HIGH); digitalWrite(9, LOW); delay(2000); digitalWrite(10, LOW); //RELE7 digitalWrite(9, HIGH); digitalWrite(10, LOW); delay(2000); digitalWrite(9, LOW); //RELE8 digitalWrite(10, HIGH); digitalWrite(9, LOW); delay(2000); digitalWrite(10, LOW); //RELE2 digitalWrite(4, HIGH); digitalWrite(3, LOW); delay(10000); digitalWrite(4, LOW); delay(30000); } void movimiento2() { //RELE1 digitalWrite(3, HIGH); digitalWrite(4, LOW); delay(10000); digitalWrite(3, LOW); //RELE3 digitalWrite(5, HIGH); digitalWrite(6, LOW); delay(10000); digitalWrite(5, LOW); //RELE7 digitalWrite(9, HIGH); digitalWrite(10, LOW); delay(2000); digitalWrite(9, LOW); //RELE8 digitalWrite(10, HIGH); digitalWrite(9, LOW); delay(2000); digitalWrite(10, LOW); //RELE7 digitalWrite(9, HIGH); digitalWrite(10, LOW); delay(2000); digitalWrite(9, LOW); //RELE8 digitalWrite(10, HIGH); digitalWrite(9, LOW); delay(2000); digitalWrite(10, LOW); //RELE4 digitalWrite(6, HIGH); digitalWrite(5, LOW); delay(10000); digitalWrite(6, LOW); //RELE2 digitalWrite(4, HIGH); digitalWrite(3, LOW); delay(10000); digitalWrite(4, LOW); delay(30000); } void movimiento3() { //RELE1 digitalWrite(3, HIGH); digitalWrite(4, LOW); delay(10000); digitalWrite(3, LOW); //RELE5 digitalWrite(7, HIGH); digitalWrite(8, LOW); delay(10000); digitalWrite(7, LOW); //RELE6 digitalWrite(8, HIGH); digitalWrite(7, LOW); delay(2000); digitalWrite(8, LOW); //RELE2 digitalWrite(4, HIGH); digitalWrite(3, LOW); delay(2000); digitalWrite(4, LOW); delay(30000); }