Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. COMPETENCIAS A DESARROLLAR
2. OBJETIVO DE LA PRACTICA
3. CONTENIDO TEMATICO
4. MATERIALES
5. METODOLOGIA
Modelamiento
Implementación
6. ACTIVIDADES
7. DESARROLLO EXPERIMENTAL
a) Determinación de la Cinemática Directa aplicando método geométrico
int angulo_actual = 0, anga, angb, angc, angd, angaf = 5, angbf = 70, angcf =
25, angdf = 20;
String angulos = "";
void setup() {
// Iniciamos el monitor serie para mostrar el resultado
Serial.begin(9600);
Serial.println("Ingrese el Grado a girar: ");
// Iniciamos el servo para que empiece a trabajar con el pin 9
servo1.attach(3); // 5-120 grados
servo2.attach(5); //70-175 grados
servo3.attach(6); //25-120 grados
//<<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>
// Desplazamos a la posición 0º
servo1.write(50);
delay(500);
servo2.write(45);
delay(500);
servo3.write(45);
delay(500);
}
void loop() {
Serial.println(anga);
// Desplazamos a la posición deseada
if (anga != angaf) {
servito1(anga);
angaf = anga;
}
if (angb != angbf) {
servito2(angb);
angbf = angb;
}
if (angc != angcf) {
servito3(angc);
angcf = angc;
}
// servito5(ange);
// servito6(angf);
//servito3();
}
//<<<<<<<< SERVO1>>>>>>>>>>>>>>>
void servito1(int grad1)
{
if (angulo_actual < grad1)
{
for (int i = angulo_actual; i <= grad1; i += 5 )
{
servo1.write(i);
delay(10);
if (i == grad1)
{
angulo_actual = grad1;
}
}
}
else
{
for (int i = angulo_actual; i >= grad1; i -= 5 )
{
servo1.write(i);
delay(10);
if (i == grad1)
{
angulo_actual = grad1;
}
}
}
}
//<<<<<<<< ---------- >>>>>>>>>>>>>>>
//<<<<<<<< SERVO2>>>>>>>>>>>>>>>
void servito2(int grad2)
{
if (angulo_actual < grad2)
{
for (int i = angulo_actual; i <= grad2; i += 5 )
{
servo2.write(i);
delay(10);
if (i == grad2)
{
angulo_actual = grad2;
}
}
}
else
{
for (int i = angulo_actual; i >= grad2; i -= 5 )
{
servo2.write(i);
delay(10);
if (i == grad2)
{
angulo_actual = grad2;
}
}
}
}
//<<<<<<<< ---------- >>>>>>>>>>>>>>>
//<<<<<<<< SERVO3>>>>>>>>>>>>>>>
void servito3(int grad3)
{
if (angulo_actual < grad3)
{
for (int i = angulo_actual; i <= grad3; i += 5 )
{
servo3.write(i);
delay(10);
if (i == grad3)
{
angulo_actual = grad3;
}
}
}
else
{
for (int i = angulo_actual; i >= grad3; i -= 5 )
{
servo3.write(i);
delay(10);
if (i == grad3)
{
angulo_actual = grad3;
}
}
}
}
//<<<<<<<< ---------- >>>>>>>>>>>>>>>
P1
P2
P3
9. CONCLUSIONES