IC – MCP3008 – A/D Converter 10-bit 8 channel SPI

Hardware

MCP3008

 

 

 

 

BESTELLEN

Een analoog-digitaalomzetter of AD-converter (ADC) zet een analoog signaal, bijvoorbeeld een spraaksignaal, om in een digitaal signaal.
De MCP3008 heeft 8 analoge ingangen en is met een SPI interface uit te lezen op een Arduino, Raspberry Pi, ESP8266

De MCP zet een analoge voltage om in een getal tussen de 0 en 1023 (10 bit)

Pinout

mcp3008 pinout

Arduino

Sluit de IC aan volgens onderstaand overzicht:

Arduino met MCP3008 schema

Arduino pin:MCP3008 pin:
3.3v...5vVDD (pin 16)
3.3v...5vVREF (pin 15)
GNDAGND (pin 14)
GNDDGND (pin 9)
D9CLK (pin 13)
D10Dout (pin 12)
D11Din (pin 11)
D12CS/SHDN (pin 10)

Met onderstaand arduino script kun je de chip uitlezen, met “adc.readADC(0)” lees je een ingang uit (0 = kanaal 1).

Arduino Library

Installatie van Arduino IDE libraries: Arduino info

Informatie (ENG):

MCP3008 is Arduino Library for communicating with MCP3008 Analog to digital converter. Created by Uros Petrevski, Nodesign.net 2013 Released into the public domain.

MCP3008 VDD -> 5V or 3.3V
MCP3008 VREF -> 5V or 3.3V
MCP3008 AGND -> GND
MCP3008 CLK -> arduino gpio
MCP3008 DOUT -> arduino gpio
MCP3008 DIN -> arduino gpio
MCP3008 CS -> arduino gpio
MCP3008 DGND -> GND

Example program


Download @ GitHub.com

Raspberry Pi

Sluit de IC aan zoals aangegeven op onderstaand schema:

Raspberry-Pi-met-MCP3008-schema

Raspberry Pi pin:MCP3008 pin:
3.3v...5vVDD (pin 16)
3.3v...5vVREF (pin 15)
GNDAGND (pin 14)
GNDDGND (pin 9)
SCLKCLK (pin 13)
MISODout (pin 12)
MOSIDin (pin 11)
CSOCS/SHDN (pin 10)

Ps. Altijd de pinout van je Raspberry Pi controleren, deze kan verschillen per versie.

Wat heb je nodig?

1) Python spidev module

Met onderstaand python script kun je de chip uitlezen, met “read_spi(7)” lees je een ingang uit (7 = kanaal 8).

Start het script met:  sudo python mcp3008.py , druk op CTRL+C om het script te stoppen!

Dit is de output in de console:

Bron:
raspberrypi-spy.co.uk

ESP8266

Ps. je hebt daarvoor wel een ESP-12, ESP-12E of ESP-12F module nodig, omdat je 4 GPIO poorten moet benutten voor de MCP3008.

Sluit de IC aan volgens onderstaand schema:

esp8266 esp-12 met MCP3008 schema

ESP8266 pin:MCP3008 pin:USB TTL pin:Power:
3.3vVDD (pin 16)3.3v
3.3vVREF (pin 15)3.3v
GNDAGND (pin 14)GNDGND
GNDDGND (pin 9)GNDGND
GPIO2CLK (pin 13)
GPIO5Dout (pin 12)
GPIO4Din (pin 11)
GPIO14CS/SHDN (pin 10)
TXRX
RXTX

Script (ArduinoIDE)

Wat heb je nodig?
1) ArduinoIDE software
2) ESP8266 ArduinoIDE board/omgeving
3) Arduino MCP3008 bibliotheek

Met onderstaande Arduino code kun je de kanalen uitlezen, hieronder het voorbeeld van kanaal 8:

Afmetingen

GEEN GEGEVENS

Schema

GEEN GEGEVENS

Teardown

GEEN GEGEVENS

Datasheet

Fritzing

Fritzing - MCP3008
MCP3008 8-channel 10-bit ADC

Download @ Github

Downloads

GEEN GEGEVENS