SADbot: el robot dibujo afectados estacionalmente (6 / 11 paso)

Paso 6: Motores y fotocélulas

Ahora vamos a tratar de algo de código que utiliza las fotocélulas para mover el paso a paso
motores. Escriba el siguiente código, verificarlo y subirlo a la Arduino.  Una vez hecho esto, trate de encubrir las fotocélulas uno a la vez.
• Cuando usted cubre la fotocélula para arriba, el motor izquierdo debe gire hacia la izquierda
y el motor adecuado debe girar a la derecha.
• Cuando usted cubre la fotocélula hacia abajo, el motor izquierdo debe gire hacia la derecha
y el motor adecuado debe girar hacia la izquierda.
• Cuando usted cubre la fotocélula izquierda, ambos motores deben girar
hacia la izquierda.
• Cuando usted cubre la fotocélula derecha, ambos motores deben girar en sentido horario.

/*
Uso de fotocélulas para dos motores paso a paso
con un Arduino a través EasyDriver v4.3 de Sparkfun
CC-GNU GPL por Ben Leduc-molinos y Dustyn Roberts
Creado: 2010.06
*/

Biblioteca de #include //import paso a paso
#define 200 pasos / / 360/1.8 (ángulo de paso) = 200 pasos/revolución

declarar objetos nuevos pasos de biblioteca paso a paso (uno por motor)
Right_motor paso a paso (pasos, 6, 7); 6 = DIR, 7 = PASO
Left_motor paso a paso (pasos, 11, 12); 11 = DIR, 12 = PASO

int distancia; hasta dónde deben llegar motores
int menor; variable para almacenar el valor más bajo de la fotocélula
int i; para bucle
variables para 4 valores de fotocélula
int photo_up;
int photo_down;
int photo_left;
int photo_right;

void setup() {}
Serial.Begin(9600); iniciar impresión serie para que podamos ver cosas
establecer velocidades de motor (en RPM)
right_motor.SETSPEED(200);
left_motor.SETSPEED(200);
}

void loop() {}
leer e imprimir todos los valores de fotocélula de pernos analógicos 0-3
photo_up = analogRead(0);
Serial.Print("up");
Serial.println(photo_up);

photo_down = analogRead(1);
Serial.Print("Down");
Serial.println(photo_down);

photo_left = analogRead(2);
Serial.Print("left");
Serial.println(photo_left);

photo_right = analogRead(3);
Serial.Print("Right");
Serial.println(photo_right);

Delay(1000); me da tiempo a leer en el monitor

almacenar valores de fotocélula en una matriz
int photoValues [] = {photo_up, photo_down, photo_left, photo_right};
menor = 9999; Ajuste este parámetro superiores a valores posibles de la fotocélula

lazo para encontrar el valor más bajo de la fotocélula
para (i = 0; i < 4; i ++) //4 = número de fotocélulas
{
Serial.println(photoValues[i]); Imprime la matriz de photoValue
asignar valor de fotocélula real a la variable "menor" si es menor
que lo "más bajo" se establece en (comienza a 9999)
Si (menor > = photoValues [i]) {}
menor = photoValues [i];
}

Imprima para confirmar que el valor más bajo está siendo seleccionado
Serial.Print("Lowest:");
Serial.println(Lowest);
Delay(1000); Espere un segundo antes de bucle por lo que podemos leer los valores
} //end para

distancia = más bajo; Set viaje distancia variable = valor menor
encontrar el sensor que coincidió con la marcha más baja, esa dirección
Vea a continuación lo que arriba, abajo, izquierda, derecha hacen funciones
Si (== menor {photoValues[0])}
(distancia);
}
else if (menor == {} photoValues[1])
abajo (distancia);
}
else if (menor == {} photoValues[2])
izquierda (distancia);
}
else if (menor == {} photoValues[3])
derecho (distancia);
}
} //end lazo

/*
Aquí están las funciones direccionales. Tamaño del lazo = distancia.
Números de paso positivo hacia la derecha, negativo hacia la izquierda
*/

void a (int distancia) {}
para (i = 0; i < distancia; i ++) {}
right_motor.Step(10);
left_motor.Step(-10);
}
}

void a (int distancia) {}
para (i = 0; i < distancia; i ++) {}
right_motor.Step(-10);
left_motor.Step(10);
}
}

vacío dejado (distancia int) {}
para (i = 0; i < distancia; i ++) {}
right_motor.Step(-10);
left_motor.Step(-10);
}
}

anular derecho (distancia int) {}
para (i = 0; i < distancia; i ++) {}
right_motor.Step(10);
left_motor.Step(10);
}
}

Artículos Relacionados

Robot dibujo mural de $100 (también funciona como un gigante etch-a-sketch)

Robot dibujo mural de $100 (también funciona como un gigante etch-a-sketch)

