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 smiley

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 smiley

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 smiley-grin I got a job smiley
I think we are on the same page on these project smiley
2  Using Arduino / Project Guidance / Re: Control Arduino with Canon Camera on: October 12, 2012, 03:16:18 pm
ehem, my mistake...

Not all time 5v. it is all time connected while taking pict smiley
It works like a switch smiley

So you need to feed it with you own voltage, or ground.
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... smiley-grin

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 smiley-grin

These could be used as a bussy signal to the arduino smiley

and what the arduino do when low... well, that's up to me smiley

Hope these information is nice to know for more than just me.
4  Using Arduino / Project Guidance / Re: Control Arduino with Canon Camera on: October 10, 2012, 02:17:01 am
but that seams complicated, and i guess i loose the magic lantern functionality that creates smooth video smiley-razz
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. smiley
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 smiley

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 smiley
7  Using Arduino / Project Guidance / Re: i2c ebay display on: September 30, 2012, 05:39:06 pm
Thank you for answers  smiley
have a lot to do to really find out how arduino works smiley-razz

trying to find some library that will coop with my problem, just to make it look nicer, and cleaner smiley
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.
Code:

// 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=item27c708e52c
And 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?


Pages: [1]