Skip to main content

JOYSTICK

Conocimientos previos

JOYISTICK

Yo no sé qué tiene este componente que llama la atención a los chavales



Así que vamos a aprovecharlo: Tiene 2 potenciómetros según los ejes X e Y y un interruptor central. Las dos primeras salidas son analógicas, el microruptor (cuando presionas el joystick) lo trataremos también analógico, pues nos faltarán entradas y salidas digitales cuando lleguemos al final  y queramos poner un Bluetooth.

Si quieres saber más de este componente visita esta página. de Luis LLamas

SALIDAS PWM

Como Arduino no tiene valores de salida analógicos, utilizaremos los pines PWM (~) para simular tensiones variables de salida.

De esta manera la luz Roja y Azul serán variables pudiendo crear el ambiente que queramos.

¿No sabes lo que es PWM (~)?  eso es que no te has leído los capítulos anteriores


RETO

  • Si muevo en el eje X el Joystick la luz RGB se enciende AZUL proporcionalmente a la inclinación del mando Joystick.

  • Si muevo en el eje Y el Joystick la luz RGB se enciende ROJO proporcionalmente a la inclinación del mando Joystick.

  • Si pulso el Switch central

    • Si la puerta estaba cerrada la abre

    • Si la puerta estaba abierta, la cierra, con los avisos correspondientes.

  • Además vamos a complicar el reto Y TIENE QUE INCLUIR
    • Lo visto en interruptor crepuscularcrepuscular:
      • Si es luz<500 se hace de noche, tanto en el fondo com el oso panda
    • se enciende la luz verde del led RGB
    Lo visto en la apertura y cierre de la puerta con el sensor táctil exterior
        si se pulsa el sensor táctil exterior, se abre la puerta, tanto la real, como la del objeto se mantiene abierta durante 5 segundos avisa que va a cerrar la puerta con tres avisos, el led13 parpadeando y el objeto avisando se cierra la puerta, tanto la real como la del objeto Lo visto en alarma agua, pero modificado
          si hay agua objeto gotera aparece y suena pitido
          Solución esquema

          Al ser un componente analógico lo conectaremos en las entradas analógicas: * La salida eje X que gradúa la luz azul en A1 * La salida eje Y que gradúa la luz roja en A2 * La salida Switch central en A3

          Solución vídeo

          Solución esquema

          El programa lo tienes aquí https://planet.mblock.cc/project/3255492

          Se ha utilizado el truco DE ENVIOS MENSAJES BROADCAS ver https://libros.catedu.es/books/domotica-con-arduino/page/programacion-mblock

          Elegimos esta opción pues el programa es muy complejo para ejecutarlo EN VIVO es mejor cargar, y que la placa Arduino envíe los mensajes correspondientes. Si se realiza EN VIVO da problemas

          Para ir simplificando se ha utilizado la creacioncreación de bloques, y cada mensaje que envía la placa Arduino lo recogerá un objeto

          DISPOSITIVO ARDUINO

          EjetucaEjecuta siempre los tres4 bloques

          DOMOTICA-JOYSTICK1.pngDOMOTICA-JOYSTICK1.png

          DondeBloque NOCHE  enciende y apaga el pin digital 7 y envía al oso y al fondo que cambien de noche

          DOMOTICA-JOYSTICK2.png

          Bloque AGUA

          SeDOMOTICA-JOYSTICK3.png

          ha

          Bloque creadoPULSADOR

          un

          DOMOTICA-JOYSTICK4.png

          nuevo

          Bloque ABERPUERTA-Y-DESPUESICERRA

          DOMOTICA-JOYSTICK5.png

          Finalmente bloque JOYSTICK-JOYSTICK -RGB que lee los pines de entrada A2 y A3.

          Son valores desde 0 hasta +1024 pero la posición central del Joystick está en 500, luego tenemos que contar desde 500 hasta 1024, luego hay que convertirlos a 0-255

          Esos valores ya normalizados transmitirlos a los pines digitales donde está conectado el pin rojo y azul del led RGB por PWM

          DOMOTICA-JOYSTICK6.png

          TambiénOBJETO seOSO haPANDA añadido

          a

          recoge LLAVEla unLUZ

          condicional,

          DOMOTICA-JOYSTICK7.png

          según

          El OBJETO PUERTA

          Que recoge los mensajes del sensor táctil

          DOMOTICA-JOYSTICK9.png

          OBJETO WATER

          recoge el valormensaje A3gotera quey es el Switch central del Joystick que decidaaparece si abrir o no la puerta según lo almacenado en una variable PUERTAABIERTAhay

          DOMOTICA-JOYSTICK10.png