Ok so im trying to separate my data from arduino into python GUI tkinter over serial port
Example: i have a Humidity and Temperature sensor also a light. I want Python GUI to read the serial communication and store the data in separate strings (temperature, humidity, light)
Python Code
import tkinter as tk
import serial #Serial imported for Serial communication
import time #Required to use delay functions
# Create the master object
root = tk.Tk()
ArduinoSerial = serial.Serial('com5',9600) #Create Serial port object called arduinoSerialData
time.sleep(2)
humidity = tk.Label(root, text=ArduinoSerial.readline())
humidity.grid(row=0, column=0)
templabel = tk.Label(root, text="Temperature :" )
tempEntry = tk.Label(root, text=ArduinoSerial.readline() )
templabel.grid(row=1, column=0)
tempEntry.grid(row=1, column=2)
root.mainloop()
Arduino Code
#include <DHT.h>
#include <Wire.h>
#include <SPI.h>
int relayPin = 5;
int relayPinW = 6;
int sOn = 3;
char serialData;
DHT my_sensor (3, DHT22);
float temperature, humidity;
void setup(){
Serial.begin(9600);
my_sensor.begin();
pinMode (relayPin, OUTPUT);
pinMode (relayPinW, OUTPUT);
}
void loop() {
//digitalWrite(relayPin, HIGH);
//Serial.print("Nano - Relay Open \n");
//delay(8000);
//if(sOn > 0){
//digitalWrite(relayPin, LOW);
//Serial.print("Nano - Relay CLOSED \n");
//delay(8000);
//}
digitalWrite(relayPinW, HIGH);
Serial.print("Nano - Water Pump is now active \n");
delay(8000);
digitalWrite(relayPinW, LOW);
Serial.print("Nano - Water Pump OFF \n");
delay(8000);
if(humidity > 1)
{
digitalWrite(6, HIGH);
Serial.print("Humidifer Is Now ** ON ** PIN5 \n");
} else {
Serial.print("ERROR with Digital Write PIN");
}
if(Serial.available() > 0)
serialData = Serial.read();
Serial.print(serialData);
humidity = my_sensor.readHumidity();
temperature = my_sensor.readTemperature();
Serial.print("Temperature: ");
Serial.print(temperature);
Serial.print("C / Humidity: ");
Serial.print(humidity);
Serial.println("%");
}
that works but i want the data to be separated into there own variables would i have to decode or encode? I'm very lost... THANKS!