Arduino ile Nodemcu Kullanımı

Merhabalar;

Robotistan youtube kanalında 3 yıl önce paylaşılan https://www.youtube.com/watch?v=6B6WFahLkMo videodaki işlemleri ESP8266 yerine Nodemcu V3 (CH340çip) kullandığımda hata alıyorum. Arduino’ya bağlı olan DHT11 sensöründen gelen veriyi Nodemcu’ya ve oradan da Thingspeak sitesine nasıl aktarabilirim? Youtube üzerinde yabancıların yaptıklarını da denedim fakat serial monitörde “ESP8266 not founded” hatası alıyorum. Kartımda herhangi bir sorun yok hazır örnek kodu çalıştırıyor. Bilen arkadaşlar yardımcı olabilir mi?

Merhabalar,
Kullandığınız IDE de esp yerine nodemcu v1.0 olan modeli seçermisiniz?

Merhaba. İlk başta tüm kütüphanelerin güncel, ch340 driverin kurulu olduğuna emin olunuz. Kartlar kısmında NodeMcu 1.0’ı seçiniz. Gerekli kütüphanelerin kod da tanımlı olduğuna emin olunuz. Arduino IDE bazen kafayı yiyebiliyor silip güncel sürümü kurmayı deneyiniz. Ayrıca daha önceden aynı adda ancak farklı kişilerin yazdığı kütüphaneler birbiriyle kavga edebiliyor onun için sonradan eklediğiniz kütüphaneleri kaldırabilirsiniz. Ayrıca eski bir video olduğundan dolayı kütüphane sürümleri farklı. O kütüphane sürümünü veya daha eski sürümleri kurmayı deneyiniz. Kolay gelsin. :slightly_smiling_face:

1 Beğeni

Cevap için teşekkürler. İlk yazıda bahsettiğim sorunu seri porttan veri gönderip daha sonra esp ile thingspeak’e aktararak çözdüm fakat aktarma kodunu diğer kodlardan bağımsız çalıştırınca çalışıyor ama önüne arkasına kod geldiğinde örneğin sıcaklık ve nem değerlerini okuyup lcd’ye basan komuttan sonra eklediğimde program o ana gelince kendine reset atıyor bunun sebebi nedir ? Tam seri haberleşme olduğu sırada setuptan tekrar başlıyor program

Tekrar Merhabalar,
Size daha iyi yardımcı olabilmemiz için kodu bizimle paylaşır mısınız?

NodeMCU Geliştirme Kartı’nı Arduino’ya Bağladıysanız, NodeMCU Zaten Tek Başına Çalışabilen Bir Kart
#define ag_ismi “WiFi_Ismi”
#define ag_sifresi “WiFi Sifresi”
#define IP “184.106.153.149” //thingspeak.com IP adresi

float sicaklik;

void setup()
{
Serial.begin(115200); //Seriport’u açıyoruz. Güncellediğimiz
//ESP modülünün baudRate değeri 115200 olduğu için bizde Seriport’u 115200 şeklinde seçiyoruz

Serial.println(“AT”); //ESP modülümüz ile bağlantı kurulup kurulmadığını kontrol ediyoruz.

delay(3000); //ESP ile iletişim için 3 saniye bekliyoruz.
analogReference(INTERNAL);
if(Serial.find(“OK”)){ //esp modülü ile bağlantıyı kurabilmişsek modül “AT” komutuna “OK” komutu ile geri dönüş yapıyor.
Serial.println(“AT+CWMODE=1”); //esp modülümüzün WiFi modunu STA şekline getiriyoruz. Bu mod ile modülümüz başka ağlara bağlanabilecek.
delay(2000);
String baglantiKomutu=String(“AT+CWJAP=”")+ag_ismi+"",""+ag_sifresi+""";
Serial.println(baglantiKomutu);

delay(5000);
}
}

void loop(){
float sicaklik = analogRead(A0) / 9.31;
Serial.println(sicaklik);
sicaklik_yolla(sicaklik);
// dakikada 1 güncellenmesi için 1 dakika bekle
delay(60000);
}

void sicaklik_yolla(float sicaklik){
Serial.println(String(“AT+CIPSTART=“TCP”,”") + IP + “”,80"); //thingspeak sunucusuna bağlanmak için bu kodu kullanıyoruz.
//AT+CIPSTART komutu ile sunucuya bağlanmak için sunucudan izin istiyoruz.
//TCP burada yapacağımız bağlantı çeşidini gösteriyor. 80 ise bağlanacağımız portu gösteriyor
delay(1000);
if(Serial.find(“Error”)){ //sunucuya bağlanamazsak ESP modülü bize “Error” komutu ile dönüyor.
Serial.println(“AT+CIPSTART Error”);
return;
}

String yollanacakkomut = “GET /update?key=64T0OS3R1OEAYUML&field1=”; // Burada 64T0OS3R1OEAYUML yazan kısım bizim API Key den aldığımız Key. Siz buraya kendi keyinizi yazacaksınız.
yollanacakkomut += (int(sicaklik)); // Burada ise sıcaklığımızı float değişkenine atayarak yollanacakkomut değişkenine ekliyoruz.
yollanacakkomut += “\r\n\r\n”; // ESP modülümüz ile seri iletişim kurarken yazdığımız komutların modüle iletilebilmesi için Enter komutu yani
delay(3000); // /r/n komutu kullanmamız gerekiyor.

Serial.print(“AT+CIPSEND=”); //veri yollayacağımız zaman bu komutu kullanıyoruz. Bu komut ile önce kaç tane karakter yollayacağımızı söylememiz gerekiyor.
Serial.println(yollanacakkomut.length()+2); //yollanacakkomut değişkeninin kaç karakterden oluştuğunu .length() ile bulup yazırıyoruz.

delay(1000);

if(Serial.find(">")){ //eğer sunucu ile iletişim sağlayıp komut uzunluğunu gönderebilmişsek ESP modülü bize “>” işareti ile geri dönüyor.
// arduino da “>” işaretini gördüğü anda sıcaklık verisini esp modülü ile thingspeak sunucusuna yolluyor.
Serial.print(yollanacakkomut);
Serial.print("\r\n\r\n");
}
else{
Serial.println(“AT+CIPCLOSE”);
}
}
DHT11=A0 Pin