en Hack-a-day!Lo que me encanta de robots es que usted puede hacer una cosa que hace otras cosas.  Meta así!  Utiliza gcode dibujar cualquier imagen que te gusta, o usted puede conducirlo alrededor como un etch-a-sketch.  Puede escalar este robot has
Makelangelo Robot dibujo escritorio construir (anteriormente conocido como Drawbot)

Makelangelo Robot dibujo escritorio construir (anteriormente conocido como Drawbot)

este instructable le mostrará cómo hacer un escritorio para tu robot de Makelangelo máquina de dibujo.Mientras que el Makelangelo es bastante fácil para que cualquiera pueda utilizar, lo más probable es que apelará a maestros de la madre, fans de Ard
Borracho robot dibujo!

Borracho robot dibujo!

Inspirados en el robot de bolsillo borracho, quería darle el robot un trabajo que hacer. Decidí dejar que el robot borracho a hacer algunos dibujos. Para hacer tu propio necesitarás lo siguiente:materiales:3 marcadores con punta de fieltrouna pila de
MiniSADbot - edición

MiniSADbot - edición

este miniSADbot fue creado para los soportes de Kickstarter que apoyaron el original SADbot exhiben que Ben Leduc-Mills y lo he creado.  ¡Gracias!  Aquí aprenderás qué hacer con el kit de piezas que le enviamos.  Si no el proyecto de nuevo pero todav
Dibujo Robot

Dibujo Robot

Por favor vote por Robot dibujo en este enlace.Gracias de antemanoFijación de mi incapacidad de dibujo con mis conocimientos de robótica y me los resultados no eran malo. Ahora al menos puedo guardar a mi auto de la humillación en mi clase de dibujo.
Cómo hacer un Artbot: color sensores, robots Arduino arte generativo del dibujo

Cómo hacer un Artbot: color sensores, robots Arduino arte generativo del dibujo

Para el curso de Hardware y computación física bajo la supervisión de Paul Klomp como parte de la tecnología de los medios de comunicación programa de la Universidad de Leiden, creamos dos robots dibujos. Cada robot fue construido alrededor de un Ard
Locomoción extraña

Locomoción extraña

Extraño locomotion es una exploración lúdica de las posibilidades de introducir nuevas funciones (siempre útiles) a máquinas, centrándose en sus "manos y piernas", sus sistemas de locomoción y efectores.Paso 1: Paso uno: hoja material robot... q
Jugar con Makeblock mDrawBot-mScara

Jugar con Makeblock mDrawBot-mScara

Recientemente llego un regalo sorpresa de mi amigo en Makeblock, por el manual es un 4 en 1 dibujo robot, llamar al mDrawBot.Menuda sorpresa, veo su lanzamiento solo en Kickstarter ayer ~ http://kck.st/1EMsfpz(actualización 8/22: está a la venta ahor
Garabato fácil Bot

Garabato fácil Bot

No dejes que te engañe el número de pasos en este Instructable. Este Bot garabato es tan fácil como se anuncia. Si tienes todas las piezas en mano y cualquier experiencia para soldar los alambres juntos, probablemente puede construir este bot en cinc
Drawbot floppy

Drawbot floppy

hacer un divertido robot dibujo espiral de una vieja disquetera y arduino!Haga clic aquí para el video!Stuart y yo quería diseñar un proyecto que sería una buena introducción al upcycling electrónica, robótica, arduino, arte con el código de matemáti
¿Vamos a montar un escudo de Adafruit Motor

¿Vamos a montar un escudo de Adafruit Motor

Sabe usted cómo algunas personas juegan en youtube mientras que usted mira?  Pensé que sería más útil hacer las cosas en youtube mientras que usted mira.Soldar un por-agujero circuito impreso o PCB puede parecer intimidante con las diferentes partes
Cómo obtener una sonrisa de Brit

Cómo obtener una sonrisa de Brit

hace ya un tiempo el Bot lado c Instructables Robot dibujos animados han sido escritos así que pensé que sería divertido para mostrar cómo se dibujan. Vieja escuela a mano alzada con lápiz y un marcador de tinta. Algunos dicen skillz pero digo que so
Cómo dibujar Manga Anime

Cómo dibujar Manga Anime

Manga es un cómic que nació en Japón. Fue hecho por creadores japoneses en japonés. El cómic se basa en el estilo que fue inculcado durante finales del siglo XIX en Japón. El Manga tiene un muy largo, así como una complicada historia previa en el art
Ingeniería dibujo Robot

Ingeniería dibujo Robot

En este proyecto proponemos un sistema de dibujo robótico educativo para el aprendizaje de propósito. Nuestro sistema utiliza robot para dibujar la proyección de líneas y toda la ingeniería geometría como el cubo, triángulo, cuadrado, polígono autóno