Una animación dentro de un agua de la gota por Physalia (7 / 11 paso)

Paso 7: Programación de Arduino

Tanto como quisiéramos, no somos programadores y programación todo me habría hecho todo el proceso mucho más lento. Nuestro amigo Jordi Planas prestó una mano y lo que me hubiera llevado una semana se hizo en una mañana con ninguna queja. Primero, programamos un pequeño bosquejo de Arduino para el control de flash y la cámara según el bloqueo del fotodiodo luz, todo en un solo clic. Como la que rodábamos usando un lente macro, instalamos un potenciómetro que nos permitiría modificar la demora entre la gota de agua y los flashes sin reprogramar el Arduino. Nos señala la superficie del agua, enfocado y comenzó tratando diferentes retrasos (milisegundos de espera): 100, 120, 190... y la gota de agua fue en ninguna parte ser visto. Lo guardamos en el aumento de la demora y en unos 200-210 milisegundos: vea el cuadro adjunto!

Para probar la teoría disparó una serie de cuadros con el mismo retraso y eran todos muy similares. También nos dimos cuenta de que, por eliminar el potenciómetro y cualquier comunicación con el ordenador portátil, los cuadros eran más similares-como dos gotas de agua!

Para probar la teoría disparó una serie de cuadros con el mismo retraso y eran todos muy similares. También nos dimos cuenta de que, por eliminar el potenciómetro y cualquier comunicación con el ordenador portátil, los cuadros eran más similares-como dos gotas de agua! Luego limpiar el código y agrega algunas ideas para hacer el sistema más fiable, como la adición de un milisegundo después de cada 1000 microsegundos para el Arduino manejar tales cantidades grandes de figuras.

CÓDIGO:

"Entropía máquina" para la revista IDN por Physalia. Codificadas por Jordi Planas & Pablo Barquin
#include < Servo.h >
int flash1 = 9;             Patillas del Flash 1 9
flash2 INT = 12;            Patillas del Flash 2 11
láser de int = 2;                PIN del fotodiodo
camara int = 3;              Perno del optoacoplador donde se conecta la camara
int boton1 = 7;               Boton de disparo de foto
int boton2 = 13;              Boton de repetición de foto (sin incrementar)
clic1 boolean = false;        Buleano para el boton 1
clic2 boolean = false;        Buleano para el boton 2
Boolean laserState = false;   Buleano del láser
int i = 1;                     Variable que cuenta las gotas (primera o segunda)
Servo1 servo;                Crea un Objeto servo
int f = 0;                   Numero de fotos para depurar

////////////////////////// TIEMPOS //////////////////////////////////////////////////////////////////////////////
int retardo = 0;                Espera en milisegundos para la primera foto
delaim int = 0;               Retraso inicial al se le suma el incremento
int incremento = 250;         Incremento en microsegundos
int guardarfoto = 4000;                  Espera de la camara para guardar la foto
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////

void setup() {}
Serial.Begin(9600);            Activar para hacer DEBUG
pinMode (flash1, salida);
pinMode (flash2, salida);
pinMode (láser, entrada);
pinMode (camara, salida);
pinMode(boton1,INPUT);
pinMode(boton2,INPUT);
servo1.Attach(6);
servo1.Write(0);              Posición inicial del servo

}

void loop() {}
botones();

Si (clic1 == true) {//Si el boton esta pulsado
lecturalaser();   3.ejecutamos la funcion lecturalaser
}
{//Si el boton NO esta pulsado
} //No ocurre nada
}

void lecturalaser() {}
laserState = digitalRead(laser);

Si (laserState == HIGH) {//Si el laser no esta interrumpido
} //No ocurre nada
Else {//Si el láser se interrumpe (bajo)
foto();             Se ejecuta la funcion foto
}
}

{} void botones()
int dclic1 = digitalRead(boton1);
int dclic2 = digitalRead(boton2);
{if(dclic1==High)}
clic1 = true;
}
{if(dclic2==High)}
clic2 = true;
}

}

void foto() {}
Si (i == 1) {//Si solo ha pasado una gota por el láser
Delay(20);                     Debounce del láser
digitalWrite (camara alta);    Empezamos a obturar con la camara
i = i ++;                       Sumamos 1 a i para que dispare a la segunda gota
}
else {                        //Si i = 2
disparo();                 3.ejecutamos la funcion disparo
i = 1;                     me vuelver a valer 1
}
}

void disparo() {}
Si (clic2 == true) {//Si el boton 2 ha sido pulsado
Delay(delai);                 Esperamos "retardo"
delayMicroseconds(delaim);    Esperamos el incremento en Microsegundos
Flasheo();                    3.ejecutamos flasheo
}
Else {//Si el boton 2 NO ha sido pulsado
incrementar();               Incrementamos la espera ejecutando la funcion incrementar
Delay(delai);                Esperamos "retardo"
delayMicroseconds(delaim);   Esperamos el incremento en Microsegundos
Flasheo();                   3.ejecutamos flasheo
Motion();                    Movemos la movimiento

}
}
void flasheo() {}
digitalWrite (flash1, HIGH);    Disparamos de destello de 1
digitalWrite (flash2, HIGH);    Disparamos de destello 2
Delay(10);                     Le damos tiempo al flash mientras recibe un impulso
digitalWrite (camara baja);
digitalWrite (flash1, LOW);     Apagamos el flash 1
digitalWrite (flash2, LOW);
clic1 = false;                 Quitar si queremos las gotas automaticas
clic2 = false;
/*f = f++;
Serial.println ("retardo Inicial:");        DE DEPURACIÓN
Serial.println(delai);
Serial.println ("Microsegundos de retraso:");
Serial.println(delaim);
Serial.println ("Numero de fotos:");
Serial.println(f); */
}

