Dashboard de Tenis en Tiempo Real con WebSocket y JavaScript

Imagen
¿Por qué utilizar WebSocket en lugar de una API REST? El caso de Tennis API Cuando trabajamos con APIs, normalmente pensamos en solicitudes HTTP tradicionales donde una aplicación consulta información cada cierto tiempo. Sin embargo, para aplicaciones que requieren datos en tiempo real, existe una alternativa mucho más eficiente: WebSocket. Mientras exploraba las capacidades de Tennis API encontré su integración mediante Socket.IO, una tecnología que permite recibir actualizaciones en tiempo real sin necesidad de realizar consultas constantes al servidor. ¿Cómo funciona una API REST tradicional? Con una API REST, la aplicación debe preguntar periódicamente si existen nuevos datos. Por ejemplo: setInterval(async () => { const response = await fetch("/live-scores"); const data = await response.json(); console.log(data); }, 5000); En este caso la aplicación realiza una consulta cada 5 segundos. El problema es que muchas veces no existe información nue...

Música con Arduino

En este post les quiero compartir un ejemplo de como podemos unir la música con la programación 😆, pueden hacer su propia serie navideña o agregar las mañanitas o su canción favorita.

La música son frecuencias de sonido diferente y en cada nota musical tiene un valor diferente, encontré en Wikipedia una tabla con las frecuencias por ejemplo para afinar un piano y ahí están los valores de cada nota.

Como obtener una razón entre las notas y como realizar la multiplicación para llegar a cada nota musical

432 x 1.0594623 = La#
432 x 1.0594623 x 1.0594623 = Si
432 x 1.0594623 x 1.0594623 x 1.0594623 = Do

Ahora teniendo esta información vamos hacer un programa en C++ vamos a utilizar:

  •  Placa de Arduino Uno
  •  Un buzzer (es una pequeña bocinita) encontré una liga donde explica bien que es luisllamas.es

Voy a utilizar como referencia de conexión el diagrama de mi kit de Elegoo

La foto ya armado

El programa de música con Arduino en C++

int buzzer = 12;//the pin of the active buzzer

const int notas[] = {261.63, 277.18, 293.96, 311.13, 329.63, 349.23, 369.99, 392, 415.30, 440, 466, 493.88};

const int man[]= {293.66,293.66,391.99,415.30,369.99,391.99,440,369.99,391.99,440,493.88,391.99,440,493.88,261.62,261.62,261.62,493.88,440,391.99,369.99,440,391.99,369.99,391.99,440,493.88,261.62,440,391.99,493.88,440,369.99,369.99,391.99,493.88,391.99,493.88,440,369.99,369.99,391.99,493.88,391.99,391.99,391.99,261.62,261.62,261.62,261.62,493.88,391.99,369.99,391.99,440,493.88,261.62,440,391.99,293.66,391.99,369.99,391.99,391.99,369.99,391.99,391.99,391.99,493.88,440,391.99,369.99,391.99,440,440,293.66,293.66,391.99,440,440,391.99,440,440,493.88,261.62,493.88,493.88,440,440,369.99,391.99,440,391.99,369.99,329.62,369.99,391.99,440,391.99,440,493.88,261.62,493.88,261.62,261.62,493.88,261.62,493.88,440,391.99,369.99,391.99,440,493.88,493.88,493.88,261.62,493.88,493.88,440,440,369.99,391.99};

char valor = 'B';

void setup()

{

 pinMode(buzzer,OUTPUT);//initialize the buzzer pin as an output

}

void loop()

{

  switch ( valor )

      {

         case 'A':

          /*notas*/

           for (int i = 0; i < 10 ; i++)

             //pasamos por todas las notas

           {

             tone(buzzer, notas[i],250);

             delay(1000);

           }

          noTone(buzzer);

          break;

         case 'B':

         /*mañanitas*/

          for (int i = 0; i < 123 ; i++)

             //pasamos por todas las notas

           {

             tone(buzzer, man[i],(60000/120)/2);

             delay((60000/120)+50);

           }

          noTone(buzzer);

         break;

      }   

Un vídeo de como lo escuchamos

Vídeo de las notas musicales

Vídeo de las mañanitas

Podemos hacer un programa uniendo el teclado Hexadecimal y que cada tecla sea una melodía diferente. Pueden intentarlo.

El programa del teclado Hexadecimal lo vimos en esta liga http://www.programacionparatodos.com/arduino-y-teclado.html

Espero les haya gustado la publicación, lo intente y nos compartan, recuerden pueden seguirnos en este blog o en Facebook.



Si quieren comprar su tableta de Arduino les recomiendo comprarlo en la siguiente liga Tarjeta De Desarrollo Uno R3 Compatible Arduino + Cable Usb  y los sensores les recomiendo comprarlos en kit Súper Kit De Inicio Lafvin Uno Project Para Arduino Uno R3 Mega2560 Mega328 Nano Con Tutorial

Comentarios

🚀 Mantener este blog funcionando requiere tiempo y café. ¡Puedes contribuir con uno aquí!

Entradas más populares de este blog

Guía Práctica: Ejemplo Completo de ASPX para Desarrolladores Web

👉 Cómo obtener el tipo de cambio en Excel con API de Banxico (paso a paso)

Macro en Word para automatizar documentos: genera diplomas en segundos (con código VBA)