RGB con IDE Arduino en Nodemcu

elmaya
Posts: 953
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

Mon Nov 11, 2019 10:58 pm

pzygmunt necesito que me ayudes con tus inmensurables conocimientos.

estoy intentando añadir un boton de encendido/apagado al modulo controlador RGBW
consigo apagar con:
SuplaDevice.channelValueChanged(channelNumber, 0);

pero solo puedo encender el dimmer con:
SuplaDevice.channelValueChanged(channelNumber, 100); // 100 o el valor que quiera para _brightness

como puedo mandar el valor de color_brightness para encender en RGB desde el modulo?
elmaya
Posts: 953
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

Mon Nov 11, 2019 11:22 pm

sigo perdido
void SuplaDeviceClass::channelSetRGBWvalue(int channel, char value[SUPLA_CHANNELVALUE_SIZE])
cual es el contenido de value?
User avatar
pzygmunt
Posts: 9083
Joined: Tue Jan 19, 2016 9:26 am
Location: Paczków
Contact:

Tue Nov 12, 2019 11:17 am

Code: Select all

void SuplaDeviceClass::channelValueChanged(int channel_number, unsigned char red, unsigned char green, unsigned char blue, unsigned char color_brightness, unsigned char brightness) {		
	if ( srpc != NULL
		 && registered == 1 ) {

		char value[SUPLA_CHANNELVALUE_SIZE];
		memset(value, 0, SUPLA_CHANNELVALUE_SIZE);
		
                value[0] = brightness;
		value[1] = color_brightness;
		
		value[2] = blue;
		value[3] = green;
		value[4] = red;

		srpc_ds_async_channel_value_changed(srpc, channel_number, value);
	}
	
}
elmaya
Posts: 953
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

Tue Nov 12, 2019 11:55 am

ok gracias
ya añadi algo parecido pero pensaba que se podria hacer sin editar las librerias

Code: Select all

void SuplaDeviceClass::channelSetRGBWvalues(int channel,int mred,int mgreen,int mblue,int mcbr,int mbr) {
	
	unsigned char red = mred;
	unsigned char green = mgreen;
	unsigned char blue = mblue;
	char color_brightness = mcbr;
	char brightness = mbr;
	
	Params.cb.set_rgbw_value(Params.reg_dev.channels[channel].Number, red, green, blue, color_brightness, brightness);
	
	if ( srpc != NULL
		 && registered == 1 ) {

		char value[SUPLA_CHANNELVALUE_SIZE];
		memset(value, 0, SUPLA_CHANNELVALUE_SIZE);
		
		setRGBWvalue(channel, value);

		srpc_ds_async_channel_value_changed(srpc, Params.reg_dev.channels[channel].Number, value);
	}
	
}
tecnica1
Posts: 8
Joined: Sun Dec 17, 2017 11:29 pm

Wed Nov 13, 2019 2:03 pm

Buen día
Ante todo pido disculpas a elmaya, por no haber usado la librería adjunta que me envío.

Todo concluyó bien, utilice la librería previo sacar de Arduino/Libraries la que tenía de ArduinoJson reemplazandola por la que envió elmaya esto me permitió compilar sin problema.
El proximo problema fue que tengo actualizado el IDE de Arduino y necesité volver a una versión anterior de esp board manager 2.4.2 --- iwip Variant V2 higher Bandwidth. Todo estaba aclarado en el programa.

Funciona muy Bien :D :D Gracias, Muchas Gracias en especial por la paciencia.

Pregunta: Hay alguna forma de dar de alta el dispositivo sin tener que entrar a la https://cloud.supla.org/ para habilitar el dispositivo?
elmaya
Posts: 953
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

Wed Nov 13, 2019 2:14 pm

estate pendiente que esta tarde pondre un codigo mejorado.
boton para control local de encdido/apagado el cual al encender lo hara con el ultimo estado de color y brillo que hubiera antes de apagar.
trancision suave de on/off o cambio de color.
viewtopic.php?f=10&t=5602
tecnica1
Posts: 8
Joined: Sun Dec 17, 2017 11:29 pm

Mon Nov 18, 2019 9:46 pm

Buenas Tardes elmaya

Recién la puedo probar ahora. Quedó genial, es más que lo que esperaba.

Saludos desde Argentina
elmaya
Posts: 953
Joined: Wed Jun 27, 2018 5:48 pm
Location: Sevilla

Mon Nov 18, 2019 9:49 pm

ok me alegro de haber podido ayudarte

y buenas noches desde españa
Post Reply

Return to “General discussion”