Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Sensor de barrea láser para disparar una Canon A480

Sensor de barrea láser para disparar una Canon A480

Open Hardware: Como usarlo en proyectos de fotografí­a y automatización, 2010, Telmex HUB, Ciudad de México

Manuel Rabade

April 16, 2012
Tweet

More Decks by Manuel Rabade

Other Decks in Technology

Transcript

  1. • 10 Mpx • 1/2.3” CCD (6.16 x 4.62 mm)

    • 3.3x zoom óptico • ~ $ 1,000 MXP Canon A480 http://bit.ly/hSuSrg
  2. • Canon Hack Development Kit • DRYOS • DIGIC II/III

    • Temporal / Experimental / Libre • Control profesional • Detección de movimiento • Control remoto USB • Programable CHDK http://chdk.wikia.com
  3. arduino.bas @title interfaz basica para arduino print "esperando disparo..." do

    do x = get_usb_power until x > 50 print "disparo!" shoot sleep 2000 until is_key "set" end
  4. Arduino • ATMega328P @ 20 Mhz • 2 Kb RAM

    • 32 KB Flash • 1Kb EEPROM • 23 GPIO • SPI/USART/I2C http://www.arduino.cc
  5. CHDK.pde #define CAM 13 #define LUZ 0 #define BTN 7

    #define INC 50 int nivel = 0; int estado = 0; double adc = 0; void setup() { Serial.begin(9600); pinMode(CAM, OUTPUT); pinMode(BTN, INPUT); digitalWrite(CAM, LOW); Serial.println("listo..."); } void disparo () { digitalWrite(CAM, HIGH); delay(750); digitalWrite(CAM, LOW); }
  6. void loop() { adc = analogRead(LUZ); if (digitalRead(BTN) == LOW)

    { estado = 1; } if (digitalRead(BTN) == HIGH && estado == 1) { Serial.print("nivel configurado ("); Serial.print(adc); Serial.println(")"); nivel = adc; estado = 2; delay(3000); } if (adc < (nivel - INC) && estado == 2) { Serial.print("dispara ("); Serial.print(adc); Serial.println(")"); disparo(); delay(2000); estado = 3; } if (estado == 3 && adc > (nivel - INC)) { Serial.println("esperando..."); delay(1000); estado = 2; } }