Duyuru

Çöküş
Henüz duyuru yok

Gecikme

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

  • Gecikme

    https://forum.deneyapkart.org/forum/g%C3%BC%C3%A7-ve-bellek/deneyap-kamera/281-yaln%C4%B1zca-2-adet-resim-%C3%A7ekebiliyorum
    forum postundaki çözülmüş kodu biraz değiştirdim. Kameram butona basınca fotoğraf çekiyor ve çalışıyor. Ama kameram çok gecikmeli, çekme komutunu vermemden en az 10 saniye öncesini gösteriyor.

    İşte kodum:

    #include "esp_camera.h" // Kamera için gereken kütüphane
    #include <Arduino.h> // ???
    #include "deneyap.h" // Deneyap Kart için gereken kütüphane
    #include <base64.h> // Verileri base64 yöntemiyle şifrelemek için kütüphane

    // ---------->>>>>>>>>> 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); // Serial (Bilgisayar ile olan iletişim) monitörünü başlatıyoruz.
    Serial.println("-----------------------------"); // Düzen sağlamak için bir satırı çizgiyle kaplıyoruz

    cameraInit(); // Kamerayı başlatıyoruz
    }

    void loop() {

    WaitForPress(D9); // D9 pinindeki butonun basılıp çekilmesi için bekliyoruz. Bu benim yaptığım bir fonksiyon. Aşağıda anlatılacak

    Serial.println("> Fotoğraf çekiliyor... Lütfen bekleyin"); // Fotoğrafın çekildiğini yazıyoruz
    fb = esp_camera_fb_get(); // fotoğrafı (5sn öncesini) çekiyoruz ve fb değişkenine kaydediyoruz

    if (!fb) { // Eğer fotoğraf YOKSA
    Serial.println("> Fotoğraf çekimi başarısız oldu"); // Fotoğraf çekiminin başarısız olduğuna dair bir mesaj gönderiyoruz
    Serial.println("-----------------------------"); // Düzen sağlamak için bir satırı çizgiyle kaplıyoruz
    }

    else { // Eğer fotoğraf VARSA

    String buffer = base64::encode((uint8_t *) fb->buf, fb->len); // fotoğrafı saklayamayacağımız için base64 yöntemiyle uzun bir yazıya dönüştürüyoruz
    Serial.println("> Fotoğrafınız Hazır :"); //Fotoğrafın hazır olduğuna dair bir mesaj gönderiyoruz
    Serial.println(buffer); // 2 satır önce elde ettiğimiz uzun yazıyı mesaj olarak gönderiyoruz
    esp_camera_fb_return(fb); // Kamerayı resetliyoruz
    Serial.println("-----------------------------"); // Düzen sağlamak için bir satırı çizgiyle kaplıyoruz

    }
    }

    void WaitForPress(char pin) { // yazdığım WaitForPress fonksiyonu
    while(digitalRead(pin) == LOW){ }
    while(digitalRead(pin) == HIGH){ }
    }


  • #2
    Aslı Kızgın Çikolatalı Süt tarafından gönderilmiş Mesajı göster
    https://forum.deneyapkart.org/forum/g%C3%BC%C3%A7-ve-bellek/deneyap-kamera/281-yaln%C4%B1zca-2-adet-resim-%C3%A7ekebiliyorum
    forum postundaki çözülmüş kodu biraz değiştirdim. Kameram butona basınca fotoğraf çekiyor ve çalışıyor. Ama kameram çok gecikmeli, çekme komutunu vermemden en az 10 saniye öncesini gösteriyor.

    İşte kodum:

    #include "esp_camera.h" // Kamera için gereken kütüphane
    #include <Arduino.h> // ???
    #include "deneyap.h" // Deneyap Kart için gereken kütüphane
    #include <base64.h> // Verileri base64 yöntemiyle şifrelemek için kütüphane

    // ---------->>>>>>>>>> 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); // Serial (Bilgisayar ile olan iletişim) monitörünü başlatıyoruz.
    Serial.println("-----------------------------"); // Düzen sağlamak için bir satırı çizgiyle kaplıyoruz

    cameraInit(); // Kamerayı başlatıyoruz
    }

    void loop() {

    WaitForPress(D9); // D9 pinindeki butonun basılıp çekilmesi için bekliyoruz. Bu benim yaptığım bir fonksiyon. Aşağıda anlatılacak

    Serial.println("> Fotoğraf çekiliyor... Lütfen bekleyin"); // Fotoğrafın çekildiğini yazıyoruz
    fb = esp_camera_fb_get(); // fotoğrafı (5sn öncesini) çekiyoruz ve fb değişkenine kaydediyoruz

    if (!fb) { // Eğer fotoğraf YOKSA
    Serial.println("> Fotoğraf çekimi başarısız oldu"); // Fotoğraf çekiminin başarısız olduğuna dair bir mesaj gönderiyoruz
    Serial.println("-----------------------------"); // Düzen sağlamak için bir satırı çizgiyle kaplıyoruz
    }

    else { // Eğer fotoğraf VARSA

    String buffer = base64::encode((uint8_t *) fb->buf, fb->len); // fotoğrafı saklayamayacağımız için base64 yöntemiyle uzun bir yazıya dönüştürüyoruz
    Serial.println("> Fotoğrafınız Hazır :"); //Fotoğrafın hazır olduğuna dair bir mesaj gönderiyoruz
    Serial.println(buffer); // 2 satır önce elde ettiğimiz uzun yazıyı mesaj olarak gönderiyoruz
    esp_camera_fb_return(fb); // Kamerayı resetliyoruz
    Serial.println("-----------------------------"); // Düzen sağlamak için bir satırı çizgiyle kaplıyoruz

    }
    }

    void WaitForPress(char pin) { // yazdığım WaitForPress fonksiyonu
    while(digitalRead(pin) == LOW){ }
    while(digitalRead(pin) == HIGH){ }
    }
    Merhabalar,

    Kameranızın kablosu ile ilgili olabilir. Düz bir zeminde ve yere paralel olacak şekilde bir deneme yapın isterseniz. Bir de; çözünürlüğü ve frekansı da düşürerek deneme de bulunabilirsiniz.

    Yorum Yap


    • #3
      Çok teşekkür ederim. Fakat çözünürlüğü ve frekansı nasıl değiştirebilirim?

      Yorum Yap

      Hazırlanıyor...
      X