Duyuru

Çöküş
Henüz duyuru yok

cameraInit(); hatası

Çöküş
X
 
  • Filtrele
  • Zaman
  • Göster
Hepsini Sil
yeni mesajlar

  • cameraInit(); hatası

    https://forum.deneyapkart.org/forum/g%C3%BC%C3%A7-ve-bellek/deneyap-kamera/281-yaln%C4%B1zca-2-adet-resim-%C3%A7ekebiliyorum
    Forumundaki kodun düzeltilmiş halini kullanmak istiyorum. Ancak 14. satırda yer alan cameraInit fonksiyonunda hata veriyor.

    Hata Mesajı:
    C:\Users\Onur\Documents\Arduino\kamera\kamera. ino: In function 'void setup()':
    kamera:14:5: error: 'cameraInit' was not declared in this scope
    C:\Users\Onur\Documents\Arduino\kamera\kamera. ino:14:5: note: suggested alternative: 'camera_fb_t'
    exit status 1
    'cameraInit' was not declared in this scope


    Kod:
    #include "esp_camera.h"
    #include <Arduino.h>
    #include "deneyap.h"
    #include <base64.h>
    
    // ---------->>>>>>>>>> YUKLEME YAPILAMDAN DIKKAT EDILMESI GEREKEN HUSUS <<<<<<<<<<----------
    // "Araclar->Partition Scheme->Huge APP" secilmeli //
    // "Tools->Partition Scheme->Huge APP" secilmeli //
    
    camera_fb_t * fb = NULL;
    
    void setup() {
    Serial.begin(115200);
    cameraInit();
    }
    
    void loop() {
    
    delay(5000);
    
    fb = esp_camera_fb_get();
    if (!fb) {
    Serial.println("Camera capture failed");
    } else {
    String buffer = base64::encode((uint8_t *) fb->buf, fb->len);
    Serial.println("base64 :");
    Serial.println(buffer);
    esp_camera_fb_return(fb);
    }
    }
    Bu hatanın çözümü nedir?

  • #2
    Sorunu kendim çözdüm cameraInit(); fonksiyonunu kendim tanımladım. Deneyap kamera yayını kutu açılış uygulamasından aldığım

    Kod:
    void cameraInit(void) {
    camera_config_t config;
    config.ledc_channel = LEDC_CHANNEL_0;
    config.ledc_timer = LEDC_TIMER_0;
    config.pin_d0 = CAMD2;
    config.pin_d1 = CAMD3;
    config.pin_d2 = CAMD4;
    config.pin_d3 = CAMD5;
    config.pin_d4 = CAMD6;
    config.pin_d5 = CAMD7;
    config.pin_d6 = CAMD8;
    config.pin_d7 = CAMD9;
    config.pin_xclk = CAMXC;
    config.pin_pclk = CAMPC;
    config.pin_vsync = CAMV;
    config.pin_href = CAMH;
    config.pin_sscb_sda = CAMSD;
    config.pin_sscb_scl = CAMSC;
    config.pin_pwdn = -1;
    config.pin_reset = -1;
    config.xclk_freq_hz = 15000000;
    config.frame_size = FRAMESIZE_UXGA;
    config.pixel_format = PIXFORMAT_JPEG;
    //config.pixel_format = PIXFORMAT_RGB565; // for face detection/recognition
    config.grab_mode = CAMERA_GRAB_WHEN_EMPTY;
    config.fb_location = CAMERA_FB_IN_PSRAM;
    config.jpeg_quality = 12;
    config.fb_count = 1;
    
    //init with high specs to pre-allocate larger buffers for larger pre-allocated frame buffer.
    if (config.pixel_format == PIXFORMAT_JPEG) {
    if (psramFound()) {
    config.jpeg_quality = 10;
    config.fb_count = 2;
    config.grab_mode = CAMERA_GRAB_LATEST;
    } else {
    // Limit the frame size when PSRAM is not available
    config.frame_size = FRAMESIZE_SVGA;
    config.fb_location = CAMERA_FB_IN_DRAM;
    }
    } else {
    // Best option for face detection/recognition
    config.frame_size = FRAMESIZE_240X240;
    #if CONFIG_IDF_TARGET_ESP32S3
    config.fb_count = 2;
    #endif
    }
    
    // Camera init
    esp_err_t err = esp_camera_init(&config);
    if (err != ESP_OK) {
    Serial.printf("Camera init failed with error 0x%x", err);
    return;
    }
    
    sensor_t* s = esp_camera_sensor_get();
    // Drop down frame size for higher initial frame rate
    s->set_framesize(s, FRAMESIZE_QVGA);
    }
    tanımını kodun sonuna ekledim ve sorunu çözdüm. Bu aynı zamanda eskiden yaşadığım gecikme sorununu da çözüyor. Ancak bu çözümdeki satırların tamamını anlayamadım. Nasıl çalıştığını çözmeme yardım eden biri olursa sevinirim.

    Yorum Yap

    Hazırlanıyor...
    X