INFORMACIÓN
El AD7705 Convertidor Analógico a Digital ADC de 16 bits es un módulo diseñado para transformar señales analógicas de sensores o circuitos electrónicos en datos digitales de alta precisión que pueden ser interpretados por microcontroladores. Este dispositivo integra el circuito AD7705, un convertidor de alta resolución con interfaz SPI, capaz de medir variaciones muy pequeñas de voltaje gracias a sus 16 bits de resolución, lo que permite obtener lecturas mucho más precisas que las entradas analógicas convencionales de muchos microcontroladores.
El AD7705 Convertidor Analógico a Digital ADC de 16 bits es ampliamente utilizado en proyectos de electrónica y automatización donde se requieren mediciones analógicas de alta precisión. Entre sus principales aplicaciones se encuentran sistemas de adquisición de datos, básculas electrónicas, sensores de presión y proyectos de IoT. Este módulo es compatible con una gran variedad de tarjetas de desarrollo que soporten comunicación SPI, incluyendo Arduino UNO, Arduino Nano, Arduino Mega, ESP32, ESP8266, Raspberry Pi Pico, STM32, y placas basadas en AVR, ARM o plataformas similares.
ESPECIFICACIONES Y CARACTERÍSTICAS
- Modelo: AD7705.
- Chip: TM7705.
- Tipo de dispositivo: Convertidor Analógico a Digital (ADC).
- Resolución: 16 bits de alta precisión.
- Arquitectura: Sigma-Delta ADC.
- Canales de entrada: 2 entradas analógicas diferenciales.
- Interfaz de comunicación: SPI serial.
- Voltaje de alimentación: 3.3 a 5 VDC.
- Bajo nivel de ruido: Ideal para señales analógicas pequeñas.
- Alta precisión de medición: Excelente estabilidad y sensibilidad.
- Frecuencia de muestreo programable.
- Amplificador de ganancia programable interno (PGA).
- Dimensiones: 30 mm x 21 mm x 10 mm.
- Peso: 3.3 g.
DOCUMENTACIÓN Y RECURSOS
INFORMACIÓN ADICIONAL
¿Cómo probar el AD7705 Convertidor Analógico a Digital ADC?
Aquí tienes una guía sencilla y rápida para comprobar el funcionamiento de tu módulo.
Materiales Necesarios.
- AD7705 Convertidor ADC 16-bit.
- R3 JUN UNO o similares.
- Cables Dupont.
- Protoboard (opcional).
- Potenciómetro de 10KΩ.
- Cable USB Tipo C.
Identificación de Pines.
El módulo incluye estos pines:
| Pin | Función | Descripción |
|---|---|---|
| VCC | Alimentación | Entrada de voltaje del módulo (normalmente 5V) |
| GND | Tierra | Referencia común del sistema |
| SCK | SPI Clock | Señal de reloj SPI desde el Arduino |
| DIN | SPI MOSI | Datos enviados del Arduino al ADC |
| DOUT | SPI MISO | Datos enviados del ADC al Arduino |
| CS | Chip Select | Habilita la comunicación SPI del módulo |
| DRDY | Data Ready | Indica cuándo una conversión ADC está lista |
| RST | Reset | Reinicia el ADC |
| AIN1+ | Entrada Analógica + Canal 1 | Entrada positiva del canal 1 |
| AIN1- | Entrada Analógica – Canal 1 | Entrada negativa/referencia del canal 1 |
| AIN2+ | Entrada Analógica + Canal 2 | Entrada positiva del canal 2 |
| AIN2- | Entrada Analógica – Canal 2 | Entrada negativa/referencia del canal 2 |
Conexiones del AD7705 al JUN R3.
Realiza las conexiones así:
| Pin TM7705 / AD7705 | Pin Arduino UNO | Función |
|---|---|---|
| VCC | 5V | Alimentación del módulo |
| GND | GND | Tierra común |
| SCK | D13 | Reloj SPI |
| DIN | D11 (MOSI) | Datos Arduino → ADC |
| DOUT | D12 (MISO) | Datos ADC → Arduino |
| CS | D10 | Chip Select |
| DRDY | D9 | Data Ready |
| RST | D8 | Reset del ADC |
Conexión de la Señal Analógica.
La forma más sencilla es usar un potenciómetro:
| Potenciómetro | Conexión |
|---|---|
| Terminal 1 | 5V |
| Terminal 2 (centro) | AIN+ |
| Terminal 3 | GND |
Y conecta:
- AIN- → GND
Así el módulo leerá un voltaje variable de 0 a 5V.
Código de Prueba.
#include <SPI.h>
#define CS_PIN 10
#define DRDY_PIN 9
#define RST_PIN 8
void writeRegister(byte reg, byte value) {
digitalWrite(CS_PIN, LOW);
SPI.transfer(reg);
SPI.transfer(value);
digitalWrite(CS_PIN, HIGH);
}
unsigned int readData() {
digitalWrite(CS_PIN, LOW);
SPI.transfer(0x38);
byte highByte = SPI.transfer(0xFF);
byte lowByte = SPI.transfer(0xFF);
digitalWrite(CS_PIN, HIGH);
return (highByte << 8) | lowByte;
}
void resetTM7705() {
digitalWrite(RST_PIN, LOW);
delay(1);
digitalWrite(RST_PIN, HIGH);
delay(500);
}
void setup() {
Serial.begin(9600);
pinMode(CS_PIN, OUTPUT);
pinMode(DRDY_PIN, INPUT);
pinMode(RST_PIN, OUTPUT);
digitalWrite(CS_PIN, HIGH);
SPI.begin();
SPI.setDataMode(SPI_MODE3);
SPI.setClockDivider(SPI_CLOCK_DIV16);
// Reset físico
resetTM7705();
// Reset serial
digitalWrite(CS_PIN, LOW);
for (int i = 0; i < 4; i++) {
SPI.transfer(0xFF);
}
digitalWrite(CS_PIN, HIGH);
delay(100);
// Clock register
writeRegister(0x20, 0x04);
// Setup register
// UNIPOLAR + GAIN 1
writeRegister(0x10, 0x44);
Serial.println("TM7705 Voltimetro");
}
void loop() {
if (digitalRead(DRDY_PIN) == LOW) {
unsigned int adc = readData();
// Convertir a voltaje
float voltage = (adc / 65535.0) * 5.0;
Serial.print("ADC: ");
Serial.print(adc);
Serial.print(" Voltaje: ");
Serial.print(voltage, 4);
Serial.println(" V");
}
delay(100);
}
Resultados.
- Abrir el Monitor Serial
- Configurar:
- 9600 baudios
Verás números cambiando al mover el potenciómetro.
Ejemplo:
ADC: 0 Voltaje: 0.0000 V ADC: 12000 Voltaje: 0.9155 V ADC: 32000 Voltaje: 2.4414 V ADC: 65535 Voltaje: 5.0000 V

4 Baterías Recargables USB AA 1.5V 2200mWh
Convertidor de PWM a Voltaje Analógico 0-10V PLC



























Valoraciones
No hay valoraciones aún.