diff --git a/electrical/Science Node/Camera Firmware/ixus130_sd1400-100c-1.4.1-4988-full.zip b/electrical/Science Node/Camera Firmware/ixus130_sd1400-100c-1.4.1-4988-full.zip new file mode 100644 index 0000000..984c926 Binary files /dev/null and b/electrical/Science Node/Camera Firmware/ixus130_sd1400-100c-1.4.1-4988-full.zip differ diff --git a/electrical/Science Node/ScienceNodeLibrary/ReadMe.txt b/electrical/Science Node/ScienceNodeLibrary/ReadMe.txt new file mode 100644 index 0000000..28b0029 --- /dev/null +++ b/electrical/Science Node/ScienceNodeLibrary/ReadMe.txt @@ -0,0 +1,5 @@ +This library is for use with the chdk cannon firmware. + +it allows an arduino-like board to control zoom and shoot. + +to enable this funcionality on the camera load firmware, enter mode, press menu, CHDK settings, Remote Parameters, enable remote, and set control mode to "zoom". \ No newline at end of file diff --git a/electrical/Science Node/ScienceNodeLibrary/ScienceNodeLibrary.zip b/electrical/Science Node/ScienceNodeLibrary/ScienceNodeLibrary.zip new file mode 100644 index 0000000..65b7bbf Binary files /dev/null and b/electrical/Science Node/ScienceNodeLibrary/ScienceNodeLibrary.zip differ diff --git a/electrical/Science Node/ScienceNodeLibrary/camera.cpp b/electrical/Science Node/ScienceNodeLibrary/camera.cpp new file mode 100644 index 0000000..af12c2e --- /dev/null +++ b/electrical/Science Node/ScienceNodeLibrary/camera.cpp @@ -0,0 +1,47 @@ +#include + +camera::camera(int pinn){ + pinMode(pinn, OUTPUT); + pin = pinn; +} + +void camera::pulse(){ + digitalWrite(pin,HIGH); + delay(105); + digitalWrite(pin,LOW); + delay(55); +} + +void camera::kill(){ + digitalWrite(pin,LOW); + delay(455); +} + +void camera::shoot(){ + for(int i=0;i<3;i++) + pulse(); + kill(); +} + +void camera::slowZoomIn(){ + pulse(); + kill(); +} + +void camera::slowZoomOut(){ + pulse(); + pulse(); + kill(); +} + +void camera::fullZoomIn(){ + for(int i=0;i<4;i++) + pulse(); + kill(); +} + +void camera::fullZoomOut(){ + for(int i=0;i<5;i++) + pulse(); + kill(); +} \ No newline at end of file diff --git a/electrical/Science Node/ScienceNodeLibrary/camera.h b/electrical/Science Node/ScienceNodeLibrary/camera.h new file mode 100644 index 0000000..ff50827 --- /dev/null +++ b/electrical/Science Node/ScienceNodeLibrary/camera.h @@ -0,0 +1,18 @@ +//camera firmware can be found at chdk.wikia.com +#include + +class camera{ + private: + int pin; + float zm; + void kill(); + public: + camera(int); + void pulse(); + void shoot(); + void slowZoomIn(); + void slowZoomOut(); + void fullZoomIn(); + void fullZoomOut(); + void focus(); +}; \ No newline at end of file diff --git a/electrical/Science Node/ScienceNodeLibrary/examples/CameraExample/CameraExample.ino b/electrical/Science Node/ScienceNodeLibrary/examples/CameraExample/CameraExample.ino new file mode 100644 index 0000000..0e4a3c3 --- /dev/null +++ b/electrical/Science Node/ScienceNodeLibrary/examples/CameraExample/CameraExample.ino @@ -0,0 +1,14 @@ +#include + +int cameraPin = 7; +camera science(cameraPin); + +void setup() { +} + +void loop() { + science.fullZoomIn(); + delay (2000); + science.fullZoomOut(); + delay(2000); +}