Smart Car Parking System Using Node Mcu V3, Bynk and Arduino UNO R3

Hello Community!
I am not sure if this is blynk related bit I am working on a Smart Car System and i do not know what pins i should connect to make a communication between my Arduino Board and the NodeMCU R3. I am using blink as my cloud but the color of my led is not changing with the recorded motion by my sensors. If i upload the code my device is coming online though. Kindly help

I am using NodeMCu V3 and Arduino Uno R3
Android OS
Blynk Server
ESP8226 Community Version
My Sketch for Arduino
‘’’ cpp
#include <SoftwareSerial.h>

SoftwareSerial nodemcu(2,3); //Connect NodeMcu to port 2 and 3 of the Arduino Uno

// parking slot1 infrared sensor connected with pin number 4, 5, 6 of arduino

int parking1_slot1_ir_s = 4;
int parking1_slot2_ir_s = 5;
int parking1_slot3_ir_s = 6;

int parking2_slot1_ir_s = 7;
int parking2_slot2_ir_s = 8;
int parking2_slot3_ir_s = 9;

String sensor1;
String sensor2;
String sensor3;
String sensor4;
String sensor5;
String sensor6;

// Complete Data Consisting of Sensor Values
String cdata="";

void setup()
{
Serial.begin(9600);
nodemcu.begin(9600);

pinMode(parking1_slot1_ir_s, INPUT);
pinMode(parking1_slot2_ir_s, INPUT);
pinMode(parking1_slot3_ir_s, INPUT);

pinMode(parking2_slot1_ir_s, INPUT);
pinMode(parking2_slot2_ir_s, INPUT);
pinMode(parking2_slot3_ir_s, INPUT);
}

void loop()
{
p1slot1();
p1slot2();
p1slot3();

p2slot1();
p2slot2();
p2slot3();

  //Comma acts as a delimeter
  cdata = cdata + sensor1 + "," + sensor2 + "," + sensor3 + ","+ sensor4 + "," + sensor5 + "," + sensor6 + ",";
  Serial.println(cdata);
  nodemcu.println(cdata);
  delay(6000); // 100 milliseconds

digitalWrite(parking1_slot1_ir_s, HIGH);
digitalWrite(parking1_slot2_ir_s, HIGH);
digitalWrite(parking1_slot3_ir_s, HIGH);

digitalWrite(parking2_slot1_ir_s, HIGH);
digitalWrite(parking2_slot2_ir_s, HIGH);
digitalWrite(parking2_slot3_ir_s, HIGH);
}

//Parking1 Slot1
void p1slot1()
{
if(digitalRead(parking1_slot1_ir_s) == LOW)
{
sensor1 = “255”;
delay(200);
}

if(digitalRead(parking1_slot1_ir_s) == HIGH)
{
sensor1 = “0”;
delay(200);
}
}

// Parking1 Slot 2
void p1slot2()
{
if(digitalRead(parking1_slot2_ir_s) == LOW)
{
sensor2 = “255”;
delay(200);
}

if(digitalRead(parking1_slot2_ir_s) == HIGH)
{
sensor2 = “0”;
delay(200);
}
}

//Parking1 Slot 3
void p1slot3()
{
if(digitalRead(parking1_slot3_ir_s) == LOW)
{
sensor3 = “255”;
delay(200);
}

if(digitalRead(parking1_slot3_ir_s) == HIGH)
{
sensor3 = “0”;
delay(200);
}
}

//Parking2 Slot 1
void p2slot1()
{
if(digitalRead(parking2_slot1_ir_s) == LOW)
{
sensor4 = “255”;
delay(200);
}

if(digitalRead(parking2_slot1_ir_s) == HIGH)
{
sensor4 = “0”;
delay(200);
}
}

// Parking2 Slot 2
void p2slot2()
{
if(digitalRead(parking2_slot2_ir_s) == LOW)
{
sensor5 = “255”;
delay(200);
}

if(digitalRead(parking2_slot2_ir_s) == HIGH)
{
sensor5 = “0”;
delay(200);
}
}

//Parking2 Slot 3
void p2slot3()
{
if(digitalRead(parking2_slot3_ir_s) == LOW)
{
sensor6 = “255”;
delay(200);
}

if(digitalRead(parking2_slot3_ir_s) == HIGH)
{
sensor6 = “0”;
delay(200);
}
}
‘’’

My sketch for the nodemcu

‘’'cpp

// Template ID, Device Name and Auth Token are provided by the Blynk.Cloud
// See the Device Info tab, or Template settings
#define BLYNK_TEMPLATE_ID " "
#define BLYNK_DEVICE_NAME " "
#define BLYNK_AUTH_TOKEN " "

// Comment this out to disable prints and save space
#define BLYNK_PRINT Serial

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
#include <SoftwareSerial.h>

