ADコンバータ

概要

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

ページトップへ