Witam, mógłby mi ktoś pomóc i podpowiedzieć dla czego zamiast liczb które wychodzą z NodeMCU i Blynk'a(zeRGBa), w Arduino otrzymuję nie mające związku liczby? Korzystam z serial comunication między Arduino i NodeMCU. Przy sprawdzeniu monitora portu na Node wszytko idzie ładnie, natomiast monitor portu przy Arduino pokazuje zupełnie inne wyniki. Dodam że wszytko ładnie chodzi przy przyciskach/suwakach w Blynk'u, jedynie ten problem pojawia się przy korzystaniu z zeRBGy. Szukałem w Google ale nie znalazłem odpowiedzi która by zadziała.
KOD Z NODEMCU:
#define BLYNK_PRINT Serial
#include<SoftwareSerial.h>
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
SoftwareSerial s(3,1);
char auth[] = "wHpLrm_YSfZsDSNzXY3RaWJC-ii0TvLI";
char ssid[] = "TP-LINK_15BC";
char pass[] = "21522253";
void setup()
{
s.begin(9600);
//Serial.begin(9600);
Blynk.begin(auth, ssid, pass);
}
BLYNK_CONNECTED()
{
Blynk.syncVirtual(V4);//ledy
Blynk.syncVirtual(V6);//czerwone led
}
BLYNK_WRITE(V4)
{
int buttonState=param.asInt();
if (buttonState == 1)
{
Serial.println(buttonState);
s.write(9);
}
else if (buttonState == 0)
{
Serial.println(buttonState);
s.write(10);
}
}
BLYNK_WRITE(V6)
{
int R = param[0].asInt();
s.write(R);
int G = param[1].asInt();
s.write(G);
int B = param[2].asInt();
s.write(B);
//Serial.println("R:"); Serial.println(R);
//Serial.println("G:"); Serial.println(G);
//Serial.println("B:"); Serial.println(B);
}
void loop() {
Blynk.run();
}
KOD Z ARDUINO:
int data;
int x;
int Brightness;
int CoulorR1;
int CoulorG2;
int CoulorB3;
#include <Adafruit_NeoPixel.h>
#define LED_PIN 6
#define LED_COUNT 15
Adafruit_NeoPixel strip(LED_COUNT, LED_PIN, NEO_GRB + NEO_KHZ800);
void setup()
{
Serial.begin(9600);
strip.begin(); // INITIALIZE NeoPixel strip object (REQUIRED)
strip.show(); // Turn OFF all pixels ASAP
strip.setBrightness(50); // Set BRIGHTNESS to about 1/5 (max = 255)
}
void loop()
{
data = Serial.read();
delay(1000);
if(data>380&&data<635)
{
CoulorR1 = data-379; //Nadaje wartość czerwonemu
}
else if(data>640&&data<895)
{
CoulorG2 = data-639; //Nadaje wartość zielonemu
}
else if(data>900&&data<1155)
{
CoulorB3 = data-899; //Nadaje wartość niebieskiemu
}
Serial.println("data:");Serial.println(data);
Serial.println("CoulorR1:"); Serial.println(CoulorR1);
Serial.println("CoulorG2:"); Serial.println(CoulorG2);
Serial.println("CoulorB3:"); Serial.println(CoulorB3);
}
SS z monitora portu z noodemcu:
SS z monitora portu w arduino:
SS z zeRGBy