ja1yaz’s diary

感動したいおやじの備忘録的ブログ 

昨年の課題が残っていたのだ。ロードセル+HX711の動作だ

昨年、Raspberrypiで急に動作がおかしくなった、電子はかりだが、そのレスポンスの遅さが原因なのではないかと疑っている。

raspberryPiは、取り込んだデータをSAVEするにはとても良いのだが、OSを持っているので、動作がまちまちになりやすいのが玉に瑕だ。

そこで、単機能のArduinoに注目した。

しかし、データの収録という観点では、一つ付け加えないといけないので若干手間だ。

Arduinoのレスポンスについて確認してみた。

外部から信号発生器の信号パルスをいれて、どの程度のdelayで反応するかだ。

オシロArduinoのレスポンスを確認

使用したArduinoは、秋月のPro mini互換基板だ。Unoも一応持っているが、Unoと同じ、16Mクロックだ。USBーシリアルで接続されているので、シリアルを使用してデータをとってくることもできそうだ。

 

使用した、スケッチは、下記だ。スケッチは、例題をほぼそのままパクッて付け加えただけ。

const int buttonPin = 2;     // the number of the pushbutton pin
const int ledPin =  13;      // the number of the LED pin

// variables will change:
int buttonState = 0;         // variable for reading the pushbutton status

void setup() {
  // initialize the LED pin as an output:
  pinMode(ledPin, OUTPUT);
  // initialize the pushbutton pin as an input:
  pinMode(buttonPin, INPUT);
}

void loop() {
  // read the state of the pushbutton value:
  
    buttonState = digitalRead(buttonPin);
  // wait pushbutton goes high. :
  while(buttonState == LOW){
    buttonState = digitalRead(buttonPin);
  }
    // Pulse output 5us:
    digitalWrite(ledPin, HIGH);
    digitalWrite(ledPin, LOW);
    delay(1);
}

早いと、5us程度でパルスを確認できる。

パーシスタンスモードでとっているので、反応の幅がわかる。

遅いと、15us程度遅れて反応しているのがわかる。

ただ、パルス幅は、一定して5usだ。

Digital信号のON/OFFできる限界は、5us程度のようだ