İçindekiler:

ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü Karmaşık Olmayan: 5 Adım
ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü Karmaşık Olmayan: 5 Adım

Video: ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü Karmaşık Olmayan: 5 Adım

Video: ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü Karmaşık Olmayan: 5 Adım
Video: Зашить ESP 12E без проблем и заморочек. Чистая практика. (ESP8266 - Wi-Fi) 2024, Haziran
Anonim
ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü Komplike Olmayan
ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü Komplike Olmayan

Bu kılavuz, ESP8266 ESP-12E UART Kablosuz WIFI Shield TTL Dönüştürücü satın almış ve Arduino ile nasıl kullanılacağını bilmeyen kişilere yardımcı olmak için hazırlanmıştır.

Başlangıçta, bu öğretici burada Brezilya'da Portekizce yazılmıştır. Elimden geldiğince İngilizce yazmaya çalıştım. Bu yüzden yazılı olabilecek bazı hatalar için beni bağışlayın.

Bu talimat aşağıdaki gibi bölünmüştür:

Adım 1: Arduino için ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücüyü Tanımak

Adım 2: Arduino için ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü üzerinde Firmware Yükseltmesi

Adım 3: Kalkan, Kalkan, Daha Fazla ve Moer? Önemli mi?

Adım 4: Shield Moer - RX / TX Seri İletişimini Çözme

Adım 5: Arduino için ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü içeren web sunucusu

Bu kalkan hakkında mümkün olduğunca çok şey öğrenmek için tüm adımları okumanızı tavsiye ederim.

Adım 1: Arduino için ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücüyü Tanımak

ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü (Shield WiFi ESP8266), Arduino'yu ESP8266 üzerinden WiFi ağlarına bağlamayı kolaylaştırır. Kullanırken, bir ESP8266'yı Arduino'ya bağlamak için birkaç bileşen ve kabloya sahip bir devre monte etmek artık gerekli değildir, sadece kartı Arduino'ya takın, DIP anahtar yolunu kalkan çalışma moduna göre konumlandırın ve Arduino'yu programlayın. WiFi ağlarına bağlanın. Ayrıca, ESP-12E'nin tüm pin çıkışlarına sahip olduğu için kart Arduino olmadan da kullanılabilir.

Kalkanda, WangTongze adlı bir kişi tarafından oluşturulduğu ve haklarına sahip olan elecshop.ml olduğu bilgisi var. Başlangıçta, kalkanın yaratıcısı, projesi için Indiegogo (toplu finansman sitesi) aracılığıyla fon toplamaya çalıştı, ancak para toplama konusunda başarısız oldu.

ESP8266 modeli ESP-12E'nin özellikleri:

- 32-bit RISC mimarisi- İşlemci 80MHz / 160MHz'de çalışabilir- 32MB flash bellek- Komutlar için 64kB- Veriler için 96kB- Standart native WiFi 802.11b/g/n- AP, Station veya AP + Station modunda çalışır- 11 dijital pin- 10 bit çözünürlüklü 1 analog pin vardır- D0 hariç dijital pinler interrupt, PWM, I2C ve tek kabloludur- USB veya WiFi (OTA) ile programlanabilir- Arduino IDE ile uyumlu- Kullanılan modüller ve sensörler ile uyumludur Arduino'da

Aşağıda bu kalkanın ana özelliklerini okuyabilirsiniz:

- Arduino Uno R3'ün boyutu ve pinleme, Arduino Uno, Mega 2560, Leonardo ve türevleri ile uyumludur.- Arduino'nun küçük versiyonları (örneğin Nano ve Pro Mini) uyumludur, ancak bağlantılar jumper üzerinden yapılmalıdır.- Kalkana güç sağlamak için Arduino voltajı (5V) kullanılır.- AMS1117 3.3V voltaj regülatörüne sahiptir, bu nedenle Arduino tarafından sağlanan 5V voltaj, harici güce ihtiyaç duymadan shielde güç sağlamak için düşürülür.- Dahili lojik seviye dönüştürücüye sahiptir., böylece Arduino TTL seviyesi (5V) TTL 3.3V seviyesi ile çalışan ESP8266'ya zarar vermez.- Kartın çalışma modlarını değiştirmeye yarayan 4 yönlü DIP switch'e sahiptir.- Mevcut çalışma modları: WiFi Shield için Arduino / Arduino üzerinden AT komutları gönderme / USB Seri harici / bağımsız çevirici ile firmware yükseltmesi.- Gösterge LED'leri (PWR / DFU / AP / STA) vardır. - Shield formatında olduğu için diğer shield ve modüllerin takılmasına izin verir..- ESP8266'yı sıfırlamak için ESP-RST düğmesine sahiptir.- Th e ESP8266 ADC pini kart üzerinde iki şekilde mevcuttur, ilki 0 ila 1V okuma aralığına sahip bir pin üzerinde ve ikinci form 0 ila 3.3V aralığındadır.

