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

ラズパイによる温度計測

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.

 ラズパイによる温度計測

Avatar for miyasapi2

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インターフェイス