Renesas Community
Renesas Community
  • User
    Join or sign in
  • Site
  • Search Community
  • User
  • Renesas Engineering Community
  • FAQ
  • HELP
  • More
  • Cancel
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-LYCHEE GR-LYCHEEでSD初期化エラーの原因が知りたい
  • Forums
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 GR-SAKURA

 GR-KURUMI

 GR-COTTON

 GR-CITRUS

 GR-PEACH

 GR-KAEDE

 GR-ADZUKI

 GR-LYCHEE

 GR-ROSE

 GR-MANGO(*)

 SNShield

 Web Compiler

 IDE for GR

 TOPPERS関連

 女子美コラボ

 その他

 ※プロデューサミーティング中

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他・過去ファイル

  • State Not Answered
  • Replies 1 reply
  • Subscribers 439 subscribers
  • Views 940 views
  • Users 0 members are here
Options
  • Share
  • More
  • Cancel
Related Tags
  • 5Vトレラント
  • binファイル
  • BLE
  • DisplayApp
  • e2studio
  • error
  • ESP32
  • GR-LYCHEE
  • GR-PEACH
  • html
  • includeに関しては、C言語のヘッダファイルの意味合いを理解すれば、どういうことなのか?がわかるんじゃないか?と思いますよ。
  • OpenCV
  • pwm
  • WebCamera
  • webコンパイラ
  • カメラ
  • コンパイラー
  • シリアル
  • ダウンロード
  • ツールチェン
  • ファームウェア
  • 基板サイズ
  • 解凍
Related

GR-LYCHEEでSD初期化エラーの原因が知りたい

deepriver
deepriver over 2 years ago

GR-LYCHEE付属カメラで撮影し、opencvで輪郭検出してその検出後画像をjpgで重心値をcsvにしてSDカードに保存というプログラムを開発しています。

そこで、原因不明のSD初期化エラーが出たためご質問させていただきました。

ソースコードの問題も考えられたため、サンプルのDigitalCameraでも試しましたが同様の現象が起こりました。

手元にあった新品のGR-LYCHEE,新品のSDカードでも試しましたが同様でした。

IDEで開発を進めており、現状そこで何か起こっているのかとも思っています。

あいまいかつ初歩的な質問で申し訳ございませんが、その他確認箇所などご教授いただけないでしょうか。

 

【サンプルDigitalCameraでエラーが起こる箇所】

