| |
Obturador electrónico para nuestra cámara de placas.
El esquema:
El pulsador de disparo va conectado al Pin 12. El otro lado va a masa (Negativo) El conmutador de retardo del disparo va al Pin11. El otro lado va a masa. La tira de pines para seleccionar la velocidad de obturación va a los pines 4, 5, 6, 7, 8, 9 y 10. Un trocito de cable proveniente de masa nos servirá para insertarlo en uno de los pines. De esta manera si insertamos en el pin 4 obtendremos una velocidad de obturación de 1 segundo. En el pin 5 2 seg, 2n el pin 6 3 segundos, en el pin 7 4 seg, en el pin 8 6 seg, en el pin 9 8 seg y en el pin 10 12 segundos. En el esquema atacamos un zumbador piezoeléctrico, sin embargo yo lo he cambiado por un pequeño amplificador a 5V y un altavoz de 0,5W. El cable amarillo del servo debe ir conectado al pin 2 del arduino. El marrón a masa y el rojo a +5V. Para encender un led de alta luminosidad he añadido un transistor 2N2222, una resistencia de 390 en la base y otra de 100 oh en serie con el led para que luzca sin quemarse.
|

|
El programa:
// Arduino Pro Mini 5V 16mhz Atmega 168 // Obturador para cámara fotográfica de placas // Servo en Pin // Audio en Pin 3 // Botón para disparar Pin 11 Sin retardo // Botón para disparar Pin 12 Conm retardo // Pin 13 leds informativo // Pines 4,5,6,7,8,9,10 Velocidad obturador 1,2,3,4,5,6,7 seg.
#include <Servo.h> Servo obtura; int velo;
void setup() { pinMode(2, OUTPUT); // Servo pinMode(3, OUTPUT); // Pitido pinMode(4, INPUT_PULLUP); // Seleccionan velocidad pinMode(5, INPUT_PULLUP); pinMode(6, INPUT_PULLUP); pinMode(7, INPUT_PULLUP); pinMode(8, INPUT_PULLUP); pinMode(9, INPUT_PULLUP); pinMode(10, INPUT_PULLUP); pinMode(11, INPUT_PULLUP); pinMode(12, INPUT_PULLUP); //Boton para disparar obturador
pinMode(13, OUTPUT); //LED Chivato obtura.attach(2,600,2400); obtura.write(0); int velo; }
Void loop() { // Botón para hacer la lectura de luz if(digitalRead(4) == LOW){velo=1000;} if(digitalRead(5) == LOW){velo=2000;} if(digitalRead(6) == LOW){velo=3000;} if(digitalRead(7) == LOW){velo=4000;} if(digitalRead(8) == LOW){velo=6000;} if(digitalRead(9) == LOW){velo=8000;} if(digitalRead(10) == LOW){velo=12000;} if(digitalRead(12) == LOW) { if(digitalRead(11) == LOW) {pitidos();} dispara(velo); } }
// SUBRUTINAS // Cambia destellos para led 1 pin 13 void pitidos(){ for (int i = 0; i<15; i++) { digitalWrite(13, HIGH); tone (3,1000,50); delay(250); digitalWrite(13, LOW); delay(250); }
for (int i = 0; i<15; i++) { tone (3,1000,30); digitalWrite(13, HIGH); delay(100); digitalWrite(13, LOW); delay(100); } tone (3,1000,1000); }
void dispara(int velocidad){ digitalWrite(13, HIGH); obtura.write(120); delay(velocidad); obtura.write(0); digitalWrite(13, LOW); }
| |