Interfacciamento Arduino mega 2560 con ArduCam-F


salve ragazzi
sono nuovo del forum come del mondo di arduino.
in questi giorni mi hanno assegnato un progetto all'università, inizialmente si tratta di interfacciare arduino con arducam-f (la versione senza lcd per intenderci) e una cam la ov5642.
ho effettuato tutti collegamenti seguendo questa guida : http://www.arducam.com/how-to-connect-arducam-shield-to-mega-2560/
ma durante l'esecuzione del codice di esempio fornitomi dallo stesso sito di arducam mi da un errore sull'interfaccia spi e di conseguenza errori sul modulo cam e la sd.

il codice che eseguo è il seguente spero riusciate darmi una mano grazie in anticipo:

code: [select]

// arducam demo (c)2013 lee
// web: http://www.arducam.com
// program demo of how use of functions
// of library supported camera modules.
//
// demo made omnivision ov5642 sensor.
// 1. set sensor jpeg output mode.
// 2. capture , buffer image fifo.
// 3. store image micro sd/tf card jpeg format.
// program requires arducam v3.0.1 (or above) library , rev.c arducam shield
// , use arduino ide 1.5.2 compiler

//#include <utft_spi.h>
#include <sd.h>
#include <wire.h>
#include <arducam.h>
#include <spi.h>
#include "memorysaver.h"

#if defined(__arm__)
  #include <itoa.h>
#endif

#define sd_cs 9
// set pin 10 slave select spi:
const int spi_cs = 53;

arducam mycam(ov7725,53);
//utft myglcd(spi_cs);

void setup()
{
  uint8_t vid,pid;
  uint8_t temp;
 
  #if defined (__avr__)
    wire.begin();
  #endif
  #if defined(__arm__)
    wire1.begin();
  #endif
  serial.begin(115200);
  serial.println("arducam start!");
 
  // set spi_cs output:
  pinmode(spi_cs, output);
  //pinmode(sd_cs, output);
  pinmode(20, input);
  pinmode(21, input);


  // initialize spi:
  spi.begin();
  //check if arducam spi bus ok
  mycam.write_reg(arduchip_test1, 0x55);
  temp = mycam.read_reg(arduchip_test1);
  if(temp != 0x55)
  {
  serial.println("spi interface error!");
  //while(1);
  }
 
  //change mcu mode 
  mycam.write_reg(arduchip_mode, 0x00);

  //initialize lcd module
  //myglcd.initlcd();
 
  //check if camera module type ov5642
  mycam.rdsensorreg16_8(ov5642_chipid_high, &vid);
  mycam.rdsensorreg16_8(ov5642_chipid_low, &pid);
  if((vid != 0x56) || (pid != 0x42))
  serial.println("can't find ov5642 module!");
  else
  serial.println("ov5642 detected");
 
  //change jpeg capture mode , initialize ov5642 module
  mycam.set_format(jpeg);
  mycam.initcam();
  mycam.write_reg(arduchip_tim, vsync_level_mask); //vsync active high
 
  //initialize sd card
  if (!sd.begin(sd_cs))
  {
    //while (1); //if failed, stop here
    serial.println("sd card error");
  }
  else
  serial.println("sd card detected!");

}

void loop()
{
  char str[8];
  file outfile;
  static int k = 0;
  static int n = 0;
  uint8_t temp,temp_last;
  uint8_t start_capture = 0;
  serial.println("siamo nel loop");
 
  //wait trigger shutter buttom   
  if(mycam.read_reg(arduchip_trig) & shutter_mask)
  {
    //wait until buttom released
    while(mycam.read_reg(arduchip_trig) & shutter_mask);
    start_capture = 1;
  }
 
  //start capture when detect valid shutter press 
  if(start_capture)
  {
    //flush fifo
    mycam.flush_fifo();
    //clear capture done flag
    mycam.clear_fifo_flag();
    //start capture
    mycam.start_capture();
    serial.println("start capture");   
  }
 
  if(mycam.read_reg(arduchip_trig) & cap_done_mask)
  {
    serial.println("capture done!");
    //construct file name
    k = k + 1;
    itoa(k, str, 10);
    strcat(str,".jpg");
    //open new file 
    outfile = sd.open(str,file_write);
    if (! outfile)
    {
      return;
    }

    //read jpeg data fifo
    while( (temp != 0xd9) | (temp_last != 0xff) )
    {
      temp_last = temp;
      temp = mycam.read_fifo();
      //write image data file
      outfile.write(temp);
    }
    //close file
    outfile.close();
   
    //clear capture done flag
    mycam.clear_fifo_flag();
    //clear start capture flag
    start_capture = 0;
  }

}

   

ti invitiamo presentarti qui: http://forum.arduino.cc/index.php?topic=113640.0
e leggere il regolamento: http://forum.arduino.cc/index.php?topic=149082.0
- qui una serie di schede xxxpighi per collegamenti elettronici vari: http://forum.arduino.cc/index.php?topic=146152.0
- qui le pinout delle varie schede xxxpighi: http://forum.arduino.cc/index.php?topic=151646.0
- qui una serie di link utili: http://forum.arduino.cc/index.php?topic=126861.0


Arduino Forum > International > Italiano > Hardware (Moderator: leo72) > Interfacciamento Arduino mega 2560 con ArduCam-F


arduino

Comments

Popular posts from this blog

opencv3, tbb and rasp pi 2 - Raspberry Pi Forums

small ethernet problem - Raspberry Pi Forums

Multithumb configuration params not working? - Joomla! Forum - community, help and support