>if (!SD.begin()) {
>Serial.println("Card failed, or not present.");

このプリント分が出ています。

 

【この現象に至るまでの補足】

・DigitalCameraのサンプルは正常に動作することは以前に確認済み(SDにも保存できていました)

・元々開発していたプログラムで、以前は画像とcsvともに保存できていた

(ただし、タイミング調整の問題で画像が全面保存されない(半分が単色で塗りつぶされる)ということが数枚起こっていました)

・元々開発していたプログラムはデバック途中で、一時的にクロック毎にSDを開き画像を保存SDを閉じるということをしてしまっていた

・以前開発していたプログラムで、EEPROMに書き込むようなソースを書き込んだことがある(ライブラリの問題等でデバックできずエラーを残したまま断念)

  • Reply
  • Cancel
  • Cancel
Parents
  • Okamiya Yuuki
    0 Okamiya Yuuki over 2 years ago

    IDEとはIDE for GRですかね?

    一応こちらでIDE for GR V1.12で試してみましたが、DigitalCameraのサンプルは動作しました。

    ただサンプルがGR-PEACH用にLEDとボタンの名称が間違っていたので、その点は修正しました。

    一応確認したものを貼り付けます。

    // Sample for GR-PEACH, GR-LYCHEE
    //
    // Required hardware: Camera, SD
    //
    // Public Domain

    #include <Camera.h>
    #include <SD.h>
    #include <SPI.h>
    #include <RTC.h>
    Camera camera(640, 480);
    //Camera camera(640, 480, 0); // specify 0 for CVBS with GR-PEACH
    //Camera camera(640, 480, 2); // specify 2 for Wireless Camera shield
    RTC rtc;

    void dateTime(uint16_t* date, uint16_t* time) {
    int year, mon, day, hour, min, sec, week;
    rtc.getDateTime(year, mon, day, hour, min, sec, week);
    *date = FAT_DATE(year, mon, day);
    *time = FAT_TIME(hour, min, sec);
    }
    void setup() {

    Serial.begin(9600);
    Serial.println("start");
    pinMode(PIN_SW0, INPUT);
    pinMode(PIN_LED_GREEN, OUTPUT);
    pinMode(PIN_LED_GREEN, OUTPUT);
    pinMode(PIN_LED_RED, OUTPUT);

    camera.begin();
    rtc.begin();

    rtc.setDateTime(2017, 6, 17, 14, 1, 0);
    SdFile::dateTimeCallback(&dateTime);

    if (!SD.begin()) {
    Serial.println("Card failed, or not present.");
    digitalWrite(PIN_LED_RED, HIGH);
    while (1)
    ;
    }
    else {
    Serial.println("Card founded.");
    }
    Serial.println("Click button to take a picture.");
    digitalWrite(PIN_LED_GREEN, HIGH);

    }

    void loop() {
    static int count = 0;
    if (digitalRead(PIN_SW0) == 0) {
    char filename[13];
    sprintf(filename, "image%d.jpg", count);
    File file = SD.open(filename, FILE_WRITE);
    if (file) {
    digitalWrite(PIN_LED_GREEN, HIGH);
    size_t size = camera.createJpeg();
    uint8_t* adr = camera.getJpegAdr();
    for (size_t i = 0; i < size; i++) {
    file.write(*adr);
    adr++;
    }
    file.close();
    Serial.print("Saved a picture as ");
    Serial.println(filename);
    digitalWrite(PIN_LED_GREEN, LOW);
    count++;
    }
    else {
    Serial.println("Failed to open file.");
    digitalWrite(PIN_LED_RED, HIGH);
    while (1)
    ;
    }
    }

    }
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
Reply
  • Okamiya Yuuki
    0 Okamiya Yuuki over 2 years ago

    IDEとはIDE for GRですかね?

    一応こちらでIDE for GR V1.12で試してみましたが、DigitalCameraのサンプルは動作しました。

    ただサンプルがGR-PEACH用にLEDとボタンの名称が間違っていたので、その点は修正しました。

    一応確認したものを貼り付けます。

    // Sample for GR-PEACH, GR-LYCHEE
    //
    // Required hardware: Camera, SD
    //
    // Public Domain

    #include <Camera.h>
    #include <SD.h>
    #include <SPI.h>
    #include <RTC.h>
    Camera camera(640, 480);
    //Camera camera(640, 480, 0); // specify 0 for CVBS with GR-PEACH
    //Camera camera(640, 480, 2); // specify 2 for Wireless Camera shield
    RTC rtc;

    void dateTime(uint16_t* date, uint16_t* time) {
    int year, mon, day, hour, min, sec, week;
    rtc.getDateTime(year, mon, day, hour, min, sec, week);
    *date = FAT_DATE(year, mon, day);
    *time = FAT_TIME(hour, min, sec);
    }
    void setup() {

    Serial.begin(9600);
    Serial.println("start");
    pinMode(PIN_SW0, INPUT);
    pinMode(PIN_LED_GREEN, OUTPUT);
    pinMode(PIN_LED_GREEN, OUTPUT);
    pinMode(PIN_LED_RED, OUTPUT);

    camera.begin();
    rtc.begin();

    rtc.setDateTime(2017, 6, 17, 14, 1, 0);
    SdFile::dateTimeCallback(&dateTime);

    if (!SD.begin()) {
    Serial.println("Card failed, or not present.");
    digitalWrite(PIN_LED_RED, HIGH);
    while (1)
    ;
    }
    else {
    Serial.println("Card founded.");
    }
    Serial.println("Click button to take a picture.");
    digitalWrite(PIN_LED_GREEN, HIGH);

    }

    void loop() {
    static int count = 0;
    if (digitalRead(PIN_SW0) == 0) {
    char filename[13];
    sprintf(filename, "image%d.jpg", count);
    File file = SD.open(filename, FILE_WRITE);
    if (file) {
    digitalWrite(PIN_LED_GREEN, HIGH);
    size_t size = camera.createJpeg();
    uint8_t* adr = camera.getJpegAdr();
    for (size_t i = 0; i < size; i++) {
    file.write(*adr);
    adr++;
    }
    file.close();
    Serial.print("Saved a picture as ");
    Serial.println(filename);
    digitalWrite(PIN_LED_GREEN, LOW);
    count++;
    }
    else {
    Serial.println("Failed to open file.");
    digitalWrite(PIN_LED_RED, HIGH);
    while (1)
    ;
    }
    }

    }
    • Cancel
    • Up 0 Down
    • Reply
    • Verify Answer
    • Cancel
Children
No Data
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2022 Renesas Electronics Corporation. All rights reserved.