Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ラズパイによる温度計測

 ラズパイによる温度計測

miyasapi2

March 20, 2018
Tweet

More Decks by miyasapi2

Other Decks in Technology

Transcript

  1. Confidential はんなり Python 初めに  自己紹介 – 半導体製造装置メーカにウン十年勤務 – 電気関連のエンジニア

    – デジタルハード設計(CPU基板と周辺) – 8085 8ビットCPU 64Kのメモリ空間 – 半導体製造装置の電気関連設計 – サーボモータ、VMEボードの世界 – 生産中止品の代替品の評価 – 結構めんどくさい。 2
  2. Confidential はんなり Python  発表動機 – 自分でデータを取り込むのもいいのかな。そうだ温度だ。  RaspberryPi(Python)との出会い –

    ある夏の日、部屋が暑い。対策のため温度を測ろう。 – WebにRaspberryPiの記事があった。 Pythonでのプログラミングをしているうちに「はまって」しまった。 – 趣味で始まったが、RaspberryPiを使って「冶具」を作成することを 提案。予算を獲得して、 「冶具」を作成した。 3
  3. Confidential はんなり Python Appendix 4  Raspberry PI 3 –

    英国でPython言語教育用に開発されたプロセッサー基板です。 – ハードスペック – ARMプロセッサー搭載、マイクロSDカード(16Gバイト程度) – インターフェイス – USB 4ch、HMDI 1ch – 有線LAN 1ch、WiFi、BlueTooth – 40pin コネクタ 外部とのインターフェース – シリアル 1ch、I2、SPI、数ビットパラレルI/O – OS(Linux)基本的ソフト無料 – Raspbian – Ubuntu MATE – 価格 6000円程度、基板
  4. Confidential はんなり Python RaspberryPi3を使って気温を計測しよう。  温度計測システムの構成 – ブロック図 5 温度センサー基板

    Raspberry PI 3 基板 I2Cインターフェイス キーボード マウス モニター 温度センサー基板 Raspberry PI 3 基板
  5. Confidential はんなり Python 温度センサーとの接続  温度センサー基板とI2Cインターフェイス 温度センサー基板 Bosh製 BME280 温度IC搭載

    気圧、温度、湿度計測 I2Cインターフェイスでコントローラと接続  I2C(inter-Integrated Ciruit)とは フィリップ社が提唱した周辺デバイスとのシリアル通信方式 アドレスは128指定でき、1バイトのデータ幅を持つ SCL、SDAの2つの信号を使用 6
  6. Confidential はんなり Python ソフト開発環境  ソフト作成 – 制御ソフト: Python 2.73

    – (Python3.6のほうが良かったが…) – GUI作成 :PyQt4  使用ライブラリー – I2Cインンターフェイス:smbus – 数値:pandas – numpy – グラフ作成:Matplotlib – マルチスレッド – 温度計測を自由にスタート、ストップするために使用 7
  7. Confidential はんなり Python GUI作成  Qt Designer – GUIを作成するために使用 –

    UIファイルが出力され、pyuic4変換ソフトで.pyに変更 8
  8. Confidential はんなり Python ソフト作成環境  マルチプラットホーム – Windows上でソフトを作成 WinPyとQt Designerを使って、温度センサーとのIF以外の

    ソフト作成してデバッグする。 WindowsからRaspberryi3への相互転送 WinSCPを使って、RaspberryPi3に転送ずる。 9
  9. Confidential はんなり Python  RaspberryPiの外部との接続 – シリアル – import serial

    – con = serial.Serial('/dev/ttyUSB0',38400,bytesize=7) – moji=con.read(23) – パラレル – import RPi.GPIO as GPIO – PIN = 12 SW=17 – GPIO.setmode(GPIO.BOARD) – GPIO.setup(PIN,GPIO.OUT) – GPIO.output(PIN,True) – GPIO.input(SW) – RaspberryPiの外部との接続 – オーディオ ハイレゾ(構造が簡単なため。) – ファイルサーバー – AIスピーカー – その他、電子工作用
  10. Confidential はんなり Python 冶具の拡張  パラレルI/Oチェック冶具 プロトタイプ – 概略仕様 

    入力 16ビット 出力16ビット フォトカプラーでアイソレーション – 既存の基板に20Mhzクロックドライバーを追加した。フォトカプラーでアイソレー ションされた入力 16ビット 出力16ビットポートを流用した。 – RaspberyPI3基板とは、I2Cインターフェイスで接続し、CPLDはI2Cインタ ーフェイスに書き換えています。(VHDL) – RaspberyPI3の画面より出力16ビットを設定、入力 16ビットを読 み出します。 12 Raspberry PI 3 Board I2Cインターフェイス