/*
TRANSFER
- AO LIGAR O ARDUINO TODOS OS SERVOS INICIAM A 90° e OS ELETRO-IMÃS DESLIGADOS.
- AO PRESSIONAR O BOTÃO VERDE, O BRAÇO 1 VEM BUSCAR A PEÇA
- APÓS 1 SEGUNDO LIGA O ELETRO-IMÃ.
- APÓS 1 SEGUNDO, O BRAÇO 1 LEVA A PEÇA AO BRAÇO 2 , AO MESMO
TEMPO QUE O BRAÇO 2 VEM BUSCAR A PEÇA.
- APÓS 1 SEGUNDO, TROCAM OS ELETRO-IMÃS.
- APÓS 1 SEGUNDO, O BRAÇO 2 LEVA A PEÇA AO BRAÇO 3, AO MESMO
TEMPO QUE O BRAÇO 3 VEM BUSCAR A PEÇA.
- APÓS 1 SEGUNDO, TROCAM OS ELETRO-IMÃS.
- APÓS 1 SEGUNDO, O BRAÇO 3 LEVA A PEÇA AO BRAÇO 4, AO MESMO
TEMPO QUE O BRAÇO 4 VEM BUSCAR A PEÇA.
- APÓS 1 SEGUNDO, TROCAM OS ELETRO-IMÃS.
- APÓS 1 SEGUNDO, O BRAÇO 4 LEVA A PEÇA AO BRAÇO 5, AO MESMO
TEMPO QUE O BRAÇO 5 VEM BUSCAR A PEÇA.
- APÓS 1 SEGUNDO, TROCAM OS ELETRO-IMÃS.
- APÓS 1 SEGUNDO, O BRAÇO 5 LEVA A PEÇA AO BRAÇO 6, AO MESMO
TEMPO QUE O BRAÇO 6 VEM BUSCAR A PEÇA.
- APÓS 1 SEGUNDO, TROCAM OS ELETRO-IMÃS.
- APÓS 1 SEGUNDO, O BRAÇO 6 LEVA A PEÇA AO BOTÃO VERMELHO.
- APÓS 1 SEGUNDO, SE O BOTÃO VERMELHO FOR "PRESSIONADO",
DESLIGA O ELETRO-IMÃ.
- AO SOLTAR O BOTÃO VERMELHO, O PROGRAMA RESETA.
*/
//============== NOMEAR PINOS ===============
#define L1 2
#define L2 3
#define L3 4
#define L4 5
#define L5 6
#define L6 7
#define S1 9
#define S2 8
//=========== INCLUIR BIBLIOTECAS ===========
#include <Servo.h>
Servo M1; //NOMEAMOS O SERVOMOTOR 1
Servo M2; //NOMEAMOS O SERVOMOTOR 2
Servo M3; //NOMEAMOS O SERVOMOTOR 3
Servo M4; //NOMEAMOS O SERVOMOTOR 4
Servo M5; //NOMEAMOS O SERVOMOTOR 5
Servo M6; //NOMEAMOS O SERVOMOTOR 6
//=========== VARIÁVEIS E TABELAS ===========
//================ SUB-ROTINAS ==============
//================== SETUP ==================
void setup() {
M1.attach(A0); //INFORMAMOS AO ARDUINO QUE M1 ESTÁ LIGADO NO PINO A0
M2.attach(A1); //INFORMAMOS AO ARDUINO QUE M2 ESTÁ LIGADO NO PINO A1
M3.attach(A2); //INFORMAMOS AO ARDUINO QUE M3 ESTÁ LIGADO NO PINO A2
M4.attach(A3); //INFORMAMOS AO ARDUINO QUE M4 ESTÁ LIGADO NO PINO A3
M5.attach(A4); //INFORMAMOS AO ARDUINO QUE M5 ESTÁ LIGADO NO PINO A4
M6.attach(A5); //INFORMAMOS AO ARDUINO QUE M6 ESTÁ LIGADO NO PINO A5
//---------- CONDIÇÕES INICIAIS ----------
digitalWrite(L1,0);
digitalWrite(L2,0);
digitalWrite(L3,0);
digitalWrite(L4,0);
digitalWrite(L5,0);
digitalWrite(L6,0);
M1.write(90); // MANDAMOS M1 PARA 90°
M2.write(90); // MANDAMOS M2 PARA 90°
M3.write(90); // MANDAMOS M3 PARA 90°
M4.write(90); // MANDAMOS M4 PARA 90°
M5.write(90); // MANDAMOS M5 PARA 90°
M6.write(90); // MANDAMOS M6 PARA 90°
}//fecha void setup()
//============== LOOP INFINITO ===============
void loop() {
pinMode(L1,OUTPUT);
pinMode(L2,OUTPUT);
pinMode(L3,OUTPUT);
pinMode(L4,OUTPUT);
pinMode(L5,OUTPUT);
pinMode(L6,OUTPUT);
while(digitalRead(S1)==0){}
//Movimento 1
M1.write(180);
delay(1000);
digitalWrite(L1,1);
delay(500);
//Movimento 2
M1.write(00);
digitalWrite(L1,1);
delay(1000);
digitalWrite(L2,1);
M2.write(180);
delay(1000);
//Movimento 3
M2.write(00);
digitalWrite(L1,0);
digitalWrite(L2,1);
delay(1000);
digitalWrite(L3,1);
M3.write(180);
delay(1000);
//Movimento 4
M3.write(00);
digitalWrite(L2,0);
digitalWrite(L3,1);
delay(1000);
digitalWrite(L4,1);
M4.write(180);
delay(1000);
//movimento 5
M4.write(90);
M5.write(180);
digitalWrite(L3,0);
digitalWrite(L4,1);
delay(1000);
digitalWrite(L5,1);
delay(1000);
//Movimento 6
M5.write(90);
M6.write(00);
digitalWrite(L4,0);
digitalWrite(L5,1);
delay(1000);
digitalWrite(L6,1);
delay(1000);
//Movimento 7
M6.write(180);
digitalWrite(L5,0);
delay(1000);
digitalWrite(L6,1);
delay(1000);
while(digitalRead(S2)==0){}
while(digitalRead(S2)==1){}
digitalWrite(L6,0);
M1.write(90); // MANDAMOS M1 PARA 90°
M2.write(90); // MANDAMOS M2 PARA 90°
M3.write(90); // MANDAMOS M3 PARA 90°
M4.write(90); // MANDAMOS M4 PARA 90°
M5.write(90); // MANDAMOS M5 PARA 90°
M6.write(90); // MANDAMOS M6 PARA 90°
}//fecha void loop()