void motion() {}
Delay(300);
servo1.Write(90);
Delay(100);
servo1.Write(0);
/*
Serial.println("Motion");             DE DEPURACIÓN
Serial.println("esperando");

Delay(guardarfoto);                   Esperamos a la camara guarde la foto
Serial.println("listo!!!");  */
}

void incrementar() {}
delaim += incremento;
Si {} (delaim > 1000)
delaim = delaim -1000;
retardo = retardo ++;
}
}

Artículos Relacionados

Una animación con plastilina de un chico que uno por una roca

Una animación con plastilina de un chico que uno por una roca

No se puede mostrar el contenido. Adobe Flash es necesario.No se puede mostrar el contenido. Adobe Flash es necesario.Visita Putyourforkintoit.com
Hacer una animación en 3D de una imagen 2D

Hacer una animación en 3D de una imagen 2D

Este video instructivo es el "making of" de un video promocional 3D que he estado trabajando, para un libro de Beatles.Punto de partida:Un detallado dibujo fotográfico blanco y negro por el autor, Jeff Aarons, ilustrador profesional, que fue uti
Cómo hacer una animación con plastilina impresionante

Cómo hacer una animación con plastilina impresionante

aquí es una guía paso a paso para crear tu propia animación con plastilina.  Empezaré con un vídeo que hice mi segundo año como un proyecto de fotografía.  Tiene alrededor de 2.000 marcos y tomó alrededor de un mes para terminar.Estoy entrando este i
Crear una animación de pintura de luz

Crear una animación de pintura de luz

hace un par de meses he creado una animación de pintura clara para mis escuelas festival anual de cine. Desafortunadamente después de varios contratiempos no fue capaz de reproducir esa noche, así que lo pongo en facebook y tiene buena recepción. He
Cómo hacer una animación con plastilina - Tayla

Cómo hacer una animación con plastilina - Tayla

En primer lugar, comenzar con reunir todos los materiales a continuación.Tiempo para hacer tarea:5-10 minutosMateriales necesarios:Diferentes colores de arcilla, 1 cuadra de azul, a 1 cuadra de negro, 1 cuadra de blanco, a 1 cuadra de amarillo y 1 cu
Cómo crear una animación de Lego

Cómo crear una animación de Lego

Cool video ¿EH? Adivinen qué, usted puede hacer esto también! Hola a todos, en este Instructable te ser enseñarte acerca de lo que usted necesita para hacer una animación de Lego usando IStopMotion y haciendo un tipo Lego a pie. Espero que lo tengas
Cómo 3D imprimir una animación inspirada en Matadero cinco de Vonnegut

Cómo 3D imprimir una animación inspirada en Matadero cinco de Vonnegut

Mayoría de las impresoras 3D funciona tomando un archivo 3D (como un STL) y cortar en una pila de archivos 2D. El 2D archivos son entonces impreso uno encima del otro para crear la forma final de 3D. Aquí comenzaremos con una animación en 2D y uso el
Crear una animación GIF con un iPhone

Crear una animación GIF con un iPhone

En este Instructable le mostrará cómo crear un GIF animado utilizando un iPhone y la aplicación Gifboom . GIFs son realmente divertida manera para ayudar a su proyecto entre otros ibles y explicar su proceso con mayor detalle.¿Qué es un amimated GIF?
Cómo hacer una animación gif con fotos para tu fondo de página web/twitter

Cómo hacer una animación gif con fotos para tu fondo de página web/twitter

Hola,Me han aprendido algunas técnicas rápidas y le gustaría compartir con usted sobre cómo hacer una animación GIF sencilla utilizando Adobe Photoshop CS6. Para mí es interesante contar con una forma diferente de ver y compartir fotos captadas con a
Cómo hacer una animación en fusión 360

Cómo hacer una animación en fusión 360

Más exactamente, este Instructable muestra cómo hacer un estudio de movimiento en Autodesk de fusión 360 mediante su representación de nube muy bonito y muy rápido. Así que si por ejemplo, se ha modelado algo, y quieres animar como se mueve, aquí son
Cómo hacer una animación de logo - After Effects

Cómo hacer una animación de logo - After Effects

en este instructable mostrará usted cómo crear una animación de logotipo simple que se puede ampliar de y personalizar a su gusto.Paso 1: Paso 1 - crear una composición De la barra de menú en la parte superior de la AE seleccione Composición > Nueva
Cómo hacer una animación de papel

Cómo hacer una animación de papel

en este instructable le mostraré cómo hacer una animación de gran papel.Paso 1:Cosas que usted necesita:papel en blancotijerascintaPapel de construcción negro grande (22 "x 25")computadoracámaracinta de medición (opcional)Paso 2:En primer lugar
Hacer una animación simple

Hacer una animación simple

Voy a mostrarte cómo hacer una animación simple con Synfig Studio. Synfig Studio es un software de animación en 2D libre y de código abierto.Paso 1: Descargar SynfigEn primer lugar, descargar Synfig de Synfig.org.Luego instale y ejecutarlo.Paso 2: In
Cómo hacer una bomba de circulación de agua

Cómo hacer una bomba de circulación de agua

Video y foto Instructableshttps://youtu.be/joHhEXFyP5kPaso 1: En el video de hoy voy a mostraros una gran idea de fabricar una bomba de agua, o como lo llaman muchas personas – una bomba de circulación de agua con sus propias manos, mínimo costo en c