Вы находитесь на странице: 1из 3

#include <Servo.

h>
Servo myServo;
const int pino = 9;
const int pino2 = 10;
int valor;
void setup(){
myServo.attach(pino2);
Serial.begin(9600);
}
void loop(){
valor = Serial.read();
if(valor == 0){
delay(15);
}else{
myServo.attach(pino);
delay(15);
}
}
-----------------*********************
#include <Servo.h>
#define VARIACAO_HORIZONTAL 2 //determina a variao de ngulo horizontal
#define VARIACAO_VERTICAL 5 //determina a variao de ngulo vertical
Servo servoHorizontal, servoVertical;
int horizontal = 0, vertical=0;
int distancia = 0;
boolean aumentaAnguloHorizontal = true;
void setup()
{
servoHorizontal.attach(9); // associa o pino 9 ao objeto do servo horizontal
servoVertical.attach(10); // associa o pino 9 ao objeto do servo vertical
Serial.begin(9600); // Open serial monitor at 115200 baud to see ping results.
}
void loop(){
servoVertical.write(vertical);
servoHorizontal.write(horizontal);
lerPiezo(horizontal,vertical);
if(aumentaAnguloHorizontal == true) {
horizontal += VARIACAO_HORIZONTAL;
if(horizontal >= 180) {
zontal
horizontal = 180;
aumentaAnguloHorizontal = false;
if(vertical >= 180){
ical
vertical = 0;
} else{
vertical += VARIACAO_VERTICAL;
}
}

//incrementa o ngulo horizontal


//chegou no limite do servo hori
//evita valores maiores que 180
//muda o sentido do movimento
//chegou no limite do servo vert

//incrementa o ngulo vertical

} else{
horizontal -= VARIACAO_HORIZONTAL;
if(horizontal <= 0)
ntal
{
horizontal = 0;
aumentaAnguloHorizontal = true;
if(vertical >= 180){
l
vertical = 0;
} else{
vertical += VARIACAO_VERTICAL;
}
}

//decrementa o ngulo horizontal


//chegou no limite do servo horizo
//evita valores negativos
//muda o sentido do movimento
//chegou no limite do servo vertica

//incrementa o ngulo vertical

}
}
void lerPiezo(int theta, int phi){
delay(30);
if(distancia == 0)// verifica se teve medio vlida
{
//envia para o computador os valores da distncia medida e ngulos dos servos po
r comunicao serial
Serial.println(String(distancia)+"#"+String(theta)+"#"+String(phi));
}
}
-------------------******************************************
#include <Servo.h> //BIBLIOTECA DE FUNES COM MOTORES SERVOS
// DECLARAO DOS MOTORES UZADOS NO PROJETO...
Servo servoGarra; //GARRA DO B RAO MECNICO...
Servo servoBraco; //MOTOR RESPONSVEL PELA MOVIMENTAO VERTICL DO BRAO...
Servo servoBraco2;
int posicaoBraco = 0;
int posicaoGarra = 80;
void setup() //FUNO ONDE SO ESPECIFICADAS AS CONFIGURAES DO PROJETO...
{
//ATRIBUIO DE PINOS PARA OS MOTORES
servoGarra.attach(3);
servoBraco.attach(5);
servoBraco2.attach(6);
Serial.begin(9600);
}
void loop(){
}
void sobeBraco() // FUNO RESPONSVELPORLEVANTAR O BRAO MECNICO...
{
int i;
for( i = posicaoBraco;i<90;i++)
{
servoBraco.write(180-i);
servoBraco2.write(i);

delay(45);
}
posicaoBraco = i;
}
void baixaBraco() //FUNO RESPONSVEL POR BAIXAR O BRAO MECNICO...
{
int i;
for(i = posicaoBraco; i > 0;i--)
{
servoBraco.write(180-i);
servoBraco2.write(i);
delay(45);
}
posicaoBraco = i;
}
void abre() // FUNO QUE ABRE A GARRA...
{
int i;
for(i = posicaoGarra; i < 160;i++)
{
servoGarra.write(i);
delay(40);
}
posicaoGarra = i;
}
void fecha() // FUNO QUE FECHA A GARRA...
{
int i;
for(i = posicaoGarra; i > 80;i--)
{
servoGarra.write(i);
delay(40);
}
posicaoGarra = i;
}

Оценить