🤖Have you ever tried Chat.M5Stack.com before asking??😎
    M5Stack Community
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Register
    • Login

    Unit 8 encoder

    Units
    1
    1
    1.1k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • K
      kazooz.igloos
      last edited by

      Hi

      Im trying to use the unit 8 encoder with M5 Paper. I want to get the LED to change colour with pressing the rotary dial in using getbuttonstatus. I have managed to record the button press however it returns to its previous state without repressing the button. Any advice where Im going wrong?

      Here is my code:

      #include "UNIT_8ENCODER.h"
      #include <M5EPD.h>

      UNIT_8ENCODER sensor;
      M5EPD_Canvas canvas(&M5.EPD);

      int32_t encoder[8] = {0};
      uint8_t btn_status[8] = {0};

      void show_encoder_value(void) {

      for (int i = 0; i < 8; i++) {

          btn_status[i] = sensor.getButtonStatus(i);
            encoder[i] = sensor.getEncoderValue(i);
      

      }
      if (btn_status[i] ==true) {
      sensor.setLEDColor(i, 0x00ff00);
      }
      else {
      sensor.setLEDColor(i, 0xff0000);
      }
      }
      }

      void setup() {
      sensor.begin(&Wire, ENCODER_ADDR, 25, 32, 100000UL);
      M5.begin(true,true,true,true,true);
      M5.RTC.begin();
      M5.EPD.SetRotation(90);
      M5.EPD.Clear(true);
      canvas.createCanvas(540, 960);
      }

      void loop() {
      // put your main code here, to run repeatedly:
      show_encoder_value();

      canvas.setTextSize(3);
      

      canvas.drawString(String(encoder[0]), 60, 30);
      canvas.drawString(String(encoder[1]), 125, 30);
      canvas.drawString(String(encoder[2]), 190, 30);
      canvas.drawString(String(encoder[3]), 255, 30);
      canvas.drawString(String(encoder[4]), 60, 60);
      canvas.drawString(String(encoder[5]), 125, 60);
      canvas.drawString(String(encoder[6]), 190, 60);
      canvas.drawString(String(encoder[7]), 255, 60);

       canvas.drawString(String(btn_status[0]), 60, 130);
      canvas.drawString(String(btn_status[1]), 125, 130);
      canvas.drawString(String(btn_status[2]), 190, 130);
      canvas.drawString(String(btn_status[3]), 255, 130);
      canvas.drawString(String(btn_status[4]), 60, 160);
      canvas.drawString(String(btn_status[5]), 125, 160);
      canvas.drawString(String(btn_status[6]), 190, 160);
      canvas.drawString(String(btn_status[7]), 255, 160);
      canvas.pushCanvas(0, 0, UPDATE_MODE_DU4);
      

      delay(100);

      }

      Thanks

      David

      1 Reply Last reply Reply Quote 0
      • First post
        Last post