Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
センサーをPCにつなげてpythonソフトで生データを取り込む
Search
miyasapi2
February 09, 2020
1
810
センサーをPCにつなげてpythonソフトで生データを取り込む
miyasapi2
February 09, 2020
Tweet
Share
More Decks by miyasapi2
See All by miyasapi2
ラズパイによる温度計測
satoshi2
0
420
Featured
See All Featured
Lightning Talk: Beautiful Slides for Beginners
inesmontani
PRO
1
440
Google's AI Overviews - The New Search
badams
0
910
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
0
1.1k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.6k
Visualization
eitanlees
150
17k
Statistics for Hackers
jakevdp
799
230k
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
96
[SF Ruby Conf 2025] Rails X
palkan
1
760
Amusing Abliteration
ianozsvald
0
100
How to Think Like a Performance Engineer
csswizardry
28
2.5k
How GitHub (no longer) Works
holman
316
140k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Transcript
ノートPCとセンサーをつないで! Iotの周辺にて test_designer.ui @s_miya
お気軽に計測したい。 • ラズパイとセンサー基板をつなげれば、色々 なデータが取れるが! • キーボード,マウス,モニター,電源準備が面倒 • 外へは担いで持って行けない。
センサーとノートPCをつなげる。 • でも、PCとセンサーをつなげて動かしたい。 – ノートPCはUSBポートしかない。どうしよう。
ノートPCに中継基板 • あった!MCP2221AというIC – I2C、ADC,DAC、GPIOインターフェイスをサポート • 中継基板(I2C用)を作って、ノートPCにつなげ る。 210円
インターフェイス基板を制作 • 構成 – ノートPCのUSBにIF基板を接続。 IF基板 ノートPC センサー 5V、GND、 SCL、SDA(I2Cインターフェイス)
4本の線をつなげるだけ。
市販基板もあります。 • 部品をはんだ付けして基板を作るの嫌な人。 • マルツで売ってます。 – https://www.marutsu.co.jp/pc/i/1360420/ – 1500円
I2Cインターフェイス • I2C(inter-Integrated Ciruit)とは フィリップ社が提唱した周辺デバイスとのシリアル通信方式 アドレスは128指定でき、1バイトのデータ幅を持つ。 SCL、SDAの2つの信号を使用 I2Cインターフェイスのセンサーは多い。
ライブラリーのインストール • Windows環境では、MCP2221A基板用の pythonライブラリーがある。 • 下記のgithubを参照 https://github.com/nonNoise/PyMCP2221A/blob/master/READ ME_JP.rst pip install
PyMCP2221A
開発環境、プログラミング • I2Cインターフェイスライブラリ宣言 – この4行を入れるだけ。 • from PyMCP2221A import PyMCP2221A
• mcp2221 = PyMCP2221A.PyMCP2221A() • from PyMCP2221A import SMBus • bus = SMBus.SMBus() – 参考:ラズパイのライブラリー • import smbus • bus_number = 1 • bus = smbus.SMBus(bus_number)
I2Cの入出力 • 入出力(ラズパイも同じ。) – 入力 adrs=0x70 x1= bus.read_byte _data(adrs、0) –
出力 adrs=0x48,y1=0x55 bus.write_byte_data(adrs,0x00,y1)
開発 • 開発環境 – Jupite Note,SPIder,Pycharm何でも。 • ラズパイでも実行可能 – I2Cインターフェイスライブラリ宣言のみ変更
• おまけ – Windows環境では、Batファイルで実行可能
いろいろなセンサー基板、機構 • 数百円から数千円程度で買える。 – はんだ付けは不要。(付属ピン 数本のみ)