Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Arduinoで温度を測るところまで
@rarere
注意
● 初心者向けです
● 発表者もわりと素人です。
● 知ってる人には眠いたいと思います。
● 比較的真面目なのでたぶん面白くはないです。
目次的な
● 自己紹介
● Arduino
● 今日やること
● やる
自己紹介
● 名前
– られれ
● 仕事場
– 株式会社インフィニットループ
● 今年の目標
– CGI.pm ヌクサギョウ('A`)
…仕事場の紹介しようと思ったけど
ここでたくさん聞けると思うので省略
一部だけ紹介
本編
Arduino?
Arduino
● 初心者にも簡単に扱えるマイコンボード
● AVRマイコンを基盤にのっけたハードウェアと
独自の開発環境を合わせたシステム
● 入出力が簡単にできるように設計されてる基盤
● Arduino互換のボード(基盤)や拡張ボードが売...
Arudino(ボード)
画像:http://www.arduino.cc/
Arduino(開発環境)
Arduino(Leonardo)のスペック的な
● マイコン ATmega32u4
● 5Vで動く
● デジタルI/O 20、PWMチャンネル 7、アナログ入力 12
● Flash Memory 32KB、SRAM 2.5KB、EEPROM...
Arduinoでできること(一部)
● LED光らせる
● センサーからデータ入力
● デジタル信号のON,OFF出力
● モーターとか動かす
● 音を鳴らす
● ディスプレイに出力
● シリアルコンソールで入出力
これを使って
● LED光らせる
● センサーから入力
● デジタル信号のON,OFF出力
● モーターとか動かす
● 音を鳴らす
● ディスプレイに出力
● シリアルコンソールで入出力
温度測る
↑
数字はArduinoから取得
グラフ表示はFreeBSDでrrdtool(cacti)
これをするために何が必要?
これをするために何が必要?
● 温度測る部分(Arduino)
● 計った温度ををグラフ表示部にコピーする部分
(ArduinoとPCで通信)
● グラフ表示する部分(PC)
ブロック図的なもの
温度測る データをコピー グラフ表示
ブロック図的なもの
温度測る データをコピー グラフ表示
Arduino
シリアル通信
(USB)
PC
分けて書いたけど全部一緒に作るよ!
Arduino側
Arduinoで温度測る
● 何を使うのか
● どう使うか
● 材料そろえる
● 組み立てる
● コード書く
● 書き込む
● 計る
「何を使うか」の下地
何を使う?
● 温度を測る
– 温度センサー
– Arduino側でA/D入力
● グラフ表示部分(PC)へのデータのコピー
– PCとの通信になる
– ArduinoとPCとでシリアル通信
何を使う?
● 温度を測る
– 温度センサー
– Arduino側でA/D入力
● グラフ表示部分(PC)へのデータのコピー
– PCとの通信になる
– ArduinoとPCとでシリアル通信
何を使う?
● 温度を測る
– 温度センサー
– Arduino側でA/D入力
● グラフ表示部分(PC)へのデータのコピー
– PCとの通信になる
– ArduinoとPCとでシリアル通信
温度センサー
センサー?
● センサまたはセンサー(英: sensor)は、自然現
象や人工物の機械的・電磁気的・熱的・音響
的・化学的性質あるいはそれらで示される空間
情報・時間情報を、何らかの科学的原理を応用
して、人間や機械が扱い易い別媒体の信号に置
...
センサーの種類
● 温度センサー
● 湿度センサー
● 照度センサー
● 圧力センサー
● 毒ガスセンサー
● 加速度センサー
● 他いろいろ
センサーの種類
● 温度センサー
● 湿度センサー
● 照度センサー
● 圧力センサー
● 毒ガスセンサー
● 加速度センサー
● 他いろいろ
温度センサー
● 温度変化を電圧変化で教えてくれるセンサー
● IC型とか可変抵抗型とかほかいろいろ
● IC型
– 有名なの:LM35
– 温度取得が楽
● 可変抵抗型
– サーミスターという名前
– 抵抗値と、それに対応する温度の表があるの...
温度センサー(IC)
● 温度変化と電圧変化がリニアなので処理が楽
– x℃の変化で0.y Vの電圧変化
● LM35が有名どころ(多分)
画像:秋月電子
サーミスタ
● 温度が変わると抵抗値が変わる抵抗
– 抵抗が変わることで電圧変化を知ることができる
– IC型みたいにリニアな変化じゃない
画像:http://semitec.co.jp/
何を使う?
● 温度を測る
– 温度センサー
– Arduino側でA/D入力
● グラフ表示部分(PC)へのデータのコピー
– PCとの通信になる
– ArduinoとPCとでシリアル通信
A/D入力?
● A:アナログ
● D:デジタル
● アナログデジタルの変換処理ができる入力部分
● アナログー>デジタルにしてマイコンで使いや
すくする回路のついてる入力ピン
● サンプリングと量子化
何を使う?
● 温度を測る
– 温度センサー
– Arduino側でA/D入力
● グラフ表示部分(PC)へのデータのコピー
– PCとの通信になる
– ArduinoとPCとでシリアル通信
シリアル通信?
● シリアル通信(シリアルつうしん、英: Serial
communication)は、電気通信において伝送路
上を一度に1ビットずつ、逐次的にデータを送
ることをいう。
by Wikipedia
● RS-232CとかRS42...
「何を使うか」の下地終わり
Arduinoで温度測る
● 何を使うのか
● どう使うか
● 材料そろえる
● 組み立てる
● コード書く
● 書き込む
● 計る
何を使うのか
● 温度センサーとシリアル通信やる
● 温度センサ
– IC型のやつ使う(とりあえずはじめだし楽をしよう)
● シリアル通信
– ArduinoとPCをUSBケーブルでつなぐだけ!
温度センサ
● 種類があるのでどれを使うか確認しておく
– 形とか測れる温度とかいろいろ違う
● LM35DZ: 0~100℃
● MCP9700: 形はLM35DZと同じ。-40~+125℃
● 温度センサとArduinoを直接接続することは...
用意するものまとめ
● Arduino
● USBケーブル(Arudino買ったら多分ついてる)
● 温度センサー(買えるやつ)
– 北海道だしマイナスも測りたいのでMPC9700で。
● ブレッドボード(適当なの)
● ジャンプワイヤー(10...
Arduinoで温度測る
● 何を使うのか
● どう使うか
● 材料そろえる
● 組み立てる
● コード書く
● 書き込む
● 計る
どう使うか
● 温度センサーとArduinoをどうつなぐか
– 回路図的なものを作っておこう
● 電圧とか電流とか
● 今回は配線だけ。
● 電流は気にしない。
● 電圧は一応気を付けよう。
どうつなぐか
● 回路図
– Arduinoのどのピンを使うのかを確認する。
– ピンと、センサーのどこをどうつなぐのかを確認する。
– 手書きなり適当なソフトウェアなり使う。
– ArduinoならFritzing というソフトウェア使うと比...
回路図と配線
Fritzingを使ってみた
パーツにLM35を選んでやってみた例
Arduinoで温度測る
● 何を使うのか
● どう使うか
● 材料そろえる
● 組み立てる
● コード書く
● 書き込む
● 計る
部材を用意する
部材の用意
● 店舗で
– 札幌なら梅沢無線へGo!!
● 通販で
– 秋月電子、ストロベリーリナックス、RSオンライ
ン、マルツオンライン、他いろいろ
梅沢無線
● 狸小路の端っこ
● http://www.umezawa.co.jp/
● オンラインショップもある
画像:梅沢無線のサイトから
購入
● Arduinoは持ってるのでそれ以外を購入してみ
た 部材 価格(円)
MCP9700A-E/TO 129
ブレッドボード 466
ジャンプワイヤー 534
合計 1,129
北海道価格!
Arduinoで温度測る
● 何を使うのか
● どう使うか
● 材料そろえる
● 組み立てる
● コード書く
● 書き込む
● 計る
組立
● 回路図と同じようにやる
● パーツのマニュアルのピンアサインに注意。
配線したところ
ICのむきに気を付けましょう
Arduinoで温度測る
● 何を使うのか
● どう使うか
● 材料そろえる
● 組み立てる
● コード書く
● 書き込む
● 計る
ArduinoのIDEをダウンロードして
コード書くまで
● Arduinoでぐぐるなりして公式サイト行く
● Downloadタブをクリック
● 使ってるOSに合わせたものをダウンロード(140MB
ぐらい)
● 展開 or インストール
●...
IDEを起動して持ってるボードを設
定
簡単なコードを書いてみる
● とりあえずA/D入力して、シリアル通信でPCへ
データを送るだけのもの
● 電圧から温度へ変換するのはとりあえず後で
● サンプルコードにあったりする
● デモ
なんか出てきた
● 数字が表示されてた
→電圧
● センサーに触ってると数字が変わった
→温度が変わったので電圧も変化
● でも何℃なのかわかんない
● ということで計算して行きます
Arduinoで温度測る
● 何を使うのか
● どう使うか
● 材料そろえる
● 組み立てる
● コード書く
● 書き込む
● 計る
数字を電圧に
● アナログの電圧値を量子化・サンプリングした
値がさっきの数値。
● それを電圧に変換する計算をする必要がある。
● 計算するのに必要なもの
– A/D入力のリファレンス電圧
– A/D入力の分解能
電圧計算
● Arduino Leonardoの場合
– リファレンス電圧は5V
– 分解能は10bit = 1024分割
● 0~5Vを1024分割した値がさっき出ていた数値
– 0Vの時は0、5Vの時は1023、2.5Vの時は511
– 1...
温度計算
● MCP9700の温度計数は10mV/℃
(1℃変わると1mV変わる)
● 0℃の時は500mV
● 入力値が750mVの時は25℃になる
● 計算式
温度 = (mV – 500mV) / 10mV
● 参考
http://arm...
温度計れた!
でも実はずれてます!
ずれの理由
● センサーの個体差
● 100%リニアになってるわけじゃない(データ
シートにも書いてある)
ずれの修正
● 温度計とか、他の正しい温度センサーとかと見
比べて修正する(GO RI O SHI)☆ ☆ ☆
● 温度が合うように、3度高いなら計算式に-3とか
つける。
● 25℃の環境で合わせると、0~70℃の間で、だ
いたい±0.5℃ぐ...
だいたいできた!!
…ような気がする ?
次はグラフ表示させるPC側
PC側
● シリアル通信で受信する
● 受信したデータをグラフ表示
受信
● シリアル通信で適当に受け取る何かを作る
グラフの表示
● 適当なGUIなプログラムを書く
● rrdtoolsとかの数字をグラフにするものを使う
作ってみたviewer的なもの
GUIなやつデモ
眺めてるとなんかカクカクしてるような気がする
入力が1変わるだけで結構変わる
145, 708.01mV, 20.80C
146, 712.89mV, 21.29C
約0.49℃
滑らかにしてみよう!
滑らかにする手段
● 平均値をとる
– 10回測定して最大値と最小値捨てて8で割る的なやつ
● LPF(ローパスフィルタ)を使う
– センサー自体はリニアに電圧が変化してるけど、
– A/D変換された際に入力値が約4.9mVごとの変化に
なって...
ローパスフィルタ?
● 本来は、高周波成分(ノイズ)を除去するもの
● 副作用として、滑らかな変化を取得することができる
● 「加速度センサ LPF」とかでググるとわかりやすい
(http://android.ohwada.jp/archive...
LPF使った例
滑らかになった!
Arduinoで温度計って
グラフ表示、というのができました。
おわり
Osc hokkaido2015 arduinoで温度を測るところまで
Upcoming SlideShare
Loading in …5
×

Osc hokkaido2015 arduinoで温度を測るところまで

1,453 views

Published on

OSC北海道2015での発表資料

Published in: Technology
  • Be the first to comment

Osc hokkaido2015 arduinoで温度を測るところまで

  1. 1. Arduinoで温度を測るところまで @rarere
  2. 2. 注意 ● 初心者向けです ● 発表者もわりと素人です。 ● 知ってる人には眠いたいと思います。 ● 比較的真面目なのでたぶん面白くはないです。
  3. 3. 目次的な ● 自己紹介 ● Arduino ● 今日やること ● やる
  4. 4. 自己紹介 ● 名前 – られれ ● 仕事場 – 株式会社インフィニットループ ● 今年の目標 – CGI.pm ヌクサギョウ('A`)
  5. 5. …仕事場の紹介しようと思ったけど ここでたくさん聞けると思うので省略
  6. 6. 一部だけ紹介
  7. 7. 本編
  8. 8. Arduino?
  9. 9. Arduino ● 初心者にも簡単に扱えるマイコンボード ● AVRマイコンを基盤にのっけたハードウェアと 独自の開発環境を合わせたシステム ● 入出力が簡単にできるように設計されてる基盤 ● Arduino互換のボード(基盤)や拡張ボードが売ら れてたりしてデファクトスタンダードっぽい感 じ。 ● 開発環境はCとかC++風の独自言語
  10. 10. Arudino(ボード) 画像:http://www.arduino.cc/
  11. 11. Arduino(開発環境)
  12. 12. Arduino(Leonardo)のスペック的な ● マイコン ATmega32u4 ● 5Vで動く ● デジタルI/O 20、PWMチャンネル 7、アナログ入力 12 ● Flash Memory 32KB、SRAM 2.5KB、EEPROM 1KB ● クロック周波数: 16MHz ● 価格 2,910円(税込) 秋月電子の通販(2015/6/7) スペック http://www.arduino.cc/en/Main/ArduinoBoardLeonardo
  13. 13. Arduinoでできること(一部) ● LED光らせる ● センサーからデータ入力 ● デジタル信号のON,OFF出力 ● モーターとか動かす ● 音を鳴らす ● ディスプレイに出力 ● シリアルコンソールで入出力
  14. 14. これを使って ● LED光らせる ● センサーから入力 ● デジタル信号のON,OFF出力 ● モーターとか動かす ● 音を鳴らす ● ディスプレイに出力 ● シリアルコンソールで入出力
  15. 15. 温度測る ↑ 数字はArduinoから取得 グラフ表示はFreeBSDでrrdtool(cacti)
  16. 16. これをするために何が必要?
  17. 17. これをするために何が必要? ● 温度測る部分(Arduino) ● 計った温度ををグラフ表示部にコピーする部分 (ArduinoとPCで通信) ● グラフ表示する部分(PC)
  18. 18. ブロック図的なもの 温度測る データをコピー グラフ表示
  19. 19. ブロック図的なもの 温度測る データをコピー グラフ表示 Arduino シリアル通信 (USB) PC
  20. 20. 分けて書いたけど全部一緒に作るよ!
  21. 21. Arduino側
  22. 22. Arduinoで温度測る ● 何を使うのか ● どう使うか ● 材料そろえる ● 組み立てる ● コード書く ● 書き込む ● 計る
  23. 23. 「何を使うか」の下地
  24. 24. 何を使う? ● 温度を測る – 温度センサー – Arduino側でA/D入力 ● グラフ表示部分(PC)へのデータのコピー – PCとの通信になる – ArduinoとPCとでシリアル通信
  25. 25. 何を使う? ● 温度を測る – 温度センサー – Arduino側でA/D入力 ● グラフ表示部分(PC)へのデータのコピー – PCとの通信になる – ArduinoとPCとでシリアル通信
  26. 26. 何を使う? ● 温度を測る – 温度センサー – Arduino側でA/D入力 ● グラフ表示部分(PC)へのデータのコピー – PCとの通信になる – ArduinoとPCとでシリアル通信
  27. 27. 温度センサー
  28. 28. センサー? ● センサまたはセンサー(英: sensor)は、自然現 象や人工物の機械的・電磁気的・熱的・音響 的・化学的性質あるいはそれらで示される空間 情報・時間情報を、何らかの科学的原理を応用 して、人間や機械が扱い易い別媒体の信号に置 き換える装置のことをいい、センサを利用した 計測・判別を行うことを「センシング」とい う。検知器(英: detector)とも呼ばれる。 by wikipedia http://ja.wikipedia.org/wiki/%E3%82%BB %E3%83%B3%E3%82%B5
  29. 29. センサーの種類 ● 温度センサー ● 湿度センサー ● 照度センサー ● 圧力センサー ● 毒ガスセンサー ● 加速度センサー ● 他いろいろ
  30. 30. センサーの種類 ● 温度センサー ● 湿度センサー ● 照度センサー ● 圧力センサー ● 毒ガスセンサー ● 加速度センサー ● 他いろいろ
  31. 31. 温度センサー ● 温度変化を電圧変化で教えてくれるセンサー ● IC型とか可変抵抗型とかほかいろいろ ● IC型 – 有名なの:LM35 – 温度取得が楽 ● 可変抵抗型 – サーミスターという名前 – 抵抗値と、それに対応する温度の表があるので見比 べる必要がある。
  32. 32. 温度センサー(IC) ● 温度変化と電圧変化がリニアなので処理が楽 – x℃の変化で0.y Vの電圧変化 ● LM35が有名どころ(多分) 画像:秋月電子
  33. 33. サーミスタ ● 温度が変わると抵抗値が変わる抵抗 – 抵抗が変わることで電圧変化を知ることができる – IC型みたいにリニアな変化じゃない 画像:http://semitec.co.jp/
  34. 34. 何を使う? ● 温度を測る – 温度センサー – Arduino側でA/D入力 ● グラフ表示部分(PC)へのデータのコピー – PCとの通信になる – ArduinoとPCとでシリアル通信
  35. 35. A/D入力? ● A:アナログ ● D:デジタル ● アナログデジタルの変換処理ができる入力部分 ● アナログー>デジタルにしてマイコンで使いや すくする回路のついてる入力ピン ● サンプリングと量子化
  36. 36. 何を使う? ● 温度を測る – 温度センサー – Arduino側でA/D入力 ● グラフ表示部分(PC)へのデータのコピー – PCとの通信になる – ArduinoとPCとでシリアル通信
  37. 37. シリアル通信? ● シリアル通信(シリアルつうしん、英: Serial communication)は、電気通信において伝送路 上を一度に1ビットずつ、逐次的にデータを送 ることをいう。 by Wikipedia ● RS-232CとかRS422とかRS485とか ● ArduinoはUSBケーブル経由でPCとシリアル通 信する
  38. 38. 「何を使うか」の下地終わり
  39. 39. Arduinoで温度測る ● 何を使うのか ● どう使うか ● 材料そろえる ● 組み立てる ● コード書く ● 書き込む ● 計る
  40. 40. 何を使うのか ● 温度センサーとシリアル通信やる ● 温度センサ – IC型のやつ使う(とりあえずはじめだし楽をしよう) ● シリアル通信 – ArduinoとPCをUSBケーブルでつなぐだけ!
  41. 41. 温度センサ ● 種類があるのでどれを使うか確認しておく – 形とか測れる温度とかいろいろ違う ● LM35DZ: 0~100℃ ● MCP9700: 形はLM35DZと同じ。-40~+125℃ ● 温度センサとArduinoを直接接続することはか なり無理があるので、やりやすいようにボード とかケーブルを用意する。 – ブレッドボードとジャンプワイヤー
  42. 42. 用意するものまとめ ● Arduino ● USBケーブル(Arudino買ったら多分ついてる) ● 温度センサー(買えるやつ) – 北海道だしマイナスも測りたいのでMPC9700で。 ● ブレッドボード(適当なの) ● ジャンプワイヤー(10㎝以上あれば楽)
  43. 43. Arduinoで温度測る ● 何を使うのか ● どう使うか ● 材料そろえる ● 組み立てる ● コード書く ● 書き込む ● 計る
  44. 44. どう使うか ● 温度センサーとArduinoをどうつなぐか – 回路図的なものを作っておこう ● 電圧とか電流とか ● 今回は配線だけ。 ● 電流は気にしない。 ● 電圧は一応気を付けよう。
  45. 45. どうつなぐか ● 回路図 – Arduinoのどのピンを使うのかを確認する。 – ピンと、センサーのどこをどうつなぐのかを確認する。 – 手書きなり適当なソフトウェアなり使う。 – ArduinoならFritzing というソフトウェア使うと比較的簡単 ● つなぎ方 – ICの電源用に、Arduinoの5VとICのVsとかVDDとか(電源) – ICのグランド用に、ArduinoのGNDとICのGND(グランド) – ICからの出力用に、ArduinoのA/D入力ピンとICのVout(温度が 分かるところ) ● Ardino側にいくつかあるけどとりえずA0
  46. 46. 回路図と配線 Fritzingを使ってみた パーツにLM35を選んでやってみた例
  47. 47. Arduinoで温度測る ● 何を使うのか ● どう使うか ● 材料そろえる ● 組み立てる ● コード書く ● 書き込む ● 計る
  48. 48. 部材を用意する
  49. 49. 部材の用意 ● 店舗で – 札幌なら梅沢無線へGo!! ● 通販で – 秋月電子、ストロベリーリナックス、RSオンライ ン、マルツオンライン、他いろいろ
  50. 50. 梅沢無線 ● 狸小路の端っこ ● http://www.umezawa.co.jp/ ● オンラインショップもある 画像:梅沢無線のサイトから
  51. 51. 購入 ● Arduinoは持ってるのでそれ以外を購入してみ た 部材 価格(円) MCP9700A-E/TO 129 ブレッドボード 466 ジャンプワイヤー 534 合計 1,129 北海道価格!
  52. 52. Arduinoで温度測る ● 何を使うのか ● どう使うか ● 材料そろえる ● 組み立てる ● コード書く ● 書き込む ● 計る
  53. 53. 組立 ● 回路図と同じようにやる ● パーツのマニュアルのピンアサインに注意。
  54. 54. 配線したところ ICのむきに気を付けましょう
  55. 55. Arduinoで温度測る ● 何を使うのか ● どう使うか ● 材料そろえる ● 組み立てる ● コード書く ● 書き込む ● 計る
  56. 56. ArduinoのIDEをダウンロードして コード書くまで ● Arduinoでぐぐるなりして公式サイト行く ● Downloadタブをクリック ● 使ってるOSに合わせたものをダウンロード(140MB ぐらい) ● 展開 or インストール ● 起動 ● ボードの設定 ● コード書き
  57. 57. IDEを起動して持ってるボードを設 定
  58. 58. 簡単なコードを書いてみる ● とりあえずA/D入力して、シリアル通信でPCへ データを送るだけのもの ● 電圧から温度へ変換するのはとりあえず後で ● サンプルコードにあったりする ● デモ
  59. 59. なんか出てきた ● 数字が表示されてた →電圧 ● センサーに触ってると数字が変わった →温度が変わったので電圧も変化 ● でも何℃なのかわかんない ● ということで計算して行きます
  60. 60. Arduinoで温度測る ● 何を使うのか ● どう使うか ● 材料そろえる ● 組み立てる ● コード書く ● 書き込む ● 計る
  61. 61. 数字を電圧に ● アナログの電圧値を量子化・サンプリングした 値がさっきの数値。 ● それを電圧に変換する計算をする必要がある。 ● 計算するのに必要なもの – A/D入力のリファレンス電圧 – A/D入力の分解能
  62. 62. 電圧計算 ● Arduino Leonardoの場合 – リファレンス電圧は5V – 分解能は10bit = 1024分割 ● 0~5Vを1024分割した値がさっき出ていた数値 – 0Vの時は0、5Vの時は1023、2.5Vの時は511 – 1変わると4.8828125mVぐらい変わる ● 数式 – 「入力値 * 5V / 1024」で、元の電圧値になる。 – mVだったりするので注意(入力値 * 5000mV / 1024) ● デモ
  63. 63. 温度計算 ● MCP9700の温度計数は10mV/℃ (1℃変わると1mV変わる) ● 0℃の時は500mV ● 入力値が750mVの時は25℃になる ● 計算式 温度 = (mV – 500mV) / 10mV ● 参考 http://arms22.blog91.fc2.com/blog-entry-415.html ● デモ
  64. 64. 温度計れた!
  65. 65. でも実はずれてます!
  66. 66. ずれの理由 ● センサーの個体差 ● 100%リニアになってるわけじゃない(データ シートにも書いてある)
  67. 67. ずれの修正 ● 温度計とか、他の正しい温度センサーとかと見 比べて修正する(GO RI O SHI)☆ ☆ ☆ ● 温度が合うように、3度高いなら計算式に-3とか つける。 ● 25℃の環境で合わせると、0~70℃の間で、だ いたい±0.5℃ぐらいの精度になる。 ● デモ
  68. 68. だいたいできた!! …ような気がする ?
  69. 69. 次はグラフ表示させるPC側
  70. 70. PC側 ● シリアル通信で受信する ● 受信したデータをグラフ表示
  71. 71. 受信 ● シリアル通信で適当に受け取る何かを作る
  72. 72. グラフの表示 ● 適当なGUIなプログラムを書く ● rrdtoolsとかの数字をグラフにするものを使う
  73. 73. 作ってみたviewer的なもの
  74. 74. GUIなやつデモ
  75. 75. 眺めてるとなんかカクカクしてるような気がする
  76. 76. 入力が1変わるだけで結構変わる 145, 708.01mV, 20.80C 146, 712.89mV, 21.29C 約0.49℃
  77. 77. 滑らかにしてみよう!
  78. 78. 滑らかにする手段 ● 平均値をとる – 10回測定して最大値と最小値捨てて8で割る的なやつ ● LPF(ローパスフィルタ)を使う – センサー自体はリニアに電圧が変化してるけど、 – A/D変換された際に入力値が約4.9mVごとの変化に なってる。 – そのため、温度もそれに合わせて変わってしまうこと が原因 – A/D変換部分はどうしようもないので、入力後にソフ トウェア側でフィルタにかける。 – Arduino側でもPC側でもお好きなところへ
  79. 79. ローパスフィルタ? ● 本来は、高周波成分(ノイズ)を除去するもの ● 副作用として、滑らかな変化を取得することができる ● 「加速度センサ LPF」とかでググるとわかりやすい (http://android.ohwada.jp/archives/334) ● ここで紹介してる計算式を使ってみる 計算値 = (0.9 * ひとつ前の値) + (0.1 * 今の値) ● デモ
  80. 80. LPF使った例
  81. 81. 滑らかになった!
  82. 82. Arduinoで温度計って グラフ表示、というのができました。
  83. 83. おわり

×