タグ

ブックマーク / radiopench.blog96.fc2.com (3)

  • Arduinoでdelay関数を実行時の消費電流を減らす

    とりあえずやりたいことが無くなってしまったので、手なぐさみにArduinoで遊んでいます。今回のテーマはArduinoでdelay関数を実行する時の消費電流を減らす方法です。 ArduinoをUNOの状態で動かす場合、USBからの電力を使うので消費電流はあまり気にならないです。しかし、CPUチップを外して、CPUの単独動作を行う場合は出来るだけ消費電流を減らしたいところです。 消費電流を減らすにはクロックと電圧を下げるのが王道です。でもプログラムのタイミングなどの問題が出てくるし、そもそもArduino UNOでそういう状態は簡単には作れないのでデバッグが厄介になります。 ということでプログラムで簡単に出来る対策として、delayを実行する時にCPUをスリープ状態に入れることで消費電流を減らしてみました。 ▼CPUの消費電流測定用ゲタを使う 以前作った物ですが、これを使ってCPUの電源電流

    Arduinoでdelay関数を実行時の消費電流を減らす
  • 消費電流が激減! delayWDT関数を作ってみた

    引き続きArduinoの話題です。 前回の記事ではdelay関数を動かす時に SLEEP_MODE_IDLE に入れて消費電流を減らしました。これは手軽に出来るのですが、消費電力が半分になる程度の効果しかありません。 そこで、思いっきり深いスリープである SLEEP_MODE_PWR_DOWN に入れて、消費電流を減らしてみます。 ▼測定の様子 CPUの消費電流を直列に入れた1Ωのシャント抵抗で測定します。 こうやってCPUの消費電流を正確に測定できるようにしてプログラムを仕上げていきます。元のプログラムは、電池で動くアナログ気圧計を作った時のもので、これを整理して delayWDT という関数に仕上げました。 完成した、delayWDTの動作確認デモ用のスケッチ ← 新版(バグ修正済み) このプログラムの中の delayWDT( ) という関数を呼ぶことで SLEEP_MODE_PWR_

    消費電流が激減! delayWDT関数を作ってみた
  • Arduinoで大気圧センサMPL115A2の値を読む

    Arduinoでデーターロガーを作ってみたくなったのであれこれやってます。 まずは気圧センサー ▼MPL115A2 秋月で400円で売ってるこれ。インターフェイスはI2C。 やってみると何だかバラツキが大きい。 ▼気圧測定結果 1秒間隔で10分間の測定結果。縦軸はヘクトパスカル(hPa)。うちの部屋の標高は約100mくらいなので絶対値は合ってる感じですが、何しろバラツキが大きい。ただ、分布に変なクセは無く正規分布になっているっぽい。 そこで、100回測定してアベレージング。測定値をEEPROMの定数で補正して海面気圧らしきものを表示するするように改竄。 測定スケッチはこちら(拡張子がTXTになってます)まだ清書前の汚いソースです。 I2Cからのデータ読み込みのルーチンは GarretLabさんの、このページを使わさせていただきました。ありがとうございます。 ▼何とかなったか? とりあえず最

    Arduinoで大気圧センサMPL115A2の値を読む
  • 1