Encoder Module for M5Stack FACES ESP32 Pocket Computer with 12pcs RGB LED MEGA328 Inside I2C

Encoder Module for M5Stack FACES ESP32 Pocket Computer with 12pcs RGB LED MEGA328 Inside I2C

  • R 623.82
    Unit price per 
  • Save R 623.82
Tax included.

SKU:

Description:

ENCODER is compatible with FACE Kit. You can have it replace the keycoard panel inside the FACE kit. It is designed for rotary encoder control, integrated Mega328 microprocessor inside and LEDs around the encoder.

The series communication protocol between M5 core and ENCODER is IIC (adress: 0x5E)

Product Features:

  • 12 RGB Led
  • IIC communication
  • Simple API for programming
  • Mega328 inside
  • Encoder detection
  • Product Size: 58.2mm x 54.2mm x 10mm
  • Product weight: 17g

EasyLoader


2.After downloading the software, double-click to run the application, connect the M5 device to the computer via the data cable, select the port parameters, and click "Burn" to start burning.

     3.The CP210X (USB driver) needs to be installed before the EasyLoader is burned. Click here to view the driver installation tutorial

Function:

Control single RGB

  /*      Parameter:          led_index: 0 ~ 11          r, g, b: 0 ~ 254  */  void Led(int led_index, int r, int g, int b){      // IIC send data      Wire.beginTransmission(Faces_Encoder_I2C_ADDR);      Wire.write(led_index);      Wire.write(r);      Wire.write(g);      Wire.write(b);      Wire.endTransmission();  }

Read encoder increment

  void get_encoder_increment(void){      int temp_encoder_increment;        // IIC read data      Wire.requestFrom(Faces_Encoder_I2C_ADDR, 3);      if(Wire.available()){         temp_encoder_increment = Wire.read();// get increment         button_state = Wire.read();// get button value      }      if(temp_encoder_increment > 127){//anti-clockwise          direction = 1;// flag for encoder direction          encoder_increment = 256 - temp_encoder_increment;      }      else{// clockwise          direction = 0;          encoder_increment = temp_encoder_increment;      }  }

Package Included:

  • 1x M5Stack ENCODER Module
  • Encoder turnpanel

 

Example:

for IDE

If you want the complete code faces_encoder.ino, please click here.

  /*  * faces_encoder.ino  */  #include <M5Stack.h>    #define Faces_Encoder_I2C_ADDR     0X5E    // declaration  int encoder_increment;//positive: clockwise nagtive: anti-clockwise  uint16_t encoder_value=0;  int button_state;  uint8_t direction;//0: clockwise 1: anti-clockwise  int temp_encoder_increment;    // initialization  M5.begin();  Wire.begin();    // get data from ENCONDER  Wire.requestFrom(Faces_Encoder_I2C_ADDR, 3);  if(Wire.available()){      temp_encoder_increment = Wire.read();// the first byte: increment      button_state = Wire.read();// the second byte: button value  }    // IIC send data, 4bytes  Wire.beginTransmission(Faces_Encoder_I2C_ADDR);  Wire.write(led_index);  Wire.write(r);  Wire.write(g);  Wire.write(b);  Wire.endTransmission();