Show Posts
|
|
Pages: [1]
|
|
1
|
Using Arduino / Project Guidance / Re: Control Arduino with Canon Camera
|
on: January 31, 2013, 01:52:05 am
|
I am working on the same problem, while creating a intervalometer with an arduino is pretty straight forward, the functionality of the bulb ramping of Magic Lantern is worth letting the camera control the slider. I'm using a belt drive stepper motor to move my slider and this seems to produce some vibration, so I'm going to use the ML bulb ramping function to do a Move Shoot Move arrangement. This will minimize image blur since the shutter is only open when the camera is stationary. Does anyone have a pin out of the hot shoe for a Canon EOS 60d? Are you sure the pin-outs are optoisolated from the camera. I don't care that much about my Arduino board as long as it doesn't kill my camera.
I'm so confidence on my measurements as I can be. I am going to use the 5 volt on center pin, and shorted to ground as a "hold" signal. 100% NO. but confidence enough to try it on my 550d, YES  I have a TF-326 Flash Hot Shoe to PC Sync Adapter for CANON, and going to use it to an analog input on the arduino, had some problems when it was connected on a digital pin on my test rig (it could not sense the "open" circuit. so it only got one "hold" when camera was triggered.) I got my stand alone arduino and a usb programmer a while ago, but i cant make the usb programmer do its work, so i have ordered a standard uno, which i steal the ship from, and use the arduino board as a programmer instead  I hope you manage to do what you want it to, and please feel free to ask. I'm sorry for late updates, just finished school, and been trolling for a decent work lately, but these Monday, MAGIC  I got a job  I think we are on the same page on these project 
|
|
|
|
|
3
|
Using Arduino / Project Guidance / Re: Control Arduino with Canon Camera
|
on: October 11, 2012, 01:49:08 pm
|
Found out some few nice information for my setup now...  The trigger pin on the canon flash is 5 volt to ground. i guess the camera hot shoe is optoisolated from the camera sinse there is never a voltage on the shoe. only resistance (4-5 ohm) So, i connected my camera to the arduino, and found out that the shoe is "high" all the time the camera takes a picture. And that's good news  These could be used as a bussy signal to the arduino  and what the arduino do when low... well, that's up to me  Hope these information is nice to know for more than just me.
|
|
|
|
|
5
|
Using Arduino / Project Guidance / Re: Control Arduino with Canon Camera
|
on: October 10, 2012, 01:41:22 am
|
Well, I can tell why i would like some signal out from the camera. I do not want to use the usb because of complexity, but a pc sync cable (used to trigger remote flash on cord.) and with the magic lantern, i can use a timelapsefunction, which can calculate so the movie would be nice and smooth exposures when taking pictures of a sunset. these do increase the shuttertime after a while. and therefor i would like to have a signal from the camera when telling its don taking pictures, or the whole time its taking a pict. 
|
|
|
|
|
6
|
Using Arduino / Project Guidance / Re: Control Arduino with Canon Camera
|
on: October 09, 2012, 03:09:56 pm
|
Hi. Great project! I`m just in a similar project right now  Ordered a bunch of hardware, but I'm still uncertain how to control it. using a 550d with ml. I'm a little bit afraid of frying my arduino if i connect it right to my hotshoe pc sync adapter, but i think these is the way i'm going. Does somebody know how the pc signal is? is it high/low or connection/no connection between those two wires... and is the signal "high" all the time the curtain is open? hope for good answers 
|
|
|
|
|
7
|
Using Arduino / Project Guidance / Re: i2c ebay display
|
on: September 30, 2012, 05:39:06 pm
|
Thank you for answers  have a lot to do to really find out how arduino works  trying to find some library that will coop with my problem, just to make it look nicer, and cleaner 
|
|
|
|
|
8
|
Using Arduino / Project Guidance / Re: i2c ebay display
|
on: September 27, 2012, 05:54:53 pm
|
Here is the whole code, sorry. but instead of "TEST1" i would like to put analogRead(A6), bet then its creating the error i wrote above. // Wire Master Writer // by Nicholas Zambetti <http://www.zambetti.com>
// Demonstrates use of the Wire library // Writes data to an I2C/TWI slave device // Refer to the "Wire Slave Receiver" example for use with this
// Created 29 March 2006
// This example code is in the public domain.
#include <Wire.h>
#define OLED_ADDRESS 0x51
#define WRITE_CMD 0x01 #define WRITE_DAT 0x02 #define RESET 0x03
#define DISP_8X16STR 0x10 #define DISP_AREA 0x11 #define FILL_AREA 0x12 #define SET_SCROHOR 0x13 #define SET_SCROVER 0x14 #define SET_SCROVERHOR 0x15
#define SET_ADDRESS 0x21
#define PAGE0 0x00 #define PAGE1 0x01 #define PAGE2 0x02 #define PAGE3 0x03 #define PAGE4 0x04 #define PAGE5 0x05 #define PAGE6 0x06 #define PAGE7 0x07
#define SCROLL_UP 0x01 #define SCROLL_DOWN 0x00 #define SCROLL_RIGHT 0x26 #define SCROLL_LEFT 0x27 #define SCROLL_VR 0x29 #define SCROLL_VL 0x2A
#define FRAMS_2 0x07 #define FRAMS_3 0x04 #define FRAMS_4 0x05 #define FRAMS_5 0x00 #define FRAMS_25 0x06 #define FRAMS_64 0x01 #define FRAMS_128 0x02 #define FRAMS_256 0x03
void Display8x16Str(uint8_t page, uint8_t column, const char *str) { Wire.beginTransmission(OLED_ADDRESS); Wire.write(DISP_8X16STR); Wire.write(page); Wire.write(column); while(*str != '\0') { Wire.write(*str++); } Wire.endTransmission(); } void FillArea(uint8_t spage, uint8_t epage,uint8_t scolumn, uint8_t ecolumn,uint8_t filldata) { Wire.beginTransmission(OLED_ADDRESS); Wire.write(FILL_AREA); Wire.write(spage); Wire.write(epage); Wire.write(scolumn); Wire.write(ecolumn); Wire.write(filldata); Wire.endTransmission(); } void ScrollingHorizontal(uint8_t lr, uint8_t spage, uint8_t epage,uint8_t frames) { Wire.beginTransmission(OLED_ADDRESS); Wire.write(SET_SCROHOR); Wire.write(lr); Wire.write(spage); Wire.write(epage); Wire.write(frames); Wire.endTransmission(); } void ScrollingVertical(uint8_t scrollupdown, uint8_t rowsfixed, uint8_t rowsscroll, uint8_t scrollstep, uint8_t stepdelay) { Wire.beginTransmission(OLED_ADDRESS); Wire.write(SET_SCROVER); Wire.write(scrollupdown); Wire.write(rowsfixed); Wire.write(rowsscroll); Wire.write(scrollstep); Wire.write(stepdelay); Wire.endTransmission(); } void ScrollingVertivalHorizontal(uint8_t fixedarea, uint8_t scrollarea, uint8_t vlr, uint8_t spage, uint8_t epage, uint8_t frames, uint8_t offset) { Wire.beginTransmission(OLED_ADDRESS); Wire.write(SET_SCROVERHOR); Wire.write(fixedarea); Wire.write(scrollarea); Wire.write(vlr); Wire.write(spage); Wire.write(epage); Wire.write(frames); Wire.write(offset); Wire.endTransmission(); } void DeactivateScroll() { Wire.beginTransmission(OLED_ADDRESS); Wire.write(WRITE_CMD); Wire.write(0x2E); Wire.endTransmission(); } void WriteCommand(const char *cmd) { Wire.beginTransmission(OLED_ADDRESS); Wire.write(WRITE_CMD); while(*cmd != '\0') { Wire.write(*cmd++); } Wire.endTransmission(); } void WriteData() { unsigned int i; Wire.beginTransmission(OLED_ADDRESS); Wire.write(WRITE_DAT); for (i=0; i<20; i++) { // Wire.send(0xF0); } for (i=0; i<20; i++) { // Wire.send(0x0F); } for (i=0; i<32; i++) { Wire.write(0xFF); } Wire.endTransmission(); } void SetAddress(uint8_t page, uint8_t column) { Wire.beginTransmission(OLED_ADDRESS); Wire.write(SET_ADDRESS); Wire.write(page); Wire.write(column); Wire.endTransmission(); } void Reset() { Wire.beginTransmission(OLED_ADDRESS); Wire.write(RESET); Wire.endTransmission(); } void setup() { Wire.begin(); Serial.begin(9600); pinMode(A4, OUTPUT); pinMode(A5, INPUT); Reset(); } void loop() { digitalWrite(A4,HIGH); delay(30); Display8x16Str(0,0, "TEST1:"); Display8x16Str(2,20, "TEST2"); Display8x16Str(4,0, "Wellcom to use"); Display8x16Str(6,0, "Gem.Arduino"); digitalWrite(A4,LOW); delay (200); Reset(); }
|
|
|
|
|
9
|
Using Arduino / Project Guidance / i2c ebay display
|
on: September 27, 2012, 02:45:14 pm
|
Hi. I'm new to arduino, and all sort of coding. these is my display: http://www.ebay.com/itm/IIC-I2C-0-96-128X64-White-OLED-Display-Module-AVR-PIC-Arduino-Compatible-/170842973484?pt=LH_DefaultDomain_0&hash=item27c708e52cAnd i want my display to show the analogRead (A6) or other variable. here is my code: void setup() { Wire.begin(); Serial.begin(9600); pinMode(A4, OUTPUT); pinMode(A5, INPUT); Reset(); } void loop() { const char* a1 =analogRead(A6); digitalWrite(13,HIGH); digitalWrite(A4,HIGH); delay(30); Display8x16Str(0,0, a1); Display8x16Str(2,20, "TEST"); Display8x16Str(4,0, "Wellcom to use"); Display8x16Str(6,0, "Gem.Arduino"); digitalWrite(A4,LOW); delay(200); Reset(); } } and here is the error: "TEST_DISPLAY_POTMETER:178: error: invalid conversion from 'int' to 'const char*'" I tested it without the a1, and used "test" instead, and then it works well. Do someone have any idea what i can write?
|
|
|
|
|