Hello again,
I uploaded this code to my ESP8266 (from where I connected it to the AC dimmer):
#include <CayenneMQTTESP8266.h>
// This example shows how to connect to Cayenne using an ESP8266 and send/receive sample data.
// Make sure you install the ESP8266 Board Package via the Arduino IDE Board Manager and select the correct ESP8266 board before compiling.
#define CAYENNE_PRINT Serial
#define CAYENNE_DEBUG
// WiFi network info.
char ssid = “–”;
char wifiPassword = “–”;
// Cayenne authentication info. This should be obtained from the Cayenne Dashboard.
char username = “–”;
char password = “–”;
char clientID = “–”;
/**************
- The following sketch is meant to to define dimming value through potentiometer,
- The potentiometer values are changing in range from 0 to 1023
- potentiometer values are converted through the map function to values from 0 to 100% and saved in dimmer.setPower(outVal);
- Serial.begin is used to display dimming values
- ---------------------- OUTPUT & INPUT Pin table ---------------------
- ±--------------±------------------------±------------------------+
- | Board | INPUT Pin | OUTPUT Pin |
- | | Zero-Cross | |
- ±--------------±------------------------±------------------------+
- | Lenardo | D7 (NOT CHANGABLE) | D0-D6, D8-D13 |
- ±--------------±------------------------±------------------------+
- | Mega | D2 (NOT CHANGABLE) | D0-D1, D3-D70 |
- ±--------------±------------------------±------------------------+
- | Uno | D2 (NOT CHANGABLE) | D0-D1, D3-D20 |
- ±--------------±------------------------±------------------------+
- | ESP8266 | D1(IO5), D2(IO4), | D0(IO16), D1(IO5), |
- | | D5(IO14), D6(IO12), | D2(IO4), D5(IO14), |
- | | D7(IO13), D8(IO15), | D6(IO12), D7(IO13), |
- | | | D8(IO15) |
- ±--------------±------------------------±------------------------+
- | ESP32 | 4(GPI36), 6(GPI34), | 8(GPO32), 9(GP033), |
- | | 5(GPI39), 7(GPI35), | 10(GPIO25), 11(GPIO26), |
- | | 8(GPO32), 9(GP033), | 12(GPIO27), 13(GPIO14), |
- | | 10(GPI025), 11(GPIO26), | 14(GPIO12), 16(GPIO13), |
- | | 12(GPIO27), 13(GPIO14), | 23(GPIO15), 24(GPIO2), |
- | | 14(GPIO12), 16(GPIO13), | 25(GPIO0), 26(GPIO4), |
- | | 21(GPIO7), 23(GPIO15), | 27(GPIO16), 28(GPIO17), |
- | | 24(GPIO2), 25(GPIO0), | 29(GPIO5), 30(GPIO18), |
- | | 26(GPIO4), 27(GPIO16), | 31(GPIO19), 33(GPIO21), |
- | | 28(GPIO17), 29(GPIO5), | 34(GPIO3), 35(GPIO1), |
- | | 30(GPIO18), 31(GPIO19), | 36(GPIO22), 37(GPIO23), |
- | | 33(GPIO21), 35(GPIO1), | |
- | | 36(GPIO22), 37(GPIO23), | |
- ±--------------±------------------------±------------------------+
- | Arduino M0 | D7 (NOT CHANGABLE) | D0-D6, D8-D13 |
- | Arduino Zero | | |
- ±--------------±------------------------±------------------------+
- | Arduino Due | D0-D53 | D0-D53 |
- ±--------------±------------------------±------------------------+
- | STM32 | PA0-PA15,PB0-PB15 | PA0-PA15,PB0-PB15 |
- | Black Pill | PC13-PC15 | PC13-PC15 |
- | BluePill | | |
- | Etc… | | |
- ±--------------±------------------------±------------------------+
*/
#include <RBDdimmer.h>//
#define USE_SERIAL SerialUSB //Serial for boards whith USB serial port
#define outputPin 12
dimmerLamp dimmer(outputPin, zerocross); //initialase port for dimmer for ESP8266, ESP32, Arduino due boards
//dimmerLamp dimmer(outputPin); //initialase port for dimmer for MEGA, Leonardo, UNO, Arduino M0, Arduino Zero
int outVal = 0;
void setup() {
USE_SERIAL.begin(9600);
dimmer.begin(NORMAL_MODE, ON); //dimmer initialisation: name.begin(MODE, STATE)
pinMode(outputPin, OUTPUT);
Serial.begin(74880);
Cayenne.begin(username, password, clientID, ssid, wifiPassword);
}
void loop()
{
outVal = map(analogRead(0), 1, 1024, 100, 0); // analogRead(analog_pin), min_analog, max_analog, 100%, 0%);
digitalWrite(outputPin, outVal);
dimmer.setPower(outVal); // name.setPower(0%-100%)
}
But it’s not working. I’m not understanding the best way to write the code to create the widget with dimming values on cayenne dashboard and how to implement the virtual channel.