Şimdi Ara

Arduino UNO + LCD Keypad Shield + ESP8266

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
3 Misafir - 3 Masaüstü
5 sn
12
Cevap
0
Favori
918
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Herkese merhaba.
    2 gündür ESP8266 ile uğraşıyorum. Önce programlaması nasıl yapılır, bağlantıları nasıl sağlanır çok fazla araştırma yaptım ve sonunda ağa bağlayıp bir websitesinden veri çekebildim.
    Arduino üzerine bağlı ESP8266'ya aldığı ip üzerinden bağlanıp, ağları listeletip bağlantısını tamamlamayı düşünüyordum fakat bu konu hakkında bulduğum kaynak biraz zorlayıcı oldu ama çalıştıramadım.
    Olayı bu kadar karıştırmayalım diye LCD Shield'e WiFi ağlarını listeletip, bu ağlardan birini seçtirip işleme devam ettirmeyi düşünüyordum. Taaki LCD Shield'i takana kadar.
    Programlama mantığı sanırım Arduino UNO üzerinden ESP8266'ya verileri aktarıp, ESP8266'yı programlıyor diye düşünüyorum. Doğru mudur?
    Peki bu kanıya nasıl vardım? Direkt LCD Shield'i Arduino'ya bağladığımda ekrana yazılar yazdırabildim, sonrasında ESP8266'yı ekleyip kodları düzenleyip yükledim.
    Bir de ne göreyim? Eski yazdığım yazılar duruyor. Sanki Arduino hiç programlanmamış gibi. İşte bu yüzden Arduino ve ESP8266 arasındaki programlama şeklinin bu şekilde olduğunu düşündüm.
    Peki, Arduino hiç programlanmıyorsa, yalnızca bir aracıysa o zaman nasıl oluyorda Seri Port Ekranında verileri görebiliyorum? ESP8266, Arduino üzerinden mi gönderiyor bu verileri?

    Sorum şu, Arduino UNO, LCD Keypad Shield, ESP8266 donanımlarını kullanarak birbirleriyle bağlantılı işlemler nasıl yapabilirim?

    Elimde kenarda duran bir Wemos D1 vardı, onu bağlayıp deneyeyim dedim bu sefer sürekli "wdt reset" sorunlarıyla karşılaştım.
    Bir tane çalışan proje buldum ve LCD Shield'i direkt Wemos'a bağlayıp bu ekrana verileri almaya çalıştım, bağlantı tamamlanıyor, veriler alınıyor ama Wemos kendine reset atıyor. Bunun sebebini de çözemedim, Wemos'u bana veren arkadaşı aradım o da buna benzer sorun olduğunu söylemişti.







  • Yukarı.
  • Hocam terminalde sadece wdt reset yazıyorsa uzun kod blokların altına wdt_reset(); kodunu ekleyip timeri manuel temizleyin aynı sorunu bu şekilde çözmüştüm şayet



    rst cause:2, boot mode:(3,6)



    tarzında bir hata ise boot mode seçme pinleri yanılmıyorsam d7 d8 d9 d10 bunlardan kaçınmayı deneyin

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • the_night T kullanıcısına yanıt
    Cevabınız için öncelikle teşekkürler.
    void setup() { 
    Serial.begin(115200);
    delay(10);
    //pinMode(ledPin, OUTPUT);
    //digitalWrite(ledPin, LOW);
    // We start by connecting to a WiFi network

    Serial.println();
    Serial.println();
    Serial.print("Connecting to ");
    Serial.println(ssid);

    WiFi.begin(ssid, password);

    while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }

    Serial.println("");
    Serial.println("WiFi connected");
    Serial.println("IP address: ");
    Serial.println(WiFi.localIP());
    }


    setup kodum bu şekilde.

    Aldığım yanıtlar:
    Connecting to AirTies 
    ....
    Exception (0):
    epc1=0x40102153 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

    ctx: sys
    sp: 3ffffcd0 end: 3fffffb0 offset: 01a0

    >>>stack>>>
    3ffffe70: 3ffed6a0 40102136 00000001 ffffff80
    3ffffe80: 00000000 40219dfa 53000000 4000050c
    3ffffe90: 3fffc278 40101f8c 3fffc200 00000022
    3ffffea0: 3ffffeb0 3ffee138 3ffedbae 00000000
    3ffffeb0: 40000f68 00000030 00000014 ffffffff
    3ffffec0: 40000f58 00000000 00000020 00000000
    3ffffed0: 0000000a 4020b248 00003a98 00000000
    3ffffee0: 3ffee778 3ffe9334 3ffee778 3fffdab0
    3ffffef0: 00000000 3fffdcb0 3ffee7c0 00000030
    3fffff00: 4010502c 000ac2cc 3fff06a0 00000000
    3fffff10: 3ffee7a0 3fff06a0 3fff069c 4021a486
    3fffff20: 4022afaa 3fff06a0 00000000 00000001
    3fffff30: 000005e0 00000000 401030c9 3ffed6a0
    3fffff40: 40104d9e 000a72eb 3ffee778 4020b265
    3fffff50: 40104e5a 3ffe9334 000a72eb 00000000
    3fffff60: 40104d9e 000a72eb 3ffee7a0 60000600
    3fffff70: 40229704 3ffee778 3ffee7a0 00217d21
    3fffff80: 4022972a 3fffdab0 00000000 3fffdcb0
    3fffff90: 3ffee7c0 3fffdab0 00000000 4020391f
    3fffffa0: 40000f49 40000f49 3fffdab0 40000f49
    <<<stack<<<

    ets Jan 8 2013,rst cause:4, boot mode:(3,6)

    wdt reset
    load 0x4010f000, len 1384, room 16
    tail 8
    chksum 0x2d
    csum 0x2d
    v4ceabea9
    ~ld


    Connecting to AirTies
    ....
    ets Jan 8 2013,rst cause:4, boot mode:(3,6)

    wdt reset
    load 0x4010f000, len 1384, room 16
    tail 8
    chksum 0x2d
    csum 0x2d
    v4ceabea9
    ~ld


    Connecting to AirTies
    ...


    üç nokta while döngüsünden sonra patlıyor. Anlam veremiyorum.
    Peki diğer asıl sorum hakkında bir bilginiz var mı?




  • Aynen düşündüğümüz gibi reset ve boot hatası vermiş hocam hata koduna netten bakıp derdi neymiş anlaşılır asıl sorunuz wemosun nasıl programlandigiysa yüklediğiniz program sayesinde bir wifi ağına katılıyor programları wifi üzerinden alıyor boot mode hatası burda başlıyor cihaz kodları flashtanmi okusun remden mi okusun derken pinler yanlış konumdaysa resete düşüyor. Eğer sorunuz keypad ve lcd shield ise 2x16 lcd kütüphanesi esp ile uyumlu direk çalışması gerekiyor

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • the_night T kullanıcısına yanıt
    Evet, şimdi programlama yaparken D1 R2 & mini seçip programladım ve aktif kullanılan pinleri iptal ettim.
    Sonuç biraz daha temiz:
    Connecting to AirTies
    ......
    WiFi connected
    Server started
    Use this URL :http://192.168.2.173/

    Exception (0):
    epc1=0x40219444 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000

    ctx: sys
    sp: 3ffffda0 end: 3fffffb0 offset: 01a0

    >>>stack>>>
    3fffff40: 4021943d 00000000 3ffe9e90 3ffe9e9c
    3fffff50: 3ffe9e9c 000000b5 00000000 00000025
    3fffff60: 00000002 3ffe9ea6 40222c83 3ffed050
    3fffff70: 3ffe9e90 3fffdcc0 3ffe96b8 3ffe96b8
    3fffff80: 00000080 3ffed050 00000000 3ffef0a0
    3fffff90: 4022255f 3fffdab0 00000000 40203a47
    3fffffa0: 3ffe96b8 40000f49 3fffdab0 40000f49
    <<<stack<<<

    ets Jan 8 2013,rst cause:2, boot mode:(1,6)


    ets Jan 8 2013,rst cause:4, boot mode:(1,6)

    wdt reset


    şimdi bu sorunla boğuşuyorum.
    Dediğiniz reset kodunu nereye yazacağız? Loop sonuna mı?



    < Bu mesaj bu kişi tarafından değiştirildi 55electronicdesign -- 19 Ocak 2018; 16:35:47 >




  • while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
    }

    şu kod bloğunda çok zaman harcanıyor gibi her satirin altına ekleyin ama cihaz yine bir boot hatası vermiş boot mode:(1,6) ve Exception (0): hata kodlarının ne olduğuna bakılması gerekiyor

    şu linklere bir göz atın yani mesele sadece watchdog reset değil yanında boot problemide var önce yukarıdaki çözümü deneyin birde kartın modelini değiştirmeyin isterseniz kartın modeline göre kütüphane dosyaları pin durumları tanımlı olduğundan sıkıntı çıkarabilir

    http://esp8266.github.io/Arduino/versions/2.0.0/doc/boards.html
    http://www.esp8266.com/viewtopic.php?p=2096#p2112
    https://github.com/esp8266/Arduino/issues/2829
    https://espressif.com/sites/default/files/documentation/esp8266_reset_causes_and_common_fatal_exception_causes_en.pdf




  • şu linkteki kodlar bende sıkıntısız çalıştı bir deneyin isterseniz

    https://tttapa.github.io/ESP8266/Chap07%20-%20Wi-Fi%20Connections.html

    Arduino UNO + LCD Keypad Shield + ESP8266




  • the_night T kullanıcısına yanıt
    Büyük ihtimal kartta arıza var. Konuda da belirttiğim gibi bu kartı veren arkadaşta bu sorunlarla karşılaştığını söylemişti.
    Arduino UNO, LCD Keypad Shield ve ESP8266'yı birbirine bağlayabildim.
    Tam "oh be çok şükür" diyecektim ki...
    AT komutlarını kabul etmedi.
    Projeyi yayınlayan sitenin yorumlarına baktım ve ESP8266'nın resetlenmesi gerektiğini söylemişler.
    Araştırdığım kadarıyla da bu işlem hiçte basit değil ve ekstradan FTDI dönüştürücü gerekiyor.
    Açıkcası AT komutlarından kaçayım derken iyice elime yüzüme bulaştırdım. Araştırdığım konuların hiç birinde "bakın siz bu yazılımı yüklerseniz bir daha AT komutlarını kullanamazsınız" diye bir açıklama görmedim, belkide ben farketmedim.
    Şimdi ne yapacağımı gerçekten bilmiyorum. Ya dönüştürücü alıp ESP8266'nın yazılımını güncelleyeceğim ya da yeni bir Wemos alacağım.
    Ama yeni alacağım Wemos, bu şekilde dalga geçicek mi? Aynı zamanda normal bir Arduino UNO kullanıyormuş gibi kullanabilecek miyim?
    (İşin bir garip tarafı da Arduino Nano ile Arduino UNO bağlantılarının aynı olmasına rağmen Nano'da bir türlü UNO'da yaptıklarımı yapamadım, hep hatalarla boğuştum. )

    Rica etsem, Araçlar menüsünün altındaki seçeneklerinizi paylaşır mısınız?
    921600 Update Speed kullanıyorum.

    Şimdi bu durumda en baştan başlıyorum ve sağlıklı bir şekilde internet bağlantısı kurmak için ne yapmalıyım?




  • Bende hızına aldanıp almıştım step motor için pulse üretimini bunun üzerinden yapıyım dedim ama sağlıklı olmadı sürekli motoru kitledi sonrada soğudum eğer ağ kurulum yada nebiliyim net üzerinden işleriniz yoksa sadece hız istiyorsanız stm ye yönelin daha az sorunlu stm blue pill ve black pill kartlarına bakabilirsiniz arduino platformuna uyumlu. Son olarak şunu söyleyim bu tür farklı mimarili kartları kullandıkça kütüphane sıkıntısı yaşayacaksınız her modülün kütüphanesini belki bulamayacaksınız elle yazacaksınız böylede dezavantajı var malesef :)

    Arduino UNO + LCD Keypad Shield + ESP8266




  • the_night T kullanıcısına yanıt
    Yardımlarınız için teşekkür ettim. Yeni bir şeyler daha öğrendik. :)
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.