char auth[] = BLYNK_AUTH_TOKEN;

// Your WiFi credentials.
// Set password to “” for open networks.
char ssid[] = " ";
char pass[] = " ";

BlynkTimer timer;

String myString; //complete message from arduino, which consistors of snesors data
char rdata; //received character

int firstVal, secondVal, thirdVal; //sensors
int led1, led2, led3, led4, led5, led6;

//This function sends Arduino’s up time every second to Virtual Pin (1).
// In the app, Widget’s reading frequency should be set to PUSH. This means
// that you define how often to send data to Blynk App.

void myTimerEvent()
{
// You can send any value at any time.
// Please don’t send more that 10 values per second.
Blynk.virtualWrite(V1, millis()/1000);
}

void setup()
{
// Debug console
Serial.begin(115200);

Blynk.begin(auth, ssid, pass, “blynk.cloud”, 80);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, “blynk.cloud”, 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);

 timer.setInterval(1000L, sensorValue1);
 timer.setInterval(1000L,sensorValue2); 
 timer.setInterval(1000L,sensorValue3);
 timer.setInterval(1000L,sensorvalue4);
 timer.setInterval(1000L,sensorvalue5);
 timer.setInterval(1000L,sensorvalue6);

}

void loop()
{
if (Serial.available() == 0)
{
Blynk.run();
timer.run(); //Initiates BlynkTimer
}
if (Serial.available() > 0)
{
rdata = Serial.read();
myString = myString+ rdata;

//Serial.print (rdata);
if ( rdata == '\n')
{
  Serial.println(myString);
  //Serial.println("Denis");
  //new code

String l = getValue(myString, ‘,’, 0);
String m = getValue(myString, ‘,’, 1);
String n = getValue(myString, ‘,’, 2);
String o = getValue(myString, ‘,’, 3);
String p = getValue(myString, ‘,’, 4);
String q = getValue(myString, ‘,’, 5);

//these leds represents the leds used in Blynk application
led1 = l.toInt();
led2 = m.toInt();
led3 = n.toInt();
led4 = o.toInt();
led5 = p.toInt();
led6 = q.toInt();
myString = “”;
//end code here
}
}
}

void sensorValue1()
{
int sdata = led1;
// You can send any value at any time.
// Please don’t send more that 10 values per second.
Blynk.virtualWrite(V2, sdata);
}
void sensorValue2()
{
int sdata = led2;
// You can send any value at any time.
// Please don’t send more that 10 values per second.
Blynk.virtualWrite(V3, sdata);
}
void sensorValue3()
{
int sdata = led3;
// You can send any value at any time.
// Please don’t send more that 10 values per second.
Blynk.virtualWrite(V4, sdata);
}
void sensorvalue4()
{
int sdata = led4;
// You can send any value at any time.
// Please don’t send more that 10 values per second.
Blynk.virtualWrite(V5, sdata);
}
void sensorvalue5()
{
int sdata = led5;
// You can send any value at any time.
// Please don’t send more that 10 values per second.
Blynk.virtualWrite(V6, sdata);
}
void sensorvalue6()
{
int sdata = led6;
// You can send any value at any time.
// Please don’t send more that 10 values per second.
Blynk.virtualWrite(V11, sdata);

}

String getValue(String data, char separator, int index)
{
int found = 0;
int strIndex[] = {0, -1 };
int maxIndex = data.length() - 1;

for (int i = 0; i <= maxIndex && found <= index; i++){
if (data.charAt(i) == separator || i == maxIndex){
found++;
strIndex[0] = strIndex[1] = 1;
strIndex[1] = (i == maxIndex) ? i+1 : i;
}
}
return found > index ? data.substring(strIndex[0], strIndex[1]) : “”;
}
‘’’

How about you starting will ALL of the information that was requested when you created this topic…

  1. Add details :
    • Hardware model + communication type. For example: Arduino UNO with Ethernet Shield
    • Smartphone OS (iOS or Android) + Blynk app version
    • Blynk server or local server
    • Blynk Library version
    • Add your sketch code. :point_up:Code should be formatted as example below.

Simply paste your code between ``` If you don’t format your code, your topic can be deleted by moderators.

```cpp

Your code in here…

```

Pete.

I am using NodeMCu V3 and Arduino Uno R3
Android OS
Blynk Server
ESP8226 Community Version

[Unformatted code removed by moderator]

My Sketch for Arduino

[Unformatted code removed by moderator]

My sketch for the nodemcu

@koomedenis your code has been removed as it wasn’t correctly formatted with triple backticks.

I’d suggest that you copy/paste the correct backtick characters from post #2 and post your code correctly.
I’s also suggest that you provide ALL of the information requested when you created this topic, and repeated in post #2

Pete.