概要
SPI通信するADコンバータ、MCP3008を使う。
外観
部品
10bit 8ch ADコンバータ MCP3008-I/P ¥240
https://akizukidenshi.com/catalog/g/gI-09485/
配線
ATOMの割り振り
- SCK:G22
- MOSI:G23,
- MISO:G19
- CS:G21
配線
MCP3008 : ATOM
VDD -------3V3
VREF-------3V3
VGND-------GND
CLK--------G22
DOUT-------G19
DIN--------G23
CS---------G21
DGND-------GND
MCP3008のピン配列
プログラム(MicroPython)
class MCP3008:
def __init__(self, spi, cs):
self.cs = cs
self.cs.value(1) # ncs on
self._spi = spi
self._out_buf = bytearray(3)
self._out_buf[0] = 0x01
self._in_buf = bytearray(3)
def read(self, pin):
self.cs.value(0) # select
self._out_buf[1] = 1 | (pin << 4)
self._spi.write_readinto(self._out_buf, self._in_buf)
self.cs.value(1) # turn off
return ((self._in_buf[1] & 0x03) << 8) | self._in_buf[2]
from machine import Pin, SoftSPI
from time import sleep
spi = SoftSPI(baudrate=100000, polarity=1, phase=0, sck=Pin(22), mosi=Pin(23), miso=Pin(19))
cs=Pin(21, Pin.OUT)
cs.value(1)
adc=MCP3008(spi,cs)
while(True):
print(adc.read(0)/1024*3.3)
sleep(1)
詳細
ATOM Lite:MicroPythonでMCP3008(ADC)を使う
https://tiblab.net/blog/2022/06/use_mcp3008_with_atom-lite/
参照サイト
Raspberry Pi Pico project 2 – MCP3008
http://blog.rareschool.com/2021/02/raspberry-pi-pico-project-2-mcp3008.html
ラズパイでADコンバーターMCP3008の使い方・SPI通信
https://101010.fun/iot/raspi-spi.html
ESP32 と MCP3008 で SPI の勉強
https://qiita.com/nanbuwks/items/9a9169a2afbad95ae7ca