#実現したいこと
MCP23017というADCを使い、SPI通信で、可変抵抗の動きを取得しています。
Raspberry Pi Zero WH
SPI通信にはpigpio
OSCの送信にPython-OSCを使っています。
現在のコードはこうなっています。
Python
1while True: 2 cmnd = (0b00001000 + adch) << 4 3 c, raw = pi.spi_xfer(hndl_spi, [ 1, cmnd, 0 ]) 4 data = ((raw[1] << 8) + raw[2]) & 0x3FF 5 client.send_message("/midi2/pot1", data) 6 time.sleep(0.5)
このコードでは、
ADCから値を取得 ↓ 「data」をOSCでsend_messageして、 ↓ 「time.sleep(0.5)」で待機する ↓ はじめに戻る
となっているのですが、
この状態だと、可変抵抗を回してない時も数値がsend_messageされ続けていて、鬱陶しいです。
while文の条件を「可変抵抗を回してdata・数値が変わった時」にしたら解決できそうですが、具体的な方法が、調べてもわかりません。
良い方法がありましたら、教えて欲しいです。