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:
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
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
Post a Comment