mirror of
https://github.com/RobTillaart/Arduino.git
synced 2024-09-19 16:46:11 -04:00
1.5.1 I2C_EEPROM cleanup
This commit is contained in:
parent
25164f9333
commit
96b925737c
@ -1,128 +0,0 @@
|
||||
|
||||
Try this (not tested)
|
||||
[code]
|
||||
//#include <UTFT.h>
|
||||
#include <SD.h>
|
||||
#include <Wire.h>
|
||||
#include <ArduCAM.h>
|
||||
#include <avr/pgmspace.h>
|
||||
|
||||
#define SD_CS 9
|
||||
|
||||
|
||||
//UTFT(byte model, int RS, int WR, int RD, int CS)
|
||||
//UTFT myGLCD(ITDB32S,A2,A1,A0,10); // Remember to change the model parameter to suit your display module!
|
||||
//ArduCAM(byte model,int RS, int WR, int RD, int REG_CS, int FIFO_CS)
|
||||
ArduCAM myCAM(OV2640,A2,A1,A0,A3,10); // Remember to change the model parameter to suit your canera module!
|
||||
|
||||
void setup()
|
||||
{
|
||||
Serial.begin(115200); // <<<<<<<<<<<<<<<<<<<<<<<
|
||||
Serial.println("Start arducam test");
|
||||
|
||||
//Initialize I2C Bus
|
||||
Wire.begin();
|
||||
//Switch to FIFO Mode
|
||||
myCAM.write_reg(ARDUCHIP_TIM, MODE_MASK);
|
||||
//Set sensor to JPEG mode. Note don't all the camera modules support JPEG mode
|
||||
myCAM.OV2640_set_format(JPEG);
|
||||
//Initialize Camera Module
|
||||
myCAM.InitCAM();
|
||||
myCAM.OV2640_set_JPEG_size(OV2640_320x240);
|
||||
|
||||
Serial.println("SD.begin");
|
||||
//Initialize SD Card
|
||||
if (!SD.begin(SD_CS))
|
||||
{
|
||||
Serial.println("SD card failed");
|
||||
//while (1); //If failed, stop here
|
||||
}
|
||||
Serial.println("SD card success");
|
||||
Serial.println("End setup");
|
||||
}
|
||||
|
||||
void loop()
|
||||
{
|
||||
Serial.print(millis());
|
||||
Serial.println("\tstart loop");
|
||||
|
||||
char str[8];
|
||||
File outFile;
|
||||
static int k = 0;
|
||||
uint8_t temp,temp_last;
|
||||
uint8_t start_capture = 0;
|
||||
|
||||
Serial.print(millis());
|
||||
Serial.println("\tWait trigger from shutter buttom");
|
||||
|
||||
//Wait trigger from 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;
|
||||
}
|
||||
|
||||
|
||||
Serial.print(millis());
|
||||
Serial.println("\tStart capture I");
|
||||
//Start capture when detect a valid shutter press
|
||||
if(start_capture)
|
||||
{
|
||||
//Flush the FIFO
|
||||
myCAM.flush_fifo();
|
||||
//Start capture
|
||||
myCAM.start_capture();
|
||||
}
|
||||
|
||||
if(myCAM.read_reg(ARDUCHIP_TRIG) & CAP_DONE_MASK)
|
||||
{
|
||||
//Construct a file name
|
||||
k = k + 1;
|
||||
itoa(k, str, 10);
|
||||
strcat(str,".jpg");
|
||||
//Open the new file
|
||||
outFile = SD.open(str,FILE_WRITE);
|
||||
if (! outFile)
|
||||
{
|
||||
Serial.print(millis());
|
||||
Serial.println("\tfailure outfile");
|
||||
return;
|
||||
}
|
||||
|
||||
Serial.print(millis());
|
||||
Serial.println("\toutfile succes");
|
||||
|
||||
//Enable FIFO
|
||||
myCAM.enable_fifo();
|
||||
|
||||
uint32_t bytecounter = 0;
|
||||
//Read the first dummy byte from FIFO
|
||||
temp = myCAM.read_fifo();
|
||||
|
||||
//Read JPEG data from FIFO
|
||||
while( (temp != 0xD9) | (temp_last != 0xFF) )
|
||||
{
|
||||
bytecounter++;
|
||||
if (bytecounter % 32 == 0) Serial.print('.');
|
||||
if (bytecounter % 1024 == 0) Serial.println;
|
||||
temp_last = temp;
|
||||
temp = myCAM.read_fifo();
|
||||
//Write image data to file
|
||||
outFile.write(temp);
|
||||
}
|
||||
Serial.println();
|
||||
|
||||
//Disable FIFO when all the image data is saved to the file
|
||||
myCAM.disable_fifo();
|
||||
//Close the file
|
||||
outFile.close();
|
||||
|
||||
//Clear the capture done flag
|
||||
myCAM.clear_fifo_flag();
|
||||
//Clear the start capture flag
|
||||
start_capture = 0;
|
||||
}
|
||||
}
|
||||
|
||||
[/code]
|
Loading…
Reference in New Issue
Block a user