Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Ligar o coletor do TCRT5000 no port 6 e o emissor no Gnd.
- Ao receber luz fica em LOW e ao não receber fica em HIGH
- */
- #define Sensor 6 // Port para entrada do sensor TCRT5000
- byte Flag = 0; // Flag para saber onde esta posicionado o braco
- #include <VarSpeedServo.h>
- VarSpeedServo garra;
- VarSpeedServo cotov;
- VarSpeedServo ombro;
- VarSpeedServo base;
- //------------------------------
- void setup()
- {
- pinMode(Sensor, INPUT_PULLUP); // Define port Sensor como entrada e com Pullup resitor ligado
- garra.attach(2);
- ombro.attach(3);
- cotov.attach(4);
- base.attach(5);
- garra.write(135, 5, false); // Posicao inicial
- delay(100);
- base.write(110, 5, false);
- delay(100);
- ombro.write(70, 5, false);
- delay(100);
- cotov.write(90, 5, false);
- delay(100);
- delay(2000);
- garra.write(90, 200, true); // abre
- garra.write(135, 200, true); // fecha
- garra.write(90, 200, true); // abre
- garra.write(135, 200, true); // fecha
- delay(1000);
- }
- //-----------------------------------
- void loop() //rotina de trabalho
- {
- if (digitalRead(Sensor) == LOW)
- {
- if (Flag == 0) // Se o braço esta atras
- {
- // Coloque aqui a rotina para mover o braço pra frente
- Flag = 1; // Faz uma vez
- }
- else
- if (Flag == 1) // Se o braço esta na frente
- {
- // Coloque aqui a rotina para mover o braço pra tras
- Flag = 0; // Faz uma vez
- }
- }
- /*
- base.write(180, 60, true); // esquerda
- delay(100);
- ombro.write(160, 40, false); // frente
- delay(10);
- cotov.write(50, 20, true); // desce
- delay(100);
- cotov.write(110, 40, false); // frente
- delay(10);
- ombro.write(180, 40, false); // desce
- delay(10);
- garra.write(90, 50, true); // abre
- delay(500);
- garra.write(135, 20, true); // fecha
- delay(100);
- ombro.write(150, 20, true); // sobe
- cotov.write(80, 20, true); // tras
- delay(100);
- ombro.write(90, 20, false); // sobe
- delay(10);
- cotov.write(180, 20, true); // tras
- delay(100);
- base.write(20, 10, true); // direta
- delay(100);
- cotov.write(80, 20, true); // desce
- delay(10);
- ombro.write(150, 20, false); // frente
- delay(10);
- cotov.write(50, 20, true); // desce
- delay(10);
- cotov.write(110, 20, false); // desce
- delay(10);
- ombro.write(180, 20, true); // frente
- delay(100);
- garra.write(90, 20, true); // abre
- delay(100);
- ombro.write(90, 80, false); // sobe
- delay(100);
- cotov.write(80, 100, false); // tras
- delay(100);
- garra.write(135, 50, false); // fecha
- delay(100);*/
- }/*
- Ligar o coletor do TCRT5000 no port 6 e o emissor no Gnd.
- Ao receber luz fica em LOW e ao não receber fica em HIGH
- */
- #define Sensor 6 // Port para entrada do sensor TCRT5000
- byte Flag = 0; // Flag para saber onde esta posicionado o braco
- #include <VarSpeedServo.h>
- VarSpeedServo garra;
- VarSpeedServo cotov;
- VarSpeedServo ombro;
- VarSpeedServo base;
- //------------------------------
- void setup()
- {
- pinMode(Sensor, INPUT_PULLUP); // Define port Sensor como entrada e com Pullup resitor ligado
- garra.attach(2);
- ombro.attach(3);
- cotov.attach(4);
- base.attach(5);
- garra.write(135, 5, false); // Posicao inicial
- delay(100);
- base.write(110, 5, false);
- delay(100);
- ombro.write(70, 5, false);
- delay(100);
- cotov.write(90, 5, false);
- delay(100);
- delay(2000);
- garra.write(90, 200, true); // abre
- garra.write(135, 200, true); // fecha
- garra.write(90, 200, true); // abre
- garra.write(135, 200, true); // fecha
- delay(1000);
- }
- //-----------------------------------
- void loop() //rotina de trabalho
- {
- if (digitalRead(Sensor) == LOW)
- {
- if (Flag == 0) // Se o braço esta atras
- {
- // Coloque aqui a rotina para mover o braço pra frente
- Flag = 1; // Faz uma vez
- }
- else
- if (Flag == 1) // Se o braço esta na frente
- {
- // Coloque aqui a rotina para mover o braço pra tras
- Flag = 0; // Faz uma vez
- }
- }
- /*
- base.write(180, 60, true); // esquerda
- delay(100);
- ombro.write(160, 40, false); // frente
- delay(10);
- cotov.write(50, 20, true); // desce
- delay(100);
- cotov.write(110, 40, false); // frente
- delay(10);
- ombro.write(180, 40, false); // desce
- delay(10);
- garra.write(90, 50, true); // abre
- delay(500);
- garra.write(135, 20, true); // fecha
- delay(100);
- ombro.write(150, 20, true); // sobe
- cotov.write(80, 20, true); // tras
- delay(100);
- ombro.write(90, 20, false); // sobe
- delay(10);
- cotov.write(180, 20, true); // tras
- delay(100);
- base.write(20, 10, true); // direta
- delay(100);
- cotov.write(80, 20, true); // desce
- delay(10);
- ombro.write(150, 20, false); // frente
- delay(10);
- cotov.write(50, 20, true); // desce
- delay(10);
- cotov.write(110, 20, false); // desce
- delay(10);
- ombro.write(180, 20, true); // frente
- delay(100);
- garra.write(90, 20, true); // abre
- delay(100);
- ombro.write(90, 80, false); // sobe
- delay(100);
- cotov.write(80, 100, false); // tras
- delay(100);
- garra.write(135, 50, false); // fecha
- delay(100);*/
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement