M5 Stack과 하중 센서로 비례자 만들기

8079 단어 M5stack낮은 셀

규모를 정하다


M5 Stack을 사용해 저울을 만들기 위한 시행착오를 미리 기록한 것이다.
이번에 5kg을 측정할 수 있는 저울을 만들었다.

자재

  • M5Stack Basic
  • Grove 케이블
  • 4개의 점프 라인

  • 디지털 하중 셀 아래 그림에서 보듯이 조립된 타입으로 사용하기 편합니다.5kg까지 측정 가능합니다.

  • 연결 방법



    사진처럼 연결.
    하중 센서에 연결된 기판(HX711)에서 세트 제품인 전선(양단모)을 연결한 후 Grove 케이블을 연결한다.
    나는 이번에 점프선을 중간에 끼워 연결했다.
    HX711VCC-(보라색)-(빨간색)-M5 Stack 5V
    HX711 SCK-(회색) - (흰색) - M5 Stack 22핀(SCL)
    HX711DT-(흰색)-(노란색)-M5 Stack 21핀(SDA)
    HX711 GND-(검정)-(검정)-M5 Stack GND


    절차.


    사용할 라이브러리는 여기.https://github.com/bogde/HX711)입니다.
    소스 코드는 다음과 같습니다.
    #include <M5Stack.h>  // M5Stackを使用
    #include <HX711.h>
    
    // HX711 circuit wiring
    const int LOADCELL_DOUT_PIN = 21;
    const int LOADCELL_SCK_PIN = 22;
    
    void setup() {
      M5.begin();
      M5.Lcd.setTextSize(2);      // 文字サイズを2にする
      M5.Lcd.fillScreen(BLACK);   // 背景を黒にする
    
      Serial.begin(115200);
      Serial.println("Initializing the scale");
      scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
    
    //  scale.set_scale(LOADCELL_DIVIDER);
    //  scale.set_offset(LOADCELL_OFFSET);
    
     // ☆それぞれの環境で適切な値を設定する☆
      scale.set_scale(475.f); 
      // 現在を0gにセット
      scale.tare();               // reset the scale to 0
    }
    
    void loop() {
    
      if (M5.BtnA.wasPressed()) {
        Serial.println("M5.BtnA.wasPressed()");
        // ☆それぞれの環境で適切な値を設定する☆
        scale.set_scale(475.f);
        // 現在を0gにセット
        scale.tare();
      }
      M5.update();
      int weight = scale.get_units(5);
      M5.Lcd.setCursor(40,30,4);
      M5.Lcd.printf("%1d g          ", weight);
      M5.Lcd.fillRect(0, 80, 320, 80, TFT_BLACK);
      M5.Lcd.fillRect(0, 80, weight*0.16, 80, TFT_BLUE);
      Serial.print("average:\t");
      Serial.println(weight, 1);
    }
    
    일단 할 건요.
    scale.set_scale(475.f); 
    ☆ 각자의 환경에 적당한 값을 설정하는 부분후술
    scale.tare(); 
    ...현재 0g 재설정
    의 두 줄.
    그리고 측정할 때.
    int weight = scale.get_units(5);
    을 입력합니다.
    매개 변수의 5는 출력이 다섯 번 측정된 평균치를 가리킨다.
    HX711에 대한 다양한 정보가 난장판입니다.
    scale.set_offset() 
    기다려도 돼.

    set_scale에서 설정한 값


    프로그램의 ☆ 부분, setscale는 매개 변수에 각 환경에 맞는 값을 매개 변수로 설정해야 합니다.
    이것은 이 값을 어떻게 해야 하는지를 조사하는 방법으로 적당한 값을 넣어 보려고 한다. 실제적으로 65g의 물건은 65g의 값을 정확하게 측정하는 것이 되기 위해 값을 바꾸어 반복적으로 측정한다.

    쉽지 않은 곳.


    간단할 줄 알았는데 시간이 많이 걸렸어요.
    사실 처음에는 M5 StickC에서 했어요. 아무리 조정해도 측정치를 확정할 수 없어서 중간에 잘했어요!이런 순간이 있었지만 이후에도 이상해졌고, 결국 아무것도 넣지 않은 0g이 됐을 때도 수치가 변동하기 시작했고, 그게 이상하다고 생각해 M5 Stack Basic으로 바꿔 마침내 안정됐다.

    좋은 웹페이지 즐겨찾기