Resimde kalkanın ana kısımları vurgulanmıştır:

resim
resim

A (DİJİTAL PİMLER): Arduino tarafından kullanılan pim dizisi.

B (ESP8266 PINS): ESP8266-12E ve ilgili pinleri. Plakanın arkasında pimlerin isimlendirmesi vardır.

C (HARİCİ SERİ USB ADAPTÖR BAĞLANTISI): ESP8266'nın bellenim güncellemesi veya hata ayıklaması için harici Seri USB adaptörünü bağlamak için kullanılan pin sırası.

D (KALKAN BAKIM PİMLERİ): Yalnızca Bakım olarak tanımlanan ve voltaj regülatörünün voltajları doğru şekilde alıp beslediğini doğrulamak için kullanılan üç pinli bir dizi. TEDARİK KAYNAĞI OLARAK KULLANILMAMALIDIR.

E (ÇALIŞMA MODLARINI DEĞİŞTİRMEK İÇİN DIP ANAHTARI): Çalışma modlarını değiştirmek için dört yönlü DIP anahtarı.

İLETİŞİM 1 (P1) ve İLETİŞİM 2 (P2): ESP8266'nın RX (P1 ile temsil edilir) ve TX'i (P2 ile temsil edilir) Arduino D0 (RX) ve D1 (TX) pinlerine bağlamak için kullanılır. OFF konumunda P1 ve P2, ESP8266'dan Arduino TX'e ve TX'den ESP8266'dan Arduino RX'e RX bağlantısını devre dışı bırakır.

İLETİŞİM 3 (P3) ve İLETİŞİM 4 (P4): ESP8266 için üretici yazılımı yükseltme modunu etkinleştirmek ve devre dışı bırakmak için kullanılır. ESP8266'da ürün yazılımı yazmayı / yüklemeyi etkinleştirmek için P3 ve P4 ON konumunda olmalıdır. P4 ON konumundayken, DFU LED'i yanarak ESP8266'nın bellenimi alması için etkinleştirildiğini gösterir. Donanım yazılımı güncelleme modunu devre dışı bırakmak ve ESP8266'yı normal çalışmaya ayarlamak için P3 ve P4'ü KAPALI olarak ayarlamanız yeterlidir.

NOT: KAPALI konumdaki 4 kontağın tümü, ESP8266'nın Arduino'nun yanında normal modda çalıştığını gösterir

