LoginSignup
0
1

More than 3 years have passed since last update.

WioNodeをArduino化してHX711と組み合わせて計量してみた話

Last updated at Posted at 2020-09-07

WioNodeをArduino化して遊んでたら,重さ測れたら楽しいよね.という声がどこからか聞こえてきたのでやってみました.

HX711って5V駆動な品かと思ったら3.3v駆動なマイコンでもいけるっぽい?
ちょっと試してみました.

WioNodeと繋いでみた

今回はAmazonで買った安いHX711基板を使用しています.
ロードセルはビーム型.1kgまで計測できるモノです.

ビーム型のロードセル向けにthingiverseにこんな3Dモデルが落ちているのでサクッと打ち出してみました.
3Dプリンタが無い人は,Amazonのこの辺を使ってみると良いかも.

もう片側はUARTのままで,シリアル経由で結果を吐き出してます

コードはこんな感じ

#include "HX711.h"

const uint8_t PORT0A = 1;
const uint8_t PORT0B = 3;
const uint8_t PORT1A = 4;
const uint8_t PORT1B = 5;
const uint8_t PORT_POWER = 15; // (common with RED_LED)
//set PORT_POWER as HIGH for power supply. Low means no power.

const uint8_t FUNC_BTN = 0;
const uint8_t BLUE_LED = 2;
const uint8_t RED_LED = PORT_POWER;

const uint8_t UART_TX = PORT0A;
const uint8_t UART_RX = PORT0B;
const uint8_t I2C_SDA = PORT1A;
const uint8_t I2C_SCL = PORT1B;

// HX711 circuit wiring
const int LOADCELL_DOUT_PIN = PORT1B;
const int LOADCELL_SCK_PIN = PORT1A;

HX711 scale;

void setup() {
  // ----------
  // デバッグ用のシリアル通信の初期化
  Serial.begin(9600);
  while (!Serial); //waits for serial terminal to be open, necessary in newer arduino boards.
  Serial.println("HX711 demo");

  // ----------
  // IO周りの初期化
  pinMode(PORT1B, INPUT);
  pinMode(FUNC_BTN, INPUT);
  pinMode(BLUE_LED, OUTPUT);
  pinMode(PORT_POWER, OUTPUT);
  digitalWrite(PORT_POWER, HIGH);
  digitalWrite(BLUE_LED, HIGH);

  // ----------
  // HX711の初期化
  scale.begin(LOADCELL_DOUT_PIN, LOADCELL_SCK_PIN);
  scale.set_scale(2280.f);    // this value is obtained by calibrating the scale with known weights; see the README for details
  scale.tare();               // reset the scale to 0
}

void loop() {
  if (scale.is_ready()) {
    Serial.print("meas : ");
    Serial.println(scale.get_units(10), 1);
  } else {
    Serial.println("HX711 not found.");
  }

  delay(100);
}

分銅を使った動作確認

10gから900gの間で検証してみた所,こんな具合でした.

image.png

重量が増していくと差が出てきちゃいますね.数点計測した結果からキャリブレーションかけた方がより正しい数値になるんだろうな.

【オマケ】3.3vで動作させる場合は,20kΩの抵抗を10kΩに変更した方が良いみたい

どうもHX711は2.7~5.5vまでの範囲で動作するようですが,VFBピンに入れる電圧の観点から3.3v駆動させる場合は,分圧している抵抗値を変更すべきのようです.

(改造せずとも結果的には正しく動作しましたが、ちょっと気持ち悪いので私は10kΩ抵抗に改造しました

以上,WioNodeをArduino化してHX711を使ってみた話でした.

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1