Paso 7: b) Zoetrope - parte 3
Por lo tanto, en la parte inferior del zoetrope son 8 imanes que el interruptor de láminas reacciona a. Vienen corriendo por y así que usted puede encontrar la velocidad de la placa.
Sólo podría construir un circuito donde los LEDs se activan cuando se enciende el interruptor de láminas por los imanes. Por lo tanto, necesita tantos imanes como modelos de papel, pero el problema es que no puede controlar cuánto se encenderá el LED. Se encenderá durante mucho tiempo, hacer que la animación se vea blury.
Así que utilicé Arduino para el control de la fase de ON de los LEDs, girándolo hasta 1 milisegundo. El interruptor de láminas se construye en las entradas de la placa de Arduino, de 5V a A1. Hay un 10 kOhm resistencia va en el puerto de tierra para evitar un corto circuito.
Los LEDs están conectados en paralelo, con una resistencia de 70 Ohm que realmente no es necesario porque puerto 13 controla automáticamente. Los lados largos de los LEDs van al puerto 13 y los lados cortos van en tierra.
Traté de que fuera en la protoboard, el interruptor de láminas va bajo el zoetrope, donde los imanes acometida, antes de había soldado juntos el estroboscopio.
Este es el código para el Arduino SDE: los LEDs parpadean dos veces por el imán, con un retardo que equivale a la mitad de la duración los últimos 2 imanes estaban separados.
const int led = 13;
freq del flotador;
tiempo de flotación;
tiempo1 de flotador;
flotador tiempo2;
Float time_d;
int zwischenblink = 0;
const int ledPin = 13;
int ledState = bajo;
previousMillis largo = 0;
largo intervalo de tiempo = 1000;
void setup() {}
Serial.Begin(9600);
pinMode (led, salida);
}
void loop() {}
tiempo = millis ();
int sensorValue = analogRead(A1);
voltaje del flotador = sensorValue * (5.0 / 1023.0);
if(voltage>3) {}
tiempo2 = tiempo1;
time1 = tiempo;
Delay (100);
time_d = time1-time2;
Serial.println(time_d);
digitalWrite (led, alto);
Delay(1);
digitalWrite (led, baja);
Si (time_d < 300) {}
retardo (time_d/2);
digitalWrite (led, alto);
retardo (1);
digitalWrite (led, baja);
}
}
Else {}
digitalWrite (led, baja);
}
}