F (ESP8266'DAN AD8): ESP8266 ADC için pin ataması. 0 ila 1V aralığında çalışan bir pin ve 0 ila 3,3V aralığında çalışan başka bir pin. Bu pinler yalnızca ESP8266'yı tek başına kullanırken (bağımsız mod) kullanılacaktır.

G (ESP8266 RESET): ESP8266'yı sıfırlamak için kullanılan düğme. DIP anahtarlarının konumunu her değiştirdiğinizde, ESP-RST düğmesine basmalısınız.

H (ANALOG PIN VE GÜÇ KAYNAĞI): Arduino tarafından kullanılan pin dizisi.

Bu kalkanın, DIP Switch'in P1 ve P2 kontaklarında bir özelliği vardır ve bu özellik, aslında kalkanı kullanmaya çalışan kişilerde büyük bir şüphe oluşturur.

Kalkanın yaratıcısına göre, onu Arduino'ya bağlarken sadece 2 pin gerekli olacak. Bu pinler D0 ve D1 (sırasıyla Arduino'nun RX ve TX'i) olacaktır ve ayrıca bağlantı için DIP Switch'in shield üzerindeki P1 ve P2 kontakları ON konumunda olmalıdır.

Bu kalkan hakkında aldığım tek Çin belgelerinden birinde, tahtanın yaratıcısı şöyle diyor:

P1 ve P2 bit kodlayıcılardır ve ESP8266 serisinin Arduino D0 ve D1'e bağlı olup olmadığını belirlemek için kullanılır.

Belgenin başka bir bölümünde şunlardan bahsedilmektedir:

Bu genişletme kartı Arduino seriyi meşgul eder, RX'i ESP8266'dan TX'e Arduino'dan ve TX'i ESP8266'dan Arduino RX'e bağlar.

Arduino'nun D0 (RX) ve D1 (TX) pinleri yerel seri / USB iletişimine karşılık gelir, bu nedenle karta kod gönderdiğimizde veya seri monitörü kullandığımızda bu pinler meşgul kalır. Bu nedenle eğer blendajın P1 ve P2 kontakları ON konumunda ise ESP8266 Arduino D0 ve D1 kullanıyor olacak ve meşgul olacağından kod göndermek veya seri kullanmak mümkün olmayacaktır. Ayrıca kalkana AT komutları göndermek için ESP8266 RX'in Arduino RX'e bağlı olması ve ESP8266 TX'in Arduino TX'e bağlı olması gerekir. Bu, yalnızca aşağıdaki resimde gösterildiği gibi bağlantıları tersine çevirirsek gerçekleşir:

resim
resim

Bakın, kalkanın D0 ve D1 kontaklarını büktüm ve Arduino D0'ı kalkanın D1'ine ve Arduino'nun D1'ini kalkanın D0'ına bağladım. Bağlantıyı bu şekilde kullanırken (Arduino bağlantı köprüsü olarak kullanılıyor), ESP8266'ya AT komutları gönderebildim ve zaten hayal ettiğimi doğruladım.

Kalkanın standart çalışma şekli, kalkana bir kodun (örneğin web sunucusu veya bellenim) yüklenmesini ve yerel seriden gelen verileri göndermek, almak ve yorumlamak için Arduino'ya başka bir kodun yüklenmesini gerektirir. Bu iletişim biçimiyle ilgili daha fazla ayrıntı sonraki adımlarda görülecektir.

Her neyse, kalkanın bu özelliği çalışmasına müdahale etmez, çünkü yerel seriye sahip olabilmemiz için genellikle diğer Arduino dijital pinlerinde bir seriyi taklit ederiz. Ayrıca kalkana AT komutları göndermek gerekirse, Arduino'ya dört kablo ile bağlayabilir veya bir seri USB dönüştürücü kullanabiliriz.

Son olarak, kalkan çok kararlıydı ve devrelerin montajını çok kolaylaştırdı. Arduino Uno R3 ve Mega 2560 R3 ile test ettim.

Bir sonraki adımda, kalkan bellenimini nasıl yükselteceğinizi / değiştireceğinizi öğreneceksiniz.

Adım 2: Arduino için ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü üzerinde Firmware Yükseltmesi

Kalkanı bilgisayara bağlamak için bir seri USB dönüştürücü kullanmak gerekir. Konvansiyonel bir seri USB dönüştürücünüz yoksa, Arduino Uno R3 dönüştürücüyü ara olarak kullanabilirsiniz. Piyasada birkaç seri USB dönüştürücü modeli vardır, ancak bu eğitim için PL2303HX TTL Seri USB Dönüştürücü Adaptörünü kullandım.

Kalkanı yükseltmek için şunları kullanın:

ESP8266 Flaş İndirme Araçları

Kullanılacak ürün yazılımı:

Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware

Programı ve bellenimi indirdikten sonra, her ikisini de Windows'unuzun kök dizinine (C sürücüsü) kopyalayın.

flash_download_tools_v2.4_150924.rar dosyasını açın ve FLASH_DOWNLOAD_TOOLS_v2.4_150924 klasörü oluşturulacaktır.

Arduino Uno R3 seri USB dönüştürücünün ara ürün olarak kullanılması:

Bir sonraki adım, kalkanı bilgisayara bağlamaktır. Eğer standart bir seri usb dönüştürücünüz yoksa, kalkan ve bilgisayar arasında köprü kurmak için Arduino Uno R3'ü kullanabilirsiniz. USB Kablolu Arduino Uno R3'e ek olarak ihtiyacınız olacak:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Erkek-Dişi Jumper Kabloları

NOT: Arduino bağlantı şemasını monte etmeden önce, seri USB dönüştürücünün kullanılmadığından emin olmak için karta boş bir kod yüklemelisiniz. Aşağıdaki kodu Arduino'nuza yükleyin ve devam edin:

void setup() { // bir kez çalıştırmak için kurulum kodunuzu buraya koyun: } void loop() { // tekrar tekrar çalıştırmak için ana kodunuzu buraya koyun: }

resim
resim

NOT: 3.3V koruma pimini Arduino'ya takarken dikkatli olun.

Seri TTL USB Dönüştürücü Adaptörü PL2303HX'i kullanma:

PL2303HX TTL Seri USB Dönüştürücü Adaptöre ek olarak aşağıdaki öğelere ihtiyacınız olacak:

01 - ESP8266 ESP-12E UART Wireless WIFI Shield TTL Converter04 - Erkek-Dişi Jumper Kabloları

resim
resim

NOT: PL2303, 5V ve 3V3 güce sahiptir. 3V3 gücü kullanın ve 5V pinini görmezden gelin

Yukarıdaki bağlantı şemalarından birini yaptıktan sonra USB kablosunu (Arduino ve bilgisayara) veya seri USB dönüştürücüyü bilgisayara bağlamanız yeterlidir.

Ardından Windows'ta 'Denetim Masası'na, 'Aygıt Yöneticisi'ne gidin ve açılan pencerede 'Bağlantı Noktaları (COM ve LPT)'ye gidin. Bağlı cihazı ve tahsis edildiği COM port numarasını görebilirsiniz. Örnek olarak, bilgisayara hem Arduino'yu hem de seri USB dönüştürücüyü bağladım ve aşağıdaki resimde cihazların yöneticide nasıl göründüğünü görebilirsiniz:

resim
resim

PL2303HX kullanıyorsanız ve Windows tarafından tanınmıyorsa, Seri TTL USB Dönüştürücü PL2303HX - Windows 10'da Kurulum makalesine erişin, nasıl çözüleceğini görün ve ardından devam etmek için geri dönün.

Şimdi FLASH_DOWNLOAD_TOOLS_v2.4_150924 klasörüne gidin ve ESP_DOWNLOAD_TOOL_V2.4.exe dosyasını çalıştırın:

resim
resim

Shield üzerinde, DIP Switch'in P3 ve P4 kontaklarını ON (AÇIK) konumuna getirin ve ardından blendajın firmware yükseltme moduna girmesi için kart üzerindeki ESP-RST düğmesine basın:

resim
resim

Program açıkken, 'SpiAutoSet' seçeneğinin işaretini kaldırın, COM portunu seçin, 'BAUDRATE' 115200'ü seçin, 'Download Path Config' içinde işaretlenmiş herhangi bir onay kutusunun işaretini kaldırın, diğer seçenekleri aşağıda gösterildiği gibi yapılandırın ve 'BAŞLAT'a tıklayın:

resim
resim

ESP8266 WiFi Shield ile iletişim uygunsa, 'ALGILANAN BİLGİLER', 'MAC Adresi' ve 'SYNC'de bilgileri göreceksiniz:

resim
resim

NOT: Program 'FAIL' döndürürse, doğru COM bağlantı noktasını seçip seçmediğinizi kontrol edin, DIP anahtarının P3 ve P4 tuşlarının AÇIK olup olmadığını kontrol edin, ESP-RST düğmesine tıklayın, DURDUR'a ve yeniden BAŞLAT'a tıklayın.

'Download Path Config' içinde indirilen 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' dosyasını seçmelisiniz. İlk alanın '…' işaretini tıklayın ve açılan pencerede bellenimi yerleştirdiğiniz klasöre gidin ve 'Ai-Thinker_ESP8266_DOUT_32Mbit_v1.5.4.1-a AT Firmware.bin' dosyasını seçin. 'ADDR' alanına 0x00000 ofsetini girin ve bitirmek için onay kutusunu işaretleyin. Bittiğinde, aşağıda gösterildiği gibi ayarlara sahip olacaksınız:

resim
resim

Şimdi işlemi başlatmak için BAŞLAT'a tıklayın:

NOT: Shield ve bilgisayar arasında bir ara ürün olarak Arduino seri USB dönüştürücü kullanıyorsanız, BAŞLAT'a tıklamadan önce shield'ın ESP-RST düğmesine tıklayın. Geleneksel bir seri USB dönüştürücü kullanıyorsanız bu prosedür gerekli değildir

resim
resim

Ürün yazılımı yükseltme işleminin tamamlanmasını bekleyin (işlemin tamamlanması yaklaşık yedi dakika sürecektir):

resim
resim

Firmware yükseltme işlemini tamamladıktan sonra, ESP_DOWNLOAD_TOOL_V2.4 pencerelerini kapatın, DIP Switch'in P3 ve P4 kontaklarını OFF konumuna getirin ve firmware yükseltme modundan çıkabilmesi için ekrandaki ESP-RST düğmesine basın.

Şimdi Arduino IDE'yi açın, böylece bellenimin doğru şekilde güncellendiğini ve kartın komutlara yanıt verdiğini doğrulamak için karta AT komutları gönderebilirsiniz.

IDE açıkken 'Araçlar' menüsüne gidin ve ardından 'Port' seçeneğinde COM bağlantı noktasını seçin. Aşağıdaki resimde COM7 portunu seçtiğime dikkat edin (portunuz muhtemelen farklı olacaktır):

resim
resim

AT komutlarını göndermekle alakasız olduğundan, IDE'deki kartı seçmenize GEREK YOKTUR.

'Seri Monitör'ü açın ve alt bilgide hızın 115200 olarak ayarlanıp ayarlanmadığını ve 'Both, NL ve CR' seçili olup olmadığını kontrol edin:

resim
resim

Şimdi 'AT' komutunu (tırnak işaretleri olmadan) yazın ve 'ENTER' verin veya 'Gönder'i tıklayın. Bağlantı çalışıyorsa, 'Tamam' mesajını döndürmeniz gerekecektir:

resim
resim

NOT: Komutu gönderirken herhangi bir geri bildirim ALMIYOR veya rastgele bir karakter dizisi alıyorsa, seri monitörün 115200 hızını 9600'e değiştirin ve komutu yeniden gönderin

'Seri Monitör'de 'AT + GMR' (tırnak işaretleri olmadan) komutunu yazın ve 'ENTER' verin veya 'Gönder' düğmesine tıklayın. Aşağıda gösterildiği gibi geri bildirim alırsanız, ESP8266 WiFi Kalkanınız başarıyla güncellenmiştir:

resim
resim

9600 shield ile haberleşme baud hızını değiştirmek istiyorsanız 'AT + UART_DEF = 9600, 8, 1, 0, 0' (tırnak işaretleri olmadan) komutunu girin ve 'ENTER' verin veya 'Gönder'e tıklayın. Aşağıda gösterildiği gibi bilgi alırsanız, iletişim hızı değişmiştir:

resim
resim

NOT: Kalkan baud hızını değiştirirken, Monitör Seri altbilgisinde hızı da 115200'den 9600'e değiştirmelisiniz. Ardından 'AT' komutunu tekrar (tırnak işaretleri olmadan) gönderin ve 'ENTER' tuşuna basın veya 'Gönder'i tıklayın. Geri dönüş olarak 'Tamam' alırsanız, iletişim çalışıyor demektir

Arduino'ya WiFi atamak için kalkan kullanmak istiyorsanız, ideal iletişim hızı 9600 baud'dur.

Bir sonraki adımda hangi kalkana sahip olduğunuzu öğreneceksiniz, çünkü piyasada aynı gibi görünen en az üç kalkan bulmak mümkündür, ancak aslında bu panoların, soruda bile onları ayıran bazı noktaları vardır. yerel seri aracılığıyla iletişim yoluyla Arduino ile çalışmak.

Adım 3: Kalkan, Kalkan, Daha Fazla ve Moer? Önemli mi?

ESP8266 ESP-12E UART Kablosuz WIFI Kalkanı TTL Dönüştürücü ise, görünüşte aynı olan en az üç kart bulmak mümkündür, ancak aslında bu kartların, çalışma söz konusu olduğunda bile, onları ayıran bazı noktaları vardır. Arduino, yerel seri iletişim yoluyla.

Aşağıda, panoları neyin farklılaştırdığını görebilir ve hangisinin size ait olduğunu öğrenebilirsiniz.

Shiald WiFi ESP8266:

resim
resim

Bu tahtada Shield kelimesinin "Shiald" yazıldığını ve "more" kelimesinin küçük harflerle "m" olduğunu unutmayın. Uzun süredir yaptığım testlerde anakartın işleyişinde herhangi bir kusur YOKTUR.

Kalkan WiFi ESP8266:

resim
resim

Bu tahtada Shield kelimesinin doğru yazıldığını ve "More" kelimesinin büyük harfle "M" olduğunu unutmayın. Çalışma konusunda bu kart Shiald versiyonu ile aynı şekilde davranır yani kart arızalı değildir.

Yani Shiald ve Shield panolarının sadece PCB silk konusunda farklılıkları olduğunu mu söylüyorsunuz?

Evet, bu iki kartın sadece iki kelimenin yazılması konusunda farkı var. Her iki karttaki devre aynıdır ve her ikisi de Arduino ile veya tek başına (bağımsız mod) mükemmel çalışır. Arduino'ya doğru kodun yüklendiğini ve shieldlerden birinin de doğru firmware'de olduğunu göz önünde bulundurarak, shield'ı Arduino'ya taktıktan ve USB kablosunu bağladıktan sonra, DIP switch'in P1 ve P2 kontaklarını ON konumuna getirmeniz yeterlidir. ve kartlar arasında yerel seri (pin D0 ve D1 pinleri) üzerinden iletişim sağlanacaktır.

Bazıları bu Shiald versiyonunun kararsız kablosuz bağlantıya sahip olduğunu söylüyor, ancak ben kesinlikle istikrarsızlık olmadığını iddia ediyorum.

Kalkan WiFi ESP8266 (Moer):

resim
resim

Bu panoda Shield kelimesinin doğru yazıldığını ve "More" kelimesinin "Moer" yani yanlış yazıldığını unutmayın. Ne yazık ki bu kart olması gerektiği gibi çalışmıyor ve Arduino'ya bağlıysa (DIP anahtarı kontakları KAPALI veya AÇIK iken) ve kullanıcı Arduino'ya bir kod yüklemeye çalışırsa, IDE'de bir hata mesajı görünecektir. yükleme başarısız olacaktır.

Kalkanınız Moer'de yazılmışsa ve yerel seri iletişim yoluyla Arduino'nuzla kullanmakta sorun yaşadıysanız, bir sonraki adıma geçin ve sorunu nasıl çözeceğinizi öğrenin. Kalkanınız Moer DEĞİLSE, Adım 5'e geçin.

Adım 4: Shield Moer - RX / TX Seri İletişimini Çözme

Bu kart (Moer) Arduino'ya bağlanırsa (DIP anahtarı kontakları KAPALI veya AÇIK iken) ve kullanıcı Arduino'ya bir kod yüklemeye çalışırsa, yük başarısız olacağından IDE'de bir hata mesajı görünecektir. Bu, kalkan yapımında kullanılan bir bileşen hatasından kaynaklanmaktadır.

Doğru yapım ve çalıştırmaya sahip olan kalkan, iki adet Kanal N MOSFET'i kaynatmıştır ve J1Y olarak tanımlanmıştır. J1Y transistörlerinden biri ESP8266 RX'e, diğeri ise ESP8266 TX'e bağlıdır. Aşağıdaki resimde vurgulanan iki transistörü görebilirsiniz:

resim
resim

Bu J1Y transistörü, amacı 5V mantık seviye devrelerinin 3.3V mantık seviye devreleri ile iletişim kurmasını ve bunun tersini sağlamak olan bir BSS138'dir. ESP8266'nın mantık seviyesi 3.3V ve Arduino'nun mantıksal seviyesi 5V olduğundan, ESP8266'nın mükemmel çalışmasını sağlamak için bir mantık seviye dönüştürücü kullanmak gerekir.

Moer kalkanında, kart üzerinde J3Y olarak tanımlanan iki transistör lehimlenmiştir. Aşağıdaki resimde vurgulanan iki transistörü görebilirsiniz:

resim
resim

J3Y transistörü bir S8050 NPN'dir ve bu tip transistör, amplifikatör devrelerinde yaygın olarak kullanılır. Bir nedenden dolayı Moer kalkanının yapımı sırasında, J1Y mantık seviyesinin dönüştürücüsü yerine J3Y transistörünü kullandılar.

Bu şekilde ESP8266'nın RX ve TX pinleri olması gerektiği gibi çalışmayacak ve bu nedenle kalkanın Arduino ile herhangi bir seri iletişimi olmayacaktır. Kalkan Arduino ile yerel seri (D0 ve D1 pinleri) üzerinden iletişim kurduğundan, Arduino kod yüklemesine (Arduino'da) birleştiğinde asla başarılı bir şekilde tamamlanmayacaktır, çünkü bazı durumlarda her zaman yaklaşık 2.8V olacaktır. Yanlış transistörler yüzünden RX ve Arduino TX veya sabit 0V.

Tüm bu bilgilerden sonra, Moer kalkanı için tek çözümün J3Y transistörlerinin J1Y transistörleri ile değiştirilmesi olduğu açıktır. Bu prosedür için Moer'in sabır kalkanına ek olarak ihtiyacınız olacak ve:

01 - Havya01 - Tin01 - Pense veya İğneli Pense01 - Kaynak Emici02 - BSS138 (J1Y)

3.3V / 5V Mantık Seviyesi Dönüştürücüde BSS138 (J1Y) transistörü kullanılır.

NOT: Aşağıdaki prosedür, bir havyayı nasıl kullanacağınızı bilmenizi ve en az kaynak deneyimine sahip olmanızı gerektirir. Çıkarılacak ve değiştirilecek bileşenler SMD bileşenleridir ve ortak bir havya ile kaynak yaparken daha fazla özen ve sabır gerektirir. Havyayı transistör terminallerinde çok uzun süre bırakmamaya dikkat edin, çünkü bu onlara zarar verebilir

Sıcak havya ile transistör terminallerinden birini ısıtın ve biraz kalay koyun. Bu prosedürü iki transistörün her bir terminali için gerçekleştirin. Terminallerde fazla kaynak yapılması, transistörlerin çıkarılmasını kolaylaştıracaktır:

resim
resim

Şimdi cımbızı/penseyi alın, transistörü yanlarından tutun, transistörün tek terminali olan tarafını ısıtın ve terminal lehimden gevşeyecek şekilde transistörü yukarı doğru zorlayın. Hala transistörü tutan cımbız / pense ile, havya ucunu diğer iki terminale dayamayı deneyin ve transistörü karttan serbest bırakmayı bitirmek için zorlayın. Bunu her iki transistör için yapın ve çok dikkatli olun:

resim
resim

İki J3Y IC'yi kalkandan çıkarın, J1Y IC'yi yerine yerleştirin, cımbız / pense ile tutun ve kalay kontağa birleşecek şekilde kalkanın her iki ucunu ısıtın. Kontaklar düşük lehimliyse, her birini ısıtın ve daha fazla kalay yerleştirin. Bunu her iki transistör için yapın ve çok dikkatli olun:

resim
resim

Onarımdan sonra, daha önce Arduino ile doğrudan iletişimi olmayan kalkanı, yerel seri (D0 ve D1 pinleri) üzerinden karta bağlanmaya başladı.

Onarımın başarılı olduğunu doğrulamak için yapılan ilk test, kalkanı (tüm DIP anahtar kontakları KAPALI olarak) Arduino'ya takmak, USB kablosunu karta ve bilgisayara bağlamak ve Arduino'ya bir kod yüklemeye çalışmaktır. Her şey yolundaysa, kod başarıyla yüklenecektir.

Adım 5: ESP8266 ile Web Sunucusu ESP-12E UART Arduino için Kablosuz WIFI Kalkanı TTL Dönüştürücü

Bu adıma devam etmek için birincil gereksinim olarak 2. adımı gerçekleştirmiş olmanız gerekir.

Daha önce de belirttiğim gibi, kalkanı Arduino ile yerel seri (D0 ve D1 pinleri) üzerinden kullanmak için, shielde bir kod yüklenmesi ve Arduino'nun da göndermek, almak ve yorumlamak için başka bir kod yüklemesi gerekir. yerel seri aracılığıyla trafiğe eklenen veriler. Kalkanda, AT komutlarının bir firmware'ini koyabilir ve bir WiFi ağına bağlanmak ve Arduino'nun giriş ve çıkışlarını kontrol etmek için Arduino'yu kalkana komutlar gönderecek şekilde programlayabiliriz.

Bu adımda, ESP8266'yı (bizim durumumuzda Shield WiFi ESP8266) Arduino'ya entegre etmek ve karta WiFi atamak için gerekli tüm işlevlere sahip olduğundan, WiFiESP kitaplığını kullanacağız. WiFiESP kitaplığı AT komutları göndererek çalışır, ardından yönlendiricinin kablosuz ağ bağlantısı ve web sunucusuna yapılan herhangi bir istek, kalkana AT komutlarının gönderilmesine neden olur.

WiFiESP kitaplığının çalışması için AT komutu donanım yazılımı sürümü en az 0.25 veya daha yüksek olmalıdır. Bu nedenle, kalkanınızın AT komut sürümünü bilmiyorsanız, kartı 1.2.0.0 AT komut sürümüne sahip bellenim ile güncellemek için 2. adıma gidin ve ardından devam etmek için geri dönün.

Shield ve Arduino ile yaptığım testler sırasında tespit ettiğim bir şey, aralarındaki iletişimin yerel seri (pin D0 ve D1) üzerinden gerçekleştiği için, serinin aralarındaki iletişim için özel kullanım için gerekli hale geldiğidir. Bu nedenle, Arduino IDE seri monitöründe veya seri bilgileri görüntüleyen başka herhangi bir programda bilgi yazdırmak için "Serial.print() / Serial.println()" kullanılmasını önermiyorum.

Varsayılan olarak, WiFiESP kitaplığı, Arduino ve ESP8266 arasındaki seri hataları, uyarıları ve diğer iletişim bilgilerini gösterecek şekilde yapılandırılmıştır. Daha önce de bahsettiğim gibi Arduino ile shield arasındaki haberleşme için seri yayınlanmalıdır. Bu nedenle, kütüphaneden bir dosyayı düzenledim ve serideki tüm bilgilerin görüntülenmesini devre dışı bıraktım. Seri monitörde görüntülenecek tek bilgi, kütüphanenin kablosuz ağa bağlanmak için kalkana gönderdiği AT komutları veya web sunucusuna yapılan istekleri yürütmek için AT komutlarıdır.

Değiştirilmiş WiFIESP kitaplığını indirin ve Arduino IDE'ye kurun:

WiFIESP Modu

Kitaplık kurulum klasöründe, sadece "WiFiEsp-master\src\utility" yoluna erişin ve bunun içinde serideki bilgilerin görüntülenmesini devre dışı bırakmak için düzenlenmiş "debug.h" dosyası var. Dosyayı Notepad ++ ile açarsak, örneğin, seri monitörde görüntülenecek bilgi türleri için karşılık gelen numaralandırmayı gösteren 25, 26, 27, 28 ve 29 satırlarımız var. 0 sayısının seri monitördeki tüm bilgilerin görüntülenmesini devre dışı bıraktığına dikkat edin. Son olarak, 32. satırda "_ESPLOGLEVEL_" değerini 0 değeriyle yapılandırdım:

resim
resim

WiFiESP kitaplığını ESP8266 ile başka projelerde kullanmak istiyorsanız ve seri monitörde görüntülenen bilgilere ihtiyacınız varsa, "_ESPLOGLEVEL_" değerini 3'e (kütüphanenin varsayılan değeri) ayarlayın ve dosyayı kaydedin.

Kalkanınız zaten AT komutu donanım yazılımı sürümü 0.25 veya daha yüksek olduğundan, devam edelim.

Kalkanı Arduino'nuza takın (Uno, Mega, Leonardo veya kalkanın takılmasına izin veren başka bir versiyon), tüm DIP anahtar kontaklarını KAPALI konuma getirin, pin 13 ile GND arasına bir LED bağlayın ve USB kablosunu Arduino'ya bağlayın. Arduino ve bilgisayar:

resim
resim

Arduino Mega 2560'ı kullandım, ancak kalkanın bağlanmasına izin veren başka bir Arduino kartı kullanıyorsanız, sonuç aynı olacaktır.

Kodu bağlantıdan indirin ve Arduino IDE'de açın:

Kod Web Sunucusu

Arduino Leonardo kullanıyorsanız, kodun 19. ve 20. satırlarına gidin ve aşağıdaki resimde gösterildiği gibi Serial kelimesini Serial1 olarak değiştirin:

resim
resim

Kodda char * ssid = "WIFI AĞINIZIN ADI" satırına WiFi ağınızın adını girmelisiniz;, satıra parola girilmelidir char * password = "WIFI AĞINIZIN ŞİFRE"; ve WiFi.config satırında (IPAdresi … bu kod statik IP kullandığı için kablosuz ağınızda uygun bir IP adresi girmelisiniz:

resim
resim

"Araçlar" menüsünde "Board" öğesini seçin ve Arduino'nuzun modelini seçin. Hala "Araçlar" menüsünde, "Port" seçeneğini seçin ve Arduino'nuzun tahsis edildiği COM portunu kontrol edin.

Kodu Arduino'ya göndermek için butona tıklayın ve yüklenmesini bekleyin.

Kodu Arduino'ya yükledikten sonra USB kablosunu karttan çıkarın, shield'ın DIP Switch'inin P1 ve P2 kontaklarını ON konumuna alın ve USB kablosunu tekrar Arduino'ya bağlayın.

NOT: Shield'in P1 ve P2 kontakları ON konumunda olduğu sürece, yerel seri meşgul olacağından Arduino'ya kod gönderemezsiniz. Anahtar DIP anahtarlarının konumunu her değiştirdiğinizde, ESP-RST düğmesine basmayı unutmayın

Arduino IDE seri monitörünü hemen açın:

resim
resim

Seri monitör açıkken, web sunucusunu çalıştırmak için kalkana gönderilen AT komutlarını takip edebilirsiniz. Seri monitör açılırken herhangi bir bilgi görüntülenmiyorsa Arduino'nuzdaki RESET düğmesine basın ve bekleyin.

Seri monitörde "AT + CIPSTA_CUR" komutunun web sunucusuna bağlanılacak IP adresini gösterdiğini ve "AT + CWJAP_CUR" komutunun kalkanın bağlı olduğu kablosuz ağın adını ve şifresini gösterdiğini unutmayın:

resim
resim

Seri monitörde gösterilen IP adresini kopyalayın, internet tarayıcınızı açın, IP adresini yapıştırın ve erişmek için ENTER'a basın. Aşağıdakine benzer bir web sayfası yüklenecektir:

resim
resim

Web sayfasında Arduino'nun pin 13'üne bağlı led'i açıp kapatmaktan sorumlu olacak bir buton bulunmaktadır. LED'i açmak / kapatmak için düğmeye basın ve mevcut durumun sayfada güncellendiğini görün.

Web sayfasına örneğin bir akıllı telefon veya tablet aracılığıyla da erişebilirsiniz.

Nihai sonuç için aşağıdaki videoya bakın:

Bu basit bir uygulamaydı çünkü amaç kalkanı Arduino ile kullanmanın ne kadar kolay olduğunu göstermekti. Arduino'ya WiFi atamak için ESP8266'yı kullanan internette bulduğunuz tüm projeler bu WiFi Shield ile yeniden üretilebilir, aradaki fark, platformları iletişim kurmak için protokole voltaj bölücüler monte etmeniz gerekmeyecek ve basit olarak Devreye harici güç kaynağı ile güç verme konusunda endişelenmenize gerek kalmayacak projeler. Ayrıca projeniz çok daha hoş bir estetiğe sahip olacaktır.

Artık Shield WiFi ESP8266'yı bir web sunucusundan Arduino ile nasıl entegre edeceğinizi bildiğinize göre, kodu değiştirin ve daha ayrıntılı bir proje uygulayın veya kendi kodunuzu geliştirmeye başlayın.

Bir kez daha, İngilizce'deki başarısızlıklar için özür dilerim.

Kalkanla ilgili sorularınız varsa, sorun, yanıtlamaktan memnuniyet duyarım.

Önerilen: