HETPRO, SHADC1115-4CH-V1
$649.00
Puntos de recompensa: 19 puntos
SHADC1115-4CH-V1
21 disponibles
+

El shield de ADC utiliza el circuito ADS1115 el cual es un convertidor analógico a digital de 16 bits controlado por un puerto I2C. Este integrado cuenta con 4 canales los cuales permiten leer señales en voltaje desde 0V hasta 10V ya que se cuenta con un divisor de voltaje a la entrada de cada canal. Es compatible con Raspberry PI 4. Puede medir señales de voltaje de 0V a 10V.

El voltaje de entrada para el ADS115 depende del voltaje aplicado a la terminal central de la terminal tornillo y las resistencias del divisor de voltaje, las cuales son de 10K y 5.1K al 1%. Si se requiere alguna otra proporción se puede montar antes al momento de hacer el pedido, favor de solicitar al agente de ventas el cambio para verificar la disponibilidad de resistencias.

Especificaciones

  • ADC: ADS1115.
  • Voltaje de operación: 3.3V.
  • Temperatura de trabajo: –40°C a +125°C.
  • Comparador programable.
  • 4 entradas simples o 2 entradas diferenciales.
  • Dirección I2C: SJ1 = 0, 0x49  ;   SJ1 = 1, 0x48.  
  • Vin en la terminal tornillo para el ADC: 0V a 10V.
  • Altura conector hembra 2x20: 14mm de la PCB al conector.
  • Dimensiones: 57.50mm x 64mm.

Descripción de jumpers

Nombre

Descripción

SJ1

Condición default: no soldado.

Si se suelda se conecta a GND el pin ADDR cambiando la dirección del puerto I2C.

Dirección inicial sin soldar el jumper: 0x49.

Dirección con jumper soldado: 0x48.

SJ2-SJ3, SJ4, SJ5

Selector de voltaje para las terminales tornillo.

Opciones: 

  • Conector jack 2.1mm.
  • 3.3V de la Raspberry.

Condición default: conector a jack 2.1mm.

SJ6

Condición default: no soldado.

Permite conectar el pin de Alert del ads1115 al pin 15 físico de la Raspberry Pi. Pin digital 22.



Codigo de prueba con wiringPi


#include 
#define pinInicial 100
#define ads115_direccion 0x49
#define adc_1 0
#define adc_2 1
#define adc_3 2
#define adc_4 3

double VinMaximo = 10; //Voltaje

uint32_t R2 = 5100; //Ohms
uint32_t R1 = 10000; //Ohms
uint32_t valorMaximoADC_16BITS = 32768; //entero bits 2^16-1
double ganancia = 4.096;
double voltajeInMaxDespuesDivisor = 3.3774834437;

using namespace std;

int main (void)
{


 wiringPiSetup () ;
 ads1115Setup(pinInicial, ads115_direccion);
 for(;;){
 uint32_t adc1 = analogRead(pinInicial+adc_1);
 uint32_t adc2 = analogRead(pinInicial+adc_2);
 uint32_t adc3 = analogRead(pinInicial+adc_3);
 uint32_t adc4 = analogRead(pinInicial+adc_4);
 
 double voltaje_a1 = VinMaximo*(ganancia*adc1/valorMaximoADC_16BITS)/voltajeInMaxDespuesDivisor;
 double voltaje_a2 = VinMaximo*(ganancia*adc2/valorMaximoADC_16BITS)/voltajeInMaxDespuesDivisor;
 double voltaje_a3 = VinMaximo*(ganancia*adc3/valorMaximoADC_16BITS)/voltajeInMaxDespuesDivisor;
 double voltaje_a4 = VinMaximo*(ganancia*adc4/valorMaximoADC_16BITS)/voltajeInMaxDespuesDivisor;
 

 
 cout << "Digital A1: "<< adc1 << " , Voltaje: " << voltaje_a1 << " ";
 cout << "Digital A2: "<< adc2 << " , Voltaje: " << voltaje_a2 << " ";
 cout << "Digital A3: "<< adc3 << " , Voltaje: " << voltaje_a3 << " ";
 cout << "Digital A4: "<< adc4 << " , Voltaje: " << voltaje_a4 << " ";

 delay(2000);
 
 }
 
 return 0 ;
}