Escolar Documentos
Profissional Documentos
Cultura Documentos
Facultad de ingeniería
Ingeniería en sistemas de información y
Ciencias de la comunicación
CARNET: 1990-15-22087
Sección: B
Materiales a utilizar:
7 paletas de madera
3 trocitos de madera de diferentes medidas
1 pedazo de tabla
3 servomotores de 5v
1 mini protoboard
1 juego de cables jumper
1 placa Arduino uno
1 caja plástica porta cd
Hay muchos tipos de relojes, no solo por diseño sino por la forma
en la que muestran la hora. Algunos lo hacen con manecillas, otros
con números y luego tenemos un gran abanico de modelos que
utilizan sistemas más abstractos. Hoy nos toca hablar de uno que
se basa en números pero que para decirnos qué hora es, utiliza un
sistema peculiar.
es un dispositivo que, gracias a dos servos que sostienen un
rotulador y otro para sostener y levantar la estructura es capaz
de darnos la hora y los minutos sobre una pizarra. Sí, no utiliza
una pantalla para mostrar los números, es él mismo quien la dibuja
cada cierto tiempo en un intervalo que nosotros mismos definimos.
/* RobotReloj
Modificado por elprofegarcia.com original de Johannes Heberlein 2014
v 1.02 ES
La librería “Time” la puede descargar en http://elprofegarcia.com/?page_id=2
o en http://playground.arduino.cc/Code/time y debe copiarla a al subdirectorio
/libraries dentro
del directorio donde tenga instalado Arduino
Servo de elevacion -> Pin 2 del Arduino (cable Naranja del servo)
Servo izquierdo -> Pin 3 del Arduino (cable Naranja del servo)
Servo derecho -> Pin 4 del Arduino (cable Naranja del servo)
Los cables rojos de los Servos deben conectarse al Pin de 5V del Arduino
Los cables Marron de los Servos deben conectarse al Pin GND del Arduino
Primero debe calibrar los brazos para que varíen en Angulo de 90 grados exactos y
de forma cruzada entre el servo derecho e izquierdo.
#define CALIBRACION
Servo servo1; //
Servo servo2; //
Servo servo3; //
int last_min = 0;
void setup()
{
// Ajuste la hora actual, sólo el primero en valores,: hh, mm es necesario
setTime(18,01,0,0,0,0);
drawTo(75.2, 47);
lift(0);
servo1.attach(SERVOPINELEVADOR); // servo elevador
servo2.attach(SERVOPINIZQUIERDO); // servo izquierdo
servo3.attach(SERVOPINDERECHA); // servo derecho
delay(1000);
void loop()
{
#ifdef CALIBRACION
// los brazos de los servos tendran 90 ° entre los movimientos, paralelo al eje
X e Y
drawTo(-3, 29.2);
delay(500);
drawTo(74.1, 28);
delay(500);
#else
int i = 0;
if (last_min != minute()) {
if (!servo1.attached()) servo1.attach(SERVOPINELEVADOR);
if (!servo2.attached()) servo2.attach(SERVOPINIZQUIERDO);
if (!servo3.attached()) servo3.attach(SERVOPINDERECHA);
lift(0);
hour();
while ((i+1)*10 <= hour())
{
i++;
}
i=0;
while ((i+1)*10 <= minute())
Conclusion