Nota
¡Hola, bienvenido a la comunidad de entusiastas de SunFounder Raspberry Pi & Arduino & ESP32 en Facebook! Sumérgete en el mundo de Raspberry Pi, Arduino y ESP32 con otros entusiastas.
¿Por qué unirse?
Soporte experto: Resuelve problemas post-venta y desafíos técnicos con la ayuda de nuestra comunidad y equipo.
Aprender y compartir: Intercambia consejos y tutoriales para mejorar tus habilidades.
Avances exclusivos: Obtén acceso anticipado a nuevos anuncios de productos y adelantos.
Descuentos especiales: Disfruta de descuentos exclusivos en nuestros productos más recientes.
Promociones y sorteos festivos: Participa en sorteos y promociones de temporada.
👉 ¿Listo para explorar y crear con nosotros? Haz clic en [Aquí] y únete hoy mismo!
2.1.7 Potenciómetro
Nota
Dependiendo de la versión de su kit, identifique si tiene ADC0834 o MCP3008 y continúe con la sección correspondiente.
Introducción
La función ADC se puede usar para convertir señales analógicas en señales digitales, y en este experimento, se utiliza el ADC0834 para obtener la función que involucra ADC. Aquí, implementamos este proceso usando un potenciómetro. El potenciómetro cambia la cantidad física – voltaje, que es convertido por la función ADC.
Componentes necesarios
En este proyecto, necesitamos los siguientes componentes.
Es definitivamente conveniente comprar un kit completo, aquí está el enlace:
Nombre |
ELEMENTOS EN ESTE KIT |
ENLACE |
|---|---|---|
Kit Raphael |
337 |
También puedes comprarlos por separado en los enlaces a continuación.
INTRODUCCIÓN DE COMPONENTES |
ENLACE DE COMPRA |
|---|---|
- |
Diagrama esquemático
Procedimientos Experimentales
Paso 1: Construye el circuito.
Nota
Coloca el chip siguiendo la posición correspondiente mostrada en la imagen. Nota que las ranuras del chip deben estar a la izquierda cuando se coloque.
Paso 2: Ve a la carpeta del código.
cd ~/raphael-kit/nodejs/
Paso 3: Ejecuta el código.
sudo node potentionmeter.js
Después de ejecutar el código, gira el mando del potenciómetro y la intensidad del LED cambiará en consecuencia.
Código
const Gpio = require('pigpio').Gpio;
const ADC0834 = require('./adc0834.js').ADC0834;
const adc = new ADC0834(17, 18, 27);
const led = new Gpio(22, {mode: Gpio.OUTPUT});
setInterval(() => {
adc.read(0).then((value) => {
console.log(`Current analogVal: ${value}\n`);
led.pwmWrite(value);
}, (error)=>{
console.log("Error: " + error);
});
}, 100);
Explicación del Código
const Gpio = require('pigpio').Gpio;
Importa el módulo pigpio.
const ADC0834 = require('./adc0834.js').ADC0834;
Importamos un constructor ADC0834 para usar el módulo adc0834.
const adc = new ADC0834(17, 18, 27);
Instancia un objeto ADC0834, los tres parámetros son sus tres pines.
Este es un objeto promesa, puede que necesites entender el concepto desde el siguiente enlace.
setInterval(() => {
adc.read(0).then((value) => {
console.log(`Current analogVal: ${value}\n`);
led.pwmWrite(value);
}, (error)=>{
console.log("Error: " + error);
});
}, 100);
El valor del canal 0 de ADC0834 (el canal 0 está conectado al potenciómetro) se lee cada 100ms, y el valor se almacenará en value.
Imprime value y úsalo para controlar el brillo del LED, ahora puedes ver que el brillo del LED cambia con el valor del potenciómetro.
Imagen del Fenómeno