Arduinoda yardım istiyen gelebilir

Arkadaslar lutfen yardim edin..
Butun sensorler ve roleler unoya bagli..
45 gundur uno yu- nodemcu 8266 ile internete baglamaya calisiyorum ..sonunda baglandim..
Bu seferde bylinkde verileri goruyorum. ama buton fonksiyonlari ile 4 relay role yi kontrol edemiyorum..
Kodlara bir bakarmisiniz..
bir de ilginc sorunlarim var.. nodemcu uzerinde internete baglaninca yanan led yanmiyor(yazilimla mi yaniyor bilemedim)
arduino uno yu enerjiye bagladigim an 4 role de aciliyor ve yazilim tamamen okununca ,yazilima gore roleler gorevlerini yapiyor..enerji takildigi an acilmamasini nasil saglayabilirim..
[
//ARDUINO YUKLE

//DHT11 Lib
#include <DHT.h>

//Arduino to NodeMCU Lib
#include <SoftwareSerial.h>
#include <ArduinoJson.h>

//Initialise Arduino to NodeMCU (10=Rx & 11=Tx)
SoftwareSerial nodemcu(10, 11);

//Initialisation of DHT11 Sensor
#define DHTPIN 2
DHT dht(DHTPIN, DHT11);
int temp;
int hum;

// MQ135 AYARLARI

#define sensor A1
int gas, co2lvl;



void setup() {
Serial.begin(9600);
pinMode(sensor, INPUT); //MQ135
dht.begin();
nodemcu.begin(115200);

pinMode(12,OUTPUT);

delay(1000);

Serial.println("Program started");
}


void loop() {

StaticJsonBuffer<1000> jsonBuffer;
JsonObject& data = jsonBuffer.createObject();

//Obtain Temp and Hum data
dht11_func();
mq135_func();
buton_func();

//Assign collected data to JSON Object
data["humidity"] = hum;
data["temperature"] = temp;
data["co2"] = co2lvl;

//Send data to NodeMCU
data.printTo(nodemcu);
jsonBuffer.clear();



delay(1000);
}

void dht11_func() {

hum = dht.readHumidity();
temp = dht.readTemperature();
Serial.print("Humidity: ");
Serial.println(hum);
Serial.print("Temperature: ");
Serial.println(temp);

}
void mq135_func() {

gas = analogRead(sensor);
co2lvl = gas-120;
co2lvl = map(co2lvl,0,1024,400,5000);
Serial.println(gas);
}
void buton_func() {
while (nodemcu.available() > 0 ) {
int val = nodemcu.parseInt();
if (nodemcu.read() == "\n") {
Serial.println(val);
if (val == HIGH) {
digitalWrite(12, HIGH);
}
else {
digitalWrite(12, LOW);
}
}
}
}
]

[
//NODEMCU YUKLE
#include <Blynk.h>
#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

BlynkTimer timer;

char auth[] = "1HJh3g8b4ra9rFkhLjDz_ABL5CukkH4";
char ssid[] = "Kablonet Netmaster-C5B5-G_EXT";
char pass[] = "1971mm74";

#include <SoftwareSerial.h>
#include <ArduinoJson.h>

int a;

//D8 = RX & D7 = TX
SoftwareSerial nodemcu(D8, D7);

void send_data() {
StaticJsonBuffer<200> jsonBuffer;
JsonObject& data = jsonBuffer.parseObject(nodemcu);

if (data == JsonObject::invalid()) {
//Serial.println("Invalid Json Object");
jsonBuffer.clear();
return;
}



Serial.println("JSON Object Recieved");
Serial.print("Recieved Humidity: ");
float hum = data["humidity"];
Serial.println(hum);
Blynk.virtualWrite(V6,hum);

Serial.print("Recieved Temperature: ");
float temp = data["temperature"];
Serial.println(temp);
Blynk.virtualWrite(V5,temp);

Serial.print("Recieved co2: ");
float co2lvl = data["co2"];
Serial.println(co2lvl);
Blynk.virtualWrite(V7,co2lvl);

Serial.println("-----------------------------------------");
}

BLYNK_WRITE(V2)
{
a = param.asInt();
nodemcu.print(a);
nodemcu.println("\n");
Serial.println(a);
}

// ================= SETUP =============================
// ======================================================
void setup() {
// Initialize Serial port
Serial.begin(9600);
nodemcu.begin(115200);
while (!Serial) continue;

Blynk.begin(auth, ssid, pass,"blynk-cloud.com", 8080);
timer.setInterval(100L, send_data);

pinMode(D8, INPUT);
pinMode(D7, OUTPUT);

}


void loop() {
Blynk.run();
timer.run();
}
 

Ekli dosyalar

  • Screenshot_20210615-155315.jpg
    64.3 KB · Görüntüleme: 5
Artık bu başlığı takip etmeyi bırakıyorum sadece ilgili başlıkla açılan sorulara cevap veriyorum.
 
merhaba
benim sorunum Lcd ekranda menü oluşturdum o menülerin içerisinde bazı değerler okuyorum ama sadece menüye ilk girişimde bir defa okuma yapıyor , ama okumayı yenilemiyor ekranda ilk okuduğu değer kalıyor.
 
Bu siteyi kullanmak için çerezler gereklidir. Siteyi kullanmaya devam etmek için onları kabul etmelisiniz. Daha fazla bilgi edin…