Arduino'daki WLAN - ESP8266-01'i Arduino'ya bağlayın ve NodeMCU Amica'yı akıllı telefonunuzla uzaktan kontrol edin
Arduino en iyi bilinen geliştirici kartlarından biridir. Ne yazık ki, standart modellerde yüklü bir Wi-Fi yongası yoktur. Bu pratik ipucu, bir ESP8266-01 WLAN modülünün Arduino'ya nasıl bağlanacağını ve NodeMCU Amica'yı akıllı telefonunuzla nasıl uzaktan kontrol edebileceğinizi gösterir.
Akıllı telefonunuzla NodeMCU Amica'yı kontrol edin
NodeMCU Amica'nın çeşitli pinleri, yerleşik ESP8266 Wi-Fi yongası ve bir microUSB soketi vardır. Bu nedenle, cihazı daha bağımsız bir cihaz olarak kullanmak mantıklıdır. Arduino'ya bir "klasik" ESP8266 kartının nasıl bağlanacağı makalenin ilerleyen kısımlarında açıklanmaktadır.
- ESP yongalarını programlayabilmek için, önce Silicon Labs'tan tüm CP210er yongalarının sürücülerini indirip yüklemeniz gerekir. Neyse ki, bu nispeten hızlı bir şekilde gerçekleşir.
- Ardından Arduino IDE'yi açın ve Ayarlar'a gidin. Ek pano yönetici URL'lerine "//arduino.esp8266.com/stable/package_esp8266com_index.json" URL'sini (tırnak işaretleri olmadan) ekleyin. Ardından pano yöneticisini başlatın, "ESP8266" girin ve paketi kurun.
- Ayrıca kütüphane yöneticisine gidin, "Blynk" girin ve en son sürümü yükleyin. Gerekli tüm bileşenler şimdi kurulmuştur.
- Akıllı telefonunuzla NodeMCU'yu kontrol etmek için Blynk uygulamasına ihtiyacınız var. Henüz yapmadıysanız, burada yeni bir hesap oluşturun veya mevcut bir hesapla giriş yapın. Ardından yeni bir proje oluşturun ve pano olarak NodeMCU'yu seçin.
- Arduino IDE'deki örnek kodlarla, NodeMCU'da Blynk (→ "Boards_WiFi") için bir kod da bulmalısınız. Projenizin otomatik olarak e-posta ile gönderildiği Blynk jetonunu buraya girin. Ayrıca SSID'nizi ve şifrenizi de girin.
- Kodu panoya yüklemek için, elbette "Araçlar" sekmesinden seçmeniz gerekir. Bizim durumumuzda "NodeMCU 1.0 (ESP12E Modülü)", 80 MHz frekansı, "4M (3M SPIFFS)" bellek boyutu ve 115200 baud hızı seçilmelidir. Ancak, bilgilerin modele bağlı olarak değişebileceğini lütfen unutmayın.
- Daha sonra kodu panoya yükleyebilir ve Blynk uygulamasıyla kontrol edebilirsiniz. Burada kolayca farklı widget'lar oluşturabilir ve örneğin bir düğmeyi kullanarak bir LED'i kontrol edebilirsiniz.
Arduino'da WiFi bağlantısı - ESP8266-01'i Arduino'ya bağlayın
Sonra ESP8266-01 modülünü Arduino ile bağlamak ve kullanmak istiyoruz.
- Kartı altın antenle aşağıya bakacak şekilde çevirirseniz, VCC pimini sol üstte bulabilirsiniz, elbette YÜKSEK olarak ayarlanmalıdır. Sağda, genellikle kullanmanız gerekmeyen RST pimi vardır. Yanındaki CH_PD pimi de tekrar YÜKSEK olarak ayarlanmalıdır. Sağ üstte sinyaller veren TXD pinimiz var ve sol altta elbette sinyalleri alan bir RXD pin var. Ayrıca GPIO0 ve GPIO2'nin yanı sıra sağ altta bulunan klasik topraklama pimi de var.
- Arduino'daki modülü kullanabilmek için SoftwareSerial'ı kullanmak mantıklıdır, çünkü HardwareSerial çoğunlukla Arduino ve PC arasındaki iletişim için kullanılır. Ancak bizim durumumuzda, modül baud hızı olarak 115200 kullanır, bu da ESP ve Arduino arasında SoftwareSerial üzerinden iletişimin mümkün olmadığı anlamına gelir.
- Baud hızını değiştirmek için, birçok kullanıcı farklı bir baud hızı sağlayan yeni bellenimi yanıp söner. Bununla birlikte, baud hızı bir komut kullanılarak da değiştirilebildiğinden, bu kesinlikle gerekli değildir. Bu komut "AT + UART_DEF" dir. "AT + IPR" veya "AT + CIOBAUD" gibi diğer komutlar da Internet'te bulunabilir, ancak özellikle "AT + IPR" modülü de bozabileceği için bu önerilmez.
- Komutu modüle göndermek için, genellikle ücretsiz olarak sağlanan veya İnternet'te yaklaşık bir euro karşılığında bulunabilen bir USB adaptör ile PC'ye bağlanması önerilir. Bir USB adaptörünüz yoksa, çevrimiçi olarak şiddetle tavsiye edilen bir sipariş verebilir veya oldukça karmaşık ve genellikle düzgün çalışmayan evrensel bir FTDI adaptörü kullanabilirsiniz. Alternatif olarak, daha sonra açıklanacak başka bir varyant vardır.
- Adaptörü adaptörle PC'ye bağladıysanız, "AT + UART_DEF = 9600, 8, 1, 0, 0" komutunu 115200 ve CR + LF baud hızıyla gönderebilirsiniz. Daha sonra modülü yeniden bağlayabilir ve 9600 baud hızında komutlar gönderebilirsiniz.
- Ardından Arduino'yu programlamanız gerekiyor. Kod nispeten basittir. Öncelikle »String s =" ";« komutuyla boş bir dize tanımlarız, SoftwareSerial'ı içe aktarır (»#include«) ve yeni bir SoftwareSerial nesnesi oluştururuz (»SoftwareSerial Serial_ESP (2, 3);«). Kurulum yönteminde ESP (»Serial_ESP.begin (9600);«) bağlantısı ve PC bağlantısı (»Serial.begin (9600);«) başlatılır. ESP bir sinyal gönderirse, bu dizeye eklenir ve ardından dize seri monitörde (»ise (Serial_ESP.available ()> 0) {s + = (char) Serial_ESP.read ();} if (s ! = "") {Serial.println (s); s = "";} «). Bunun aksine, seri monitör, yani PC tarafından gönderilen sinyaller de ESP'ye aktarılır ("while (Serial.available ()> 0) {Serial_ESP.write (Serial.read ());}"). Ancak, ESP sayıları geri gönderdiğinden, her şeyin bir karaktere dönüştürülmesi çok önemlidir. Kodu ayrıca makalenin sonundaki resim galerisinde de bulabilirsiniz.
- Kodu Arduino'ya yükledikten sonra, ESP'yi bağlamanız gerekir. Dikkat! ESP, 5V yerine 3, 3 volt kullanır. 5V bunu tamamen kırdı. Ancak, Arduino 5V mantık ile çalıştığı için voltajın buna göre ayarlanması gerekir.
- Teoride, dirençlerle bir voltaj bölücü kullanabilirsiniz, ancak pratikte her şey oldukça kesin değildir ve kolayca bozulabilir. Bu nedenle, bir mantık seviyesi dönüştürücüsünü Arduino ve ESP arasında değiştirmeniz gerekir.
- Arduino'nun 5V pinini HV'ye, yani konvertördeki yüksek voltajlı pime ve dönüştürücünün LV pinini ESP'nin VCC pinine bağlayın. Ayrıca LV pimini, çipin de açılabilmesi için ESP'nin CH_PD pimine paralel olarak bağlayın. Ayrıca, yeterli akım elde etmek için, Arduino'nun 3.3V pinini dönüştürücünün LV pinine, dolayısıyla ESP'nin VCC ve CH_PD'sine bağlamalısınız. Şimdi SoftwareSerial'ın TX pinini - Arduino'daki kasa pinimiz 3 - HV 1, 2, 3 veya 4'e ve ters LV pinini ESP üzerindeki RXD pinine bağlayın. Bu adımı Arduino'nun RX pimi için de tekrarlayın.
- Son olarak, toprağa bağlanmak zorundasınız. Bunu yapmak için, Arduino'nun toprağını dönüştürücünün HV tarafındaki toprağa bağlayın. Ardından LV tarafındaki topraklamayı ESP topraklamasına bağlayın. Son olarak YG topraklamasını ve AG topraklamasını bağlamanız gerekir.
- Artık Arduino üzerinden bilgisayarınız ile AT komutlarını ESP'ye kolayca gönderebilirsiniz. Arduino'yu WiFi'nize kolayca bağlayabilir, bir web sunucusu oluşturabilir ve çok daha fazlasını yapabilirsiniz. ESP'ye gönderilecek olan Arduino koduna (kurulum yönteminde) ilgili AT komutlarını eklemeniz yeterlidir. Bu komutları "AT Komut Seti" nde de bulabilirsiniz.
- Hazır bir USB adaptörünüz yoksa, aynı devreyi kullanarak Baduino'nun TX ve RX pinlerini, yani 0 ve 1'i kullanarak baud hızını değiştirme komutunu da gönderebilirsiniz. Ancak, koddaki baud hızını buna göre ayarlamayı unutmayın.
Bir sonraki pratik ipucunda, Java programlama diline bir giriş yapacağız.