Cómo usar el sensor táctil y de efecto Hall ESP32 con Arduino IDE

Si eres un entusiasta de la tecnología y estás buscando aprender a utilizar el sensor táctil y de efecto Hall ESP32 con Arduino IDE, has llegado al lugar indicado. En este artículo te mostraremos paso a paso cómo sacar el máximo provecho de esta potente combinación, para que puedas crear proyectos increíbles. ¡Prepárate para sumergirte en el fascinante mundo de la electrónica y la programación!

El sensor de efecto Hall y táctil ESP32 está integrado dentro del chip del microcontrolador ESP Wroom 32. Ambos sensores son fáciles de programar y se pueden utilizar en proyectos pequeños. Entonces, al final de este artículo, podrá usar y Programar el sensor táctil y de efecto Hall ESP32 con arduino IDE.

Cómo usar el sensor táctil y de efecto Hall ESP32 con Arduino IDE
¡El sensor táctil y de efecto Hall están dentro de este chip!

Proyecto de sensor táctil ESP32:

La placa ESP32 viene con 10 sensores táctiles capacitivos conectado a los pines GPIO como se muestra en la figura de Pinout ESP32 que se muestra a continuación:

Cómo usar el sensor táctil y de efecto Hall ESP32 con Arduino IDE
Pines ESP32 GPIO con sensor táctil

Nota: Las placas ESP32 con 30, 36 y 38 pines tienen el mismo número de pines de sensores táctiles, es decir, 10.

Estos pines GPIO (que tienen un sensor táctil) cuando se tocan pueden detectar variaciones en objetos que conducen electricidad. Como la piel humana. Entonces, cuando tocas el pin GPIO con el dedo, genera algunas variaciones. Y estas variaciones son leídas por el sensor.

Para leer valores analógicos del sensor táctil, una función incorporada “tocarLeer() se usa Esta función acepta el número de pin GPIO como argumento.

Sintaxislectura táctil (GPIO_pin);

Materiales necesarios:

  • Módulo ESP32
  • IDE de Arduino
  • Cable micro USB
  • Cables de puente

Cómo usar el sensor táctil y de efecto Hall ESP32 con Arduino IDE
Cable de puente conectado a GPIO Pin 15

Paso 1: Conecte el módulo ESP32 a la computadora a través de un cable micro-USB. El LED ROJO en el tablero se enciende una vez que se enciende el tablero.

Paso 2: Conecte un extremo del cable puente al Pin 15 de GPIO. Y deje el otro extremo como está (sin conectar). Estoy usando GPIO 15 aquí. Puede usar cualquier otro pin GPIO que tenga un sensor táctil incorporado.

Paso 3: Ir a Herramientas> Tablero del menú superior y haga clic en el botón “Arduino ESP32” opción. Ahora seleccione el tipo de placa ESP32 que está utilizando. he seleccionado el Módulo de desarrollo ESP32.

Etapa 4: ahora ve a Herramientas>Puertoy seleccione el puerto al que está conectada la placa.

Paso 5: Pegue/escriba el programa del sensor táctil ESP32 que se proporciona a continuación en el IDE de Arduino.

Paso 6: Haga clic en la opción de carga para cargar el código. No olvide mantener presionado el botón BOOT durante el proceso de carga.

Programa para usar el sensor táctil ESP32:

#define LED_BuiltIn 2
void setup() {
  // put your setup code here, to run once:
  pinMode(LED_BuiltIn,OUTPUT);
  Serial.begin(115200);
  delay(1000); // stop the execution for 1 sec
  Serial.println("ESP32 Touch sensor value");
}

void loop() {
  // put your main code here, to run repeatedly:
  Serial.println(touchRead(15));
  delay(1000);
  if (touchRead(15)<40)
  {
    digitalWrite(LED_BuiltIn,HIGH);
    delay(500);
    digitalWrite(LED_BuiltIn,LOW);
  }
}

OBJETIVO: Cuando se toca el cable de puente conectado al pin GPIO 15, se enciende el LED incorporado de la placa esp32.

Explicación del código:

#define LED_BuiltIn 2
  • Defina la macro para el Pin 2 llamada LED_CONSTRUIDO. La definición de macros simplifica su programa. Siempre que el nombre LED_CONSTRUIDO aparece en el programa, el compilador lo cambia a pin no. 2 automáticamente.
  • Entonces, para usar un pin que no sea el pin 2 de GPIO, solo tiene que cambiar el PIN de GPIO en un solo lugar, es decir, donde ha definido la macro para el pin 2 de GPIO.

Nota: Las macros se definen fuera de las funciones y al principio del programa.

Dentro de la función void setup():

Nota: El La función setup() se llama tan pronto como el programa comienza a ejecutarse. Se utiliza para inicializar variables y establecer el modo de los pines GPIO. La función Setup() se ejecuta solo una vez.

 pinMode(LED_BuiltIn,OUTPUT);
  • Aquí, estamos inicializando el modo del LED_incorporado Pin GPIO como SALIDA.
Serial.begin(115200);
  • Serial.begin() La función inicia la comunicación de datos en serie entre la placa Arduino y el IDE de Arduino.
  • El argumento de la Serial.begin() La función establece la velocidad de datos en bits por segundo (baudios) para la transmisión de datos en serie. Aquí estamos configurando la tasa de datos como 115200 bits por segundo.
  • Tasas de baudios admitidas son 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 31250, 38400, 57600 y 115200.
delay(1000); 
Serial.println("ESP32 Touch sensor value");
  • El demora() La función se utiliza para detener/pausar la ejecución del programa durante 1000 milisegundos (1 segundo). Para esperar a que se inicie el monitor serie.
  • Y el Serial.println() La función se utiliza para imprimir los datos en el puerto serie en formato ASCII legible por humanos seguido de un carácter de retorno (“\r”) y un carácter de nueva línea (“\n”).
  • Aquí, estoy imprimiendo la cadena «Valor del sensor táctil ESP32” en el monitor serie de Arduino.
  • Para abrir el monitor serie, vaya a Herramientas>Monitor serie o presione Ctrl+Mayús+M. Luego seleccione la tasa de baudios 115200 del menú desplegable presente en la esquina inferior derecha del monitor serial.

Nota: Asegúrese de que la placa Arduino esté conectada a la PC y que esté seleccionado el puerto COM correcto.

Dentro de la función void loop():

Nota: Después de la ejecución de la configuración() comienza la función loop() de ejecución. Su función es ejecutar continuamente el código escrito en su interior en un bucle infinito. Por eso se llama un bucle vacío ().

Serial.println(touchRead(15));
delay(1000);
  • Serial.println() La función imprime el valor devuelto por el tocarLeer() función.
  • Como se explicó anteriormente, el tocarLeer() La función se utiliza para leer el valor del sensor táctil aceptando el número de pin GPIO como argumento. Y con el aumento de la fuerza de contacto en el cable, el valor devuelto por el tocarLeer() aumenta
  • El demora() La función detiene el programa durante 1 segundo (1000 milisegundos).
if (touchRead(15)<40)
{.....}
  • si-más Las sentencias se llaman sentencias condicionales.
  • Si la condición dentro del () el corchete es verdadero, las declaraciones dentro del si {} se ejecuta el bloque.
  • Si la condición dentro del () el corchete es falso, el compilador omite el código/declaración dentro del si {} bloquear.
  • En el programa dado arriba, cuando el tocarLeer() función devuelve un valor mayor que 40, declaraciones dentro de la si{} se ejecuta el bloque.

Declaraciones dentro del bloque if():
digitalWrite(LED_BuiltIn,HIGH); 
delay(500); 
digitalWrite(LED_BuiltIn,LOW); 
delay(500);
  • Es un programa simple de parpadeo de LED. Primero el escritura digital() La función enciende el LED incorporado.
  • Entonces hay un retraso de 500 milisegundos.
  • El escritura digital() La función apaga el LED incorporado.
  • De nuevo hay un retraso de 500 milisegundos.

Cómo usar el sensor táctil y de efecto Hall ESP32 con Arduino IDE
Encendido del LED usando el sensor táctil ESP32

Paso 6: Toque el cable de puente conectado al pin GPIO respectivo y observe las lecturas en el monitor serial.

Entonces, el resultado de este proyecto es: cuando toca el cable de puente conectado al pin 15 de GPIO, se enciende el LED incorporado de la placa esp32.

Proyecto de sensor de efecto Hall ESP32:

La placa ESP32 tiene un incorporado Sensor de efecto Hall también. Este sensor es una simple pieza de alambre con una corriente continua que fluye a través de él.

Cuando el campo magnético se coloca a su alrededor, los portadores de carga, los electrones y los huecos se desvían hacia ambos lados. Esta desviación o desequilibrio genera una diferencia de voltaje en el material del sensor. Esta diferencia de voltaje generada se usa para medir la fuerza del campo magnético.

Cómo usar el sensor táctil y de efecto Hall ESP32 con Arduino IDE
Funcionamiento del sensor de efecto Hall

Fuente de imagen: Leer este excelente articulo para saber más sobre los sensores de efecto Hall.

NOTA: El IDE de Arduino tiene un hallRead() función que devuelve esta diferencia de voltaje generada por el campo magnético en forma de valor analógico (más fuerte es el campo magnético externo, mayor es el valor analógico devuelto por la función).

Materiales necesarios:

  • Módulo ESP32
  • IDE de Arduino
  • Cable micro USB
  • Imán pequeño

Paso 1: Conecte el módulo ESP32 a la computadora a través de un cable micro-USB. El LED ROJO en el tablero se enciende una vez que se enciende el tablero.

Paso 2: Ir a Herramientas> Tablero del menú superior y haga clic en el botón “Arduino ESP32” opción. Ahora seleccione el tipo de placa ESP32 que está utilizando. he seleccionado el Módulo de desarrollo ESP32.

Paso 3: ahora ve a Herramientas>Puertoy seleccione el puerto al que está conectada la placa.

Etapa 4: Pegue/escriba el programa de efecto hall ESP32 que se proporciona a continuación en el IDE de Arduino.

Paso 5: Haga clic en la opción de carga para cargar el código. No olvide mantener presionado el botón BOOT durante el proceso de carga.

Programa para usar el sensor de efecto Hall ESP32:

int magnetic_value=0;
void setup() {
  // put your setup code here, to run once:
  Serial.begin(115200);
}

void loop() {
  // put your main code here, to run repeatedly:
  magnetic_value=hallRead();
  Serial.print("ESP32 Hall effect sensor value value: ");
  Serial.println(magnetic_value);
  delay(2000);
}
 
 

OBJETIVO: Imprimir los valores devueltos por el sensor de efecto hall incorporado.

Explicación del código:

int magnetic_value=0;
  • Declarar una variable llamada valor_magnético del tipo de datos entero para contener el valor devuelto por el hallRead() función.

Dentro de la función void setup():

Serial.begin(115200);
  • Serial.begin() La función inicia la comunicación de datos en serie entre la placa Arduino y el IDE de Arduino.
  • El argumento de la Serial.begin() La función establece la velocidad de datos en bits por segundo (baudios) para la transmisión de datos en serie. Aquí estamos configurando la tasa de datos como 115200 bits por segundo.
  • Las velocidades de transmisión admitidas son 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 31250, 38400, 57600 y 115200.

Dentro de la función void loop():

magnetic_value=hallRead();
  • Asigne el valor devuelto por el hallRead() función a la variable declarada anteriormente, es decir, valor_magnético.
Serial.print("ESP32 Hall effect sensor value value: ");
Serial.println(magnetic_value);
delay(2000);
  • Serial.println() La función imprime el valor devuelto por el hallRead() función mediante el uso de la variable valor_magnético.
  • Como se explicó anteriormente, el hallRead() La función se utiliza para leer el valor del sensor de efecto Hall aceptando el número de pin GPIO como argumento. Y con el aumento del campo magnético externo alrededor del sensor, el valor devuelto por el hallRead() aumenta
  • El demora() La función detiene el programa durante 1 segundo (1000 milisegundos).

NOTA: Y como estas declaraciones están dentro de la función loop(), el código se ejecuta en un bucle infinito e imprime los valores del sensor cada segundo.

Cómo usar el sensor táctil y de efecto Hall ESP32 con Arduino IDE
Campo magnético fluctuante medido con el sensor de efecto Hall ESP32

Paso 6: Coloque el imán directamente sobre el chip ESP32 Wroom y observe las lecturas en el monitor serial. Acerque el imán al chip o gire la cara del imán 180 grados.

Nota: Una lectura negativa significa que los electrones se desvían hacia el otro lado ahora O el imán que mira hacia el chip se gira 180 grados.

Error 403 The request cannot be completed because you have exceeded your quota. : quotaExceeded




Preguntas frecuentes sobre el uso del sensor táctil y de efecto Hall ESP32 con Arduino IDE

Preguntas frecuentes sobre el uso del sensor táctil y de efecto Hall ESP32 con Arduino IDE

¿Qué es un sensor táctil y de efecto Hall?

El sensor táctil es un dispositivo que permite detectar la presencia o contacto de un objeto utilizando la respuesta al tacto. Por otro lado, el sensor de efecto Hall es un dispositivo que detecta la presencia y magnitud de un campo magnético.

Para obtener más información, puedes consultar el siguiente enlace: es.wikipedia.org – Sensor táctil

¿Por qué usar el sensor táctil y de efecto Hall ESP32 con Arduino IDE?

El ESP32 es una plataforma de desarrollo que combina un microcontrolador y una conectividad Wi-Fi, lo que lo convierte en una excelente opción para implementar proyectos de Internet de las cosas (IoT). El uso del sensor táctil y de efecto Hall en combinación con Arduino IDE permite a los desarrolladores crear prototipos interactivos y medir campos magnéticos en sus proyectos.

¿Cuáles son los pasos necesarios para utilizar el sensor táctil y de efecto Hall ESP32 con Arduino IDE?

  1. Instalar Arduino IDE en tu computadora si aún no lo has hecho.
  2. Conectar el ESP32 a la computadora mediante un cable USB.
  3. Abrir Arduino IDE y seleccionar la placa «ESP32» y el puerto correspondiente.
  4. Importar la biblioteca adecuada para el sensor táctil y de efecto Hall.
  5. Crear un nuevo proyecto y escribir el código necesario para leer los datos del sensor.
  6. Cargar el programa en el ESP32 y verificar la lectura del sensor.

¿Qué ejemplos de proyectos se pueden realizar con el sensor táctil y de efecto Hall ESP32?

El sensor táctil y de efecto Hall ESP32 se puede utilizar en una amplia variedad de proyectos, algunos ejemplos son:

  • Sistema de control de iluminación basado en la proximidad de un objeto
  • Medición y monitoreo de campos magnéticos
  • Interruptor táctil para controlar dispositivos electrónicos

¿Dónde puedo obtener más información sobre el ESP32 y Arduino IDE?

Puedes encontrar más información sobre el ESP32 y Arduino IDE en los siguientes enlaces:


Deja un comentario