Confidential guide on numerology and astrology, based of GG33 Public information

MCP-SPI ADC
MCP3002/4/8, MCP3202/4/8 y MCP3304 SPI analógico a la conversión digital con nodo.js
3 years
Works with Finder
5
Github Watches
10
Github Forks
62
Github Stars
mcp-spi-adc
MCP3002/4/8, MCP3201/2/4/8 and MCP3304 SPI analog to digital conversion with Node.js on Linux boards like the Raspberry Pi or BeagleBone.
mcp-spi-adc supports Node.js versions 10, 12, 14, 15 and 16.
Contents
Installation
npm install mcp-spi-adc
In order to use mcp-spi-adc SPI must be enabled. How SPI is enabled varies from board to board. For example, on the Raspberry Pi the raspi-config tool can be used enable SPI. On the BeagleBone Black the config-pin utility can be used.
Usage
Determine the temperature using a TMP36 analog temperature sensor wired to channel 5 on an MCP3008 SPI A/D converter.

const mcpadc = require('mcp-spi-adc');
const tempSensor = mcpadc.open(5, {speedHz: 20000}, err => {
if (err) throw err;
setInterval(_ => {
tempSensor.read((err, reading) => {
if (err) throw err;
console.log((reading.value * 3.3 - 0.5) * 100);
});
}, 1000);
});
Note how the optional configuration option speedHz is used to configure the SPI clock frequency in Hertz for reading the value from the TMP36 temperature sensor. The default SPI clock frequency for the MCP3008 is 1350000Hz but lowering it to 20000Hz gives a more acurate temperature reading. In general, it's not necessary to lower the clock speed to read a value.
The default clock speed of 1350000Hz for the MCP3008 is derived from the MCP3008 datasheet. The maximum sampling rate at VDD = 2.7V is 75 ksps and each sample requires an 18-bit transfer. 75000 x 18 = 1350000. 1350000Hz is a conservative frequency in the above circuit as VDD is 3.3V.
Supported Devices
Device | Channels | Channel Numbers | Default Clock Frequency | Resolution | Raw Value Range |
---|---|---|---|---|---|
MCP3002 | 2 | 0-1 | 1200000Hz | 10-bit | 0-1023 |
MCP3004 | 4 | 0-3 | 1350000Hz | 10-bit | 0-1023 |
MCP3008 | 8 | 0-7 | 1350000Hz | 10-bit | 0-1023 |
MCP3201 | 1 | 0 | 800000Hz | 12-bit | 0-4095 |
MCP3202 | 2 | 0-1 | 900000Hz | 12-bit | 0-4095 |
MCP3204 | 4 | 0-3 | 1000000Hz | 12-bit | 0-4095 |
MCP3208 | 8 | 0-7 | 1000000Hz | 12-bit | 0-4095 |
MCP3304 | 8 | 0-7 | 1050000Hz | 13-bit | 0-4095 |
API Documentation
All methods are asynchronous and take a completion callback as their last argument. The arguments passed to the completion callback depend on the method, but the first argument is always reserved for an exception. If the operation was completed successfully, then the first argument will be null or undefined.
Functions
- openMcp3002(channel[, options], cb)
- openMcp3004(channel[, options], cb)
- openMcp3008(channel[, options], cb)
- openMcp3201(channel[, options], cb)
- openMcp3202(channel[, options], cb)
- openMcp3204(channel[, options], cb)
- openMcp3208(channel[, options], cb)
- openMcp3304(channel[, options], cb)
- open(channel[, options], cb) - alias for openMcp3008(channel[, options], cb)
Class AdcChannel
openMcp3002(channel[, options], cb)
openMcp3004(channel[, options], cb)
openMcp3008(channel[, options], cb)
openMcp3201(channel[, options], cb)
openMcp3202(channel[, options], cb)
openMcp3204(channel[, options], cb)
openMcp3208(channel[, options], cb)
openMcp3304(channel[, options], cb)
open(channel[, options], cb) - alias for openMcp3008(channel[, options], cb)
- channel - the number of the channel to open, see channel numbers in supported devices
- options - an optional object specifying channel configuration options
- cb - completion callback
Asynchronous open. Returns a new AdcChannel object. The completion callback gets one argument (err). The AdcChannel object returned should not be used before the completion callback is called.
The following channel configuration options are supported:
- busNumber - the SPI bus number, 0 for
/dev/spidev0.n
, 1 for/dev/spidev1.n
, ..., default 0 - deviceNumber - the SPI device number, 0 for
/dev/spidevn.0
, 1 for/dev/spidevn.1
, ..., default 0 - speedHz - a number representing the SPI clock frequency for reading from the channel in Hertz, see default clock frequency in supported devices
adcChannel.read(cb)
- cb - completion callback
Asynchronous read. The completion callback gets two arguments (err, reading). The reading argument is an object with the following properties:
- value - the value read from the channel scaled to a value between 0 and 1
- rawValue - the value read from the channel, see raw value range in supported devices
Returns this.
adcChannel.close(cb)
- cb - completion callback
Asynchronous close. Frees system resources used by this instance. The completion callback gets one argument (err). Returns null.
相关推荐
Converts Figma frames into front-end code for various mobile frameworks.
Advanced software engineer GPT that excels through nailing the basics.
Take an adjectivised noun, and create images making it progressively more adjective!
I find academic articles and books for research and literature reviews.
Embark on a thrilling diplomatic quest across a galaxy on the brink of war. Navigate complex politics and alien cultures to forge peace and avert catastrophe in this immersive interstellar adventure.
Descubra la colección más completa y actualizada de servidores MCP en el mercado. Este repositorio sirve como un centro centralizado, que ofrece un extenso catálogo de servidores MCP de código abierto y propietarios, completos con características, enlaces de documentación y colaboradores.
Manipulación basada en Micrypthon I2C del expansor GPIO de la serie MCP, derivada de AdaFruit_MCP230xx
Servidor MCP para obtener contenido de la página web con el navegador sin cabeza de dramaturgo.
Un poderoso complemento Neovim para administrar servidores MCP (protocolo de contexto del modelo)
Puente entre los servidores Ollama y MCP, lo que permite a LLM locales utilizar herramientas de protocolo de contexto del modelo
Servidores MCP impresionantes: una lista curada de servidores de protocolo de contexto del modelo
La aplicación AI de escritorio todo en uno y Docker con trapo incorporado, agentes de IA, creador de agentes sin código, compatibilidad de MCP y más.
🔥 1Panel proporciona una interfaz web intuitiva y un servidor MCP para administrar sitios web, archivos, contenedores, bases de datos y LLM en un servidor de Linux.
Reviews

user_ZNcEeOOa
I've been using the mcp-spi-adc from fivdi and it has been a game changer for my projects! The integration was seamless and the performance exceeded my expectations. It's evident that a lot of thought and expertise went into this package. Highly recommend it for anyone needing ADC capabilities in their SPI applications! Check it out here: https://github.com/fivdi/mcp-spi-adc