Renesas Community
Search Community
User
Join or sign in
Site
Search Community
User
Renesas Engineering Community
FAQ
HELP
More
Cancel
がじぇっとるねさすコミュニティ
その他・過去ファイル
JPEGカメラ LS-Y201用ライブラリ+サンプル
Forums
Files
がじぇっとるねさす ゆーざー会 - Wiki
Tags
More
Cancel
New
Upload/Edit File
JPEGカメラ LS-Y201用ライブラリ+サンプル
File or Website
Upload a file or enter a website address.
Upload file
Remove file
Name
JPEGカメラ LS-Y201用ライブラリ+サンプル
Description
<p>がじぇるね岡宮です。</p> <p>残念ながらディスコンになった(<a href="https://www.sparkfun.com/products/11610">後継品あり</a>)、LinkSprite社の<a href="https://www.sparkfun.com/products/retired/10061">JPEGカメラLS-Y201</a>用ライブラリとサンプルプログラムをアップします。</p> <p>静止画(320x 240)を撮り、SDに保存するまでです。</p> <p> </p> <p>すみませんが、GR-KURUMI用です。SAKURAではまだ試してません(多分使えますがサンプルは若干変更要ります。Serialのハンドルを渡すところで)。</p> <p>なぜディスコンに関わらずアップしたか、、それはルネナイ4の賞品+色々な事情のためです。(キリッ</p> <p>Arduino用のライブラリがSparkfunにも掲載されていますが、ソフトウェアシリアルを使っている+謎の挙動があったので、改造してアップしています。</p> <p>宜しければお使いください。Webコンパイラの場合、プロジェクトルートでzipファイルインポート後、Arduino.hのコメントをはずすことで使えます。</p> <p>IDE for GRの場合は、ライブラリのインポートを行ってください。</p> <p> </p> <p>サンプルプログラムは以下です。(相変わらずタブがクリアされて見にくいですが、コピペで使えます)</p> <p>ハードの接続や、手順はブログに書きたいと思います。</p> <p>/*<br /> This sample is modified version based on below. <br /> http://arms22.blog91.fc2.com/blog-entry-502.html<br /> http://arms22.blog91.fc2.com/blog-entry-391.html<br />*/</p> <p>//#include <Arduino.h> // remove comment in case of web compiler<br />#include <SD.h><br />#include "JPEGCamera.h"</p> <p>//JPEGCameraインスタンスを作成<br />//コンストラクタにStreamクラスの派生クラスを指定する<br />JPEGCamera camera(Serial1);</p> <p>void dateTime(uint16_t* date, uint16_t* time);</p> <p>//受信バッファ<br />unsigned char response[32];<br />//受信データサイズ<br />unsigned int count=0;<br />//撮影したJPGE画像サイズ<br />uint16_t size=0;<br />//次に読み込むJPEG画像のアドレス<br />unsigned int address=0;</p> <p>void setup()<br />{ <br />Serial1.begin(38400); // to JPEG camera<br />Serial.begin(115200); // to USB serial</p> <p>if( camera.reset() == false ){<br />Serial.println("reset failed");<br /> }<br />Serial.print(F("Initializing SD card..."));</p> <p>if (!SD.begin(4)) {<br /> Serial.println(F("Card failed, or not present"));<br /> // 失敗、何もしない<br /> while(1);<br /> }<br /> Serial.println(F("SD ok."));<br /> <br /> // 日付と時刻を返す関数を登録<br /> SdFile::dateTimeCallback( &dateTime );</p> <p>//4秒程まってから撮影を開始する<br /> delay(4000);<br />}</p> <p>void loop()<br />{<br /> Serial.println("Hit Any Key");<br /> //PCからの撮影トリガを待つ<br /> while(!(Serial.available())){<br /> }<br /> Serial.read();<br /> <br /> Serial.println("taking picture...");<br /> if( camera.takePicture() == false ){<br /> Serial.println("fail to take picture");<br /> }<br /> Serial.println("ok.");<br /> <br /> Serial.println("taking size...");<br /> if( camera.getSize(&size) == false ){<br /> Serial.println("getSize failed");<br /> }<br /> Serial.print(size);<br /> Serial.println();</p> <p>char filename[12] = "pic0.jpg";<br /> unsigned int count = 0;<br /> while(SD.exists(filename)){<br /> count++;<br /> sprintf(filename, "pic%d.jpg", count);<br /> }<br /> File dataFile = SD.open(filename, FILE_WRITE);<br /> Serial.print("filename is ");<br /> Serial.println(filename);<br /> <br /> //開始アドレスを0に、size分読み込むまで繰り返す<br /> address = 0;<br /> while(address < size)<br /> {<br /> //32byte読み込む<br /> count = camera.readData(response, 32, address);<br /> if( count ){<br /> //SDに書き込む<br /> for (int i =0 ; i< 32;i+=2){<br /> dataFile.write(response[i]);<br /> dataFile.write(response[i+1]);<br /> if((response[i] == 0xFF) && (response[i+1] == 0xD9)){//JPGの終わりを検出<br /> break;<br /> }<br /> }<br /> <br /> //受信したデータサイズ分、アドレスを更新する<br /> address += count;<br /> } else {<br /> Serial.println("readData failed");<br /> }<br /> delay(1); //これがないとread failする<br /> }<br /> //撮影停止(一旦止めないと新しい画像は撮影されない)<br /> camera.stopPictures();<br /> dataFile.close();<br /> Serial.println("Success to save picture");<br />}</p> <p>void dateTime(uint16_t* date, uint16_t* time)<br />{<br /> uint16_t year = 2014; // Set time for saving files<br /> uint8_t month = 4, day = 16, hour = 11, minute = 0, second = 0;<br /> *date = FAT_DATE(year, month, day);<br /> *time = FAT_TIME(hour, minute, second);<br />}</p>
Tags
Search Engine Optimization
Title
Adjust the title exposed to search engines and facebook. If not set, the post’s title will be used. Custom titles should be 55 characters or less for bst results.
Keywords
Comma-separated list of words that uniquely relate to this content. These can be used by search engines to improve search results.
Description
If specified, search engines and facebook will use this description to provide an excerpt of this post. For best results this should be 150 characters or less.
Image
An image to respresent this post which will be used by sites that can read Open Graph tags such as facebook.
Upload file
Remove file
Post
Delete