mqtt int gebruiken

Arduino specifieke Software
Berichten: 47
Geregistreerd: 24 Nov 2014, 19:47

mqtt int gebruiken

Berichtdoor corolla_g6 » 12 Jul 2017, 16:04

hallo,

ik heb een sketch werkend om van een string via mqtt een rgb ledstrip aan te sturen met 3 afzonderlijke uitgangen (pwm)

nou wil ik deze sketch gebruiken om een warm witte ledstrip aan te sturen en wil ik het signaal omzetten naar een integer.

hieronder een deel van de sketch voor rgb

cpp code
void callback(char* topic, byte* payload, unsigned int length) {
// check for messages on subscribed topics
payload[length] = '\0';
Serial.print("Topic: ");
Serial.println(String(topic));



// check topic to identify type of content
if(String(topic) == "lamp") {

String value = String((char*)payload);

Serial.print (value);

SoffitR = value.substring(0,value.indexOf(',')).toInt();
SoffitG = value.substring(value.indexOf(',')+1,value.lastIndexOf(',')).toInt();
SoffitB = value.substring(value.lastIndexOf(',')+1).toInt();

// print obtained values for debugging
Serial.print("RED: ");
Serial.println(SoffitR);
//client.publish("status/arduino_LED", SoffitR);

Serial.print("GREEN: ");
Serial.println(SoffitG);
//client.publish("status/arduino_LED", SoffitG);

Serial.print("BLUE: ");
Serial.println(SoffitB);
//client.publish("status/arduino_LED/soffit/color/blue", int SoffitB);
//Serial.flush();

analogWrite(GREEN, SoffitG);
analogWrite(RED, SoffitR);
analogWrite(BLUE, SoffitB);

while(Serial.available())
Serial.read();

}
}


ben al bezig geweest om het te proberen om te zetten maar ik krijg geen resultaat op de seriele monitor.

cpp code
void callback(char* topic, byte* payload, unsigned int length) {
// check for messages on subscribed topics
payload[length] = '\0';






// check topic to identify type of content
if(String(topic) == "/test/dimmer") {

int value = int((char*)payload);


analogWrite(WHITE, value);


while(Serial.available())
Serial.read();

}
}


heb gezocht op google maar ik kan niks vinden....

Advertisement

Berichten: 47
Geregistreerd: 24 Nov 2014, 19:47

Re: mqtt int gebruiken

Berichtdoor corolla_g6 » 12 Jul 2017, 16:20

nadat ik mijn bericht had gemaakt was ik op het forum aan het rondkijken en toen zag ik string omzetten naar int en heb dit ervan gemaakt en het werkt.

cpp code
void callback(char* topic, byte* payload, unsigned int length) {
// check for messages on subscribed topics
payload[length] = '\0';






// check topic to identify type of content
if(String(topic) == "/test/dimmer") {

String value = String((char*)payload);

int val = map(value.toInt(),-0,100,255,25);


analogWrite(WHITE, val);


while(Serial.available())
Serial.read();

}
}

Terug naar Arduino software

Wie is er online?

Gebruikers in dit forum: utvofokaevus en 22 gasten