/*
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() {
pinMode(L1, OUTPUT);
pinMode(L2, OUTPUT);
pinMode(L3, OUTPUT);
pinMode(L4, OUTPUT);
pinMode(L5, OUTPUT);
pinMode(L6, OUTPUT);
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() {
//=================Etapa 1==========
while(digitalRead(S1)==0){}
M1.write(180);//m1 esta indo em direção a peça
delay(1000);//espera m1 chegar na posição
//=================Etapa 2==========
digitalWrite(L1, HIGH);
delay(1000);
//---===========================Etapa 3------
M1.write(-180);
M2.write(180);
delay(1000);
M1.write(90);
delay(1000);
//========================Etapa4===============
digitalWrite(L1,0);
digitalWrite(L2,1);
//============================Etapa5=====
delay(1000);
M2.write(-180);
M3.write(180);
delay(1000);
M2.write(90);
//============================Etapa6========
digitalWrite(L2,0);
digitalWrite(L3,1);
delay(1000);
//=============================Etapa 7======
M3.write(-180);
M4.write(180);
delay(1000);
M3.write(90);
//==================================Etapa 8
digitalWrite(L3,0);
digitalWrite(L4,1);
delay(1000);
//================================
M4.write(90);
M5.write(180);
delay(1000);
M4.write(90);
//=====================etapa 10
digitalWrite(L4,0);
digitalWrite(L5,1);
delay(1000);
//================etapa11
M5.write(90);
M6.write(-180);
delay(1000);
//=================etapa 12
digitalWrite(L5,0);
digitalWrite(L6,1);
delay(1000);
//========================etapa 13
M6.write(180);
delay(1000);
//etapa14
while(digitalRead(S2)==0) {}
while(digitalRead(S2)==1) {digitalWrite(L6,0);delay(1000);}
M6.write(90);
//
}//fecha void loop()