【Raspberry Pi Pico w】MicroPython SPIテスト:MCP3002(ADコンバータ)
ESP32でやった内容をMicroPythonでやってみました。
RaspberryPI Pico W | MCP3002 |
SPI通信のGPIOピン | |
・SCK:18 | CLK |
・MISO:16 | Dout |
・MOSI:19 | Din |
・CS:17 | CS/SHDN |
・3.3V(OUT) | VDD |
・GND | VSS |
〜 from machine import SPI, Pin import time Read_buf=bytearray(2) Write_buf=bytearray(2) # # SPIの設定 # spi = SPI( 0, baudrate = 100000, sck = Pin(18), mosi = Pin(19), miso = Pin(16)) # # チップセレクト(スレーブセレクト)用の出力ピンを設定。 cs = Pin(17, mode=Pin.OUT, value=1) while True: cs(0)# ペリフェラルを選択 Write_buf[0]=0x68 Write_buf[1]=0x00 spi.write_readinto(Write_buf,Read_buf) cs(1)#ペリフェラルを選択解除。 # 上位ビットと下位ビットを連結し、10ビット分取り出す ulCh0 = (( Read_buf[0] << 8 ) + Read_buf[1] ) & 0x03ff value = ulCh0 * 3.3/1023.0 print(value,"v") time.sleep(1) 〜
【実行結果】
上記サイトを見て、SPI通信の使い方を参考にしました。
感想:pythonは型の指定などがないので、バイナリ使う時は、不便な感じですね。