En este artículo, aprenderemos cómo construir una planta de cambio de color táctil usando Arduino. Cuando toques la planta, el color del florero de la planta cambiará automáticamente. Este es un bonito proyecto de decoración de interiores y también un pequeño proyecto de pasatiempo para que los principiantes construyan y aprendan algunas cosas interesantes.

Tipo de sensores táctiles

Los sensores táctiles son principalmente de dos tipos, a saber,  tipo táctil resistivo y tipo táctil capacitivo .

Sensor táctil resistivo: como su nombre lo indica, el sensor táctil resistivo funciona en función de la resistencia del conductor. Cuando ocurre un toque con el cuerpo humano, la resistividad del conductor cambia y también hay un cambio de voltaje, este cambio de voltaje es detectado por el circuito y suceden cosas.

Sensor táctil capacitivo: este es el tipo de sensor táctil más utilizado. Es simplemente porque podemos realizar varios toques a la vez. El sensor táctil capacitivo funciona en base al cambio de capacitancia, es decir cuando tocamos el sensor la capacitancia del circuito cambia y esto se detectará como un toque. Ahora analicemos nuestro circuito en detalle.

¿Cómo detectar un toque en la planta?

Nuestro circuito de planta también se basa en el sensor táctil capacitivo . Es decir conectaremos un cable a nuestra planta para que actúe como un electrodo, luego al tocar la planta, debido a la presencia de nuestro cuerpo, la capacitancia cambia y esta será detectada por nuestro circuito. Y hablando del circuito, necesitamos un microcontrolador para detectar el cambio de capacitancia y también controlar todo el sistema. En nuestro caso, el microcontrolador es Arduino.

Materiales necesarios para construir nuestro jarrón para plantas que cambia de color

  • Arduino
  • LED RGB de cátodo común
  • Resistencia de 1 megaohmio (marrón, negro, verde)
  • Cable de conexión
  • Una planta con su base
  • PCB común

Diagrama de circuito para la planta Arduino con cambio de color táctil

El diagrama de circuito completo utilizado en este proyecto se muestra a continuación. El circuito se creó con Easy EDA y, como puede ver, es un circuito muy simple.

Primero, conecte la resistencia de un mega ohmio entre el pin 2 y el pin 4 de Arduino. Luego, conecte un cable largo (cobre) al pin 4. Este cable actúa como un electrodo o cable táctil, luego conecte la tierra común del LED RGB a tierra y el rojo a D5 de Arduino y verde a D6, azul a D7, finalmente conecte el cable al cuerpo de la planta y listo. La configuración de mi hardware después de que se hayan realizado las conexiones se ve así como se muestra a continuación.

Programa Arduino para detectar el tacto en la planta y cambiar el color del LED

El programa completo utilizado en este proyecto se puede encontrar al final de esta página. Para detectar la capacitancia de la planta, necesitamos usar una biblioteca de sensores capacitivos . Puede descargar la biblioteca de sensores capacitivos Arduino desde el siguiente enlace.

Descargar la biblioteca de sensores táctiles capacitivos Arduino

Después de descargar y agregar la biblioteca a su IDE de Arduino, incluya esa biblioteca en su código. Esta biblioteca ayuda a leer la capacitancia de los pines de Arduino.

#include <CapacitiveSensor.h>

Ya hemos conectado la resistencia entre el pin 2 y 4, por lo que necesitamos medir la capacitancia en el pin 4, para eso, definimos los pines.

CapacitiveSensor cs_2_4 = CapacitiveSensor (2,4); 

El sensor capacitivo alterna un pin del microcontrolador, es decir, envía el pin a un nuevo estado y luego espera a que el pin de recepción cambie al mismo estado que el pin de envío. En la sección de configuración, definí diferentes pines para el cable del sensor y el led.

pinMode (4, ENTRADA); 
  pinMode (5, SALIDA); 
  pinMode (6, SALIDA); 
  pinMode (7, SALIDA);

En la sección de bucle Con la ayuda de lectura digital, podemos leer el estado del pin 4 y almacenamos el valor en la variable ‘r’.

r = digitalRead (4); 
  if (r == ALTO && p == BAJO && millis () - tiempo> antirrebote) { 
    cnt ++; 
  si (estado == ALTO) 
     estado = BAJO; 
if (cnt == 1) { 
    digitalWrite (5, HIGH); 
    digitalWrite (6, BAJO); 
    digitalWrite (7, BAJO); 
  } 
  if (cnt == 2) { 
    digitalWrite (5, LOW); 
    escritura digital (6, ALTA); 
    digitalWrite (7, BAJO); 
  } 
  if (cnt == 3) { 
    digitalWrite (5, LOW); 
    digitalWrite (6, BAJO); 
    escritura digital (7, ALTA); 
  } 
  si (cnt> 3) { 
      cnt = 1; 
  } 
  p = r;

Cada vez que se detecta un toque, aumentará los recuentos y he dado diferentes condiciones para iluminar en diferentes colores según el número incrementado.

Una vez que el código esté listo, simplemente cárguelo en su placa Arduino y coloque los LED debajo de su jarrón. Aquí estoy usando un jarrón de vidrio y mi configuración se ve así cuando todo está listo.

Como ves, el jarrón ya está iluminado en color rojo, y cuando toco la planta, el color cambiará. Solo asegúrese de usar plantas ricas en agua como el bambú de la suerte, la planta del dinero, etc. El funcionamiento completo de este proyecto también se puede encontrar en el video a continuación.

Código

CapacitiveSensor   cs_2_4 = CapacitiveSensor(2,4); // 1M resistor between pins 2 & 4, pin 4 is sensor pin, add a wire and 
int cnt=0;
int in = 2; 
int out = 4;  
int state = HIGH;  
int r;           
int p = LOW;    
long time = 0;       
long debounce = 200;
void setup()
{
  pinMode(4, INPUT);
  /*    LED Outputs   */
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT); 
}
void loop()                    
{
  r = digitalRead(4);
  if (r == HIGH && p == LOW && millis() - time > debounce) {
    cnt++;
  if (state == HIGH)
     state = LOW;
    else
    time = millis();
  } 
  if(cnt == 1){
    digitalWrite(5, HIGH);
    digitalWrite(6, LOW);
    digitalWrite(7, LOW);
  }
  if(cnt == 2){
    digitalWrite(5, LOW);
    digitalWrite(6, HIGH);
    digitalWrite(7, LOW);
  }
  if(cnt == 3){
    digitalWrite(5, LOW);
    digitalWrite(6, LOW);
    digitalWrite(7, HIGH);
  }
  if(cnt > 3){
      cnt = 1;
  }
  p = r;
}

circuitdigest.com