Categoría: Programación

  • ¿Cómo instalar la librería LiquidCrystal_I2C?

    //Usamos la de Marco Schwartz

    1. En el programa Arduino IDE, abre el menú “Herramientas” (Tools).
    2. En el menú “Herramientas”, selecciona “Gestor de bibliotecas” (Library Manager).
    3. En la ventana del “Gestor de bibliotecas”, en el campo de búsqueda, escribir “LiquidCrystal_I2C” y presiona Enter.
    4. Debería verse la biblioteca “LiquidCrystal I2C” en los resultados de la búsqueda. Haz clic en el botón “Instalar” (Install) que se encuentra junto a la biblioteca.
    5. El Arduino IDE descargará e instalará la biblioteca automáticamente.
    6. Una vez que la instalación esté completa, se verá un mensaje que indica que la biblioteca se ha instalado con éxito.

  • Driver LED: BARRA con tecnología INDEXABLE

    Driver LED: BARRA con tecnología INDEXABLE

    Este prototipo diseñado en Barcelona cuenta con sensoor de movimiento y control por ENCODER/DIAL retroiluminado

    Ofrece respuesta interactiva y conexión con las de su tipo.

    Deja una pregunta abierta ¿Por qué no?

    No todo lo que es oro brilla. Y es que las lámparas en general parecieran brillar más que la calidad de su luz.

    CHEBA fue diseñada para brillar por lo que tiene adentro.

  • Melange Studio

    Melange Studio

    Programación de efectos para “Wall Washer” Bañador de pared – LED

  • Typedef Struct

    En C, el Typedef Struct es una característica que permite definir tipos de datos personalizados y estructuras de datos para organizar y manipular información de manera más eficiente y legible. Esta característica utiliza la palabra clave typedef junto con la palabra clave struct para definir una estructura con nombre propio.

    Una estructura (struct) es un tipo de dato que permite agrupar diferentes variables bajo un solo nombre. Cada variable dentro de la estructura se llama “miembro” y puede ser de diferentes tipos, como enteros, flotantes, arreglos u otras estructuras. La idea detrás de las estructuras es crear un tipo de dato personalizado que contenga varios campos relacionados.

    Supongamos se desea representar la información de una persona con su nombre, edad y número de identificación. Primero, se define el Typedef Struct en el área de declaraciones globales del código de Arduino:

    typedef struct {
      char nombre[50]; // Cadena de caracteres para el nombre
      int edad;        // Entero para la edad
      long int id;     // Entero largo para el número de identificación
    } Persona;
    

    En este ejemplo, se ha creado un Typedef Struct llamado Persona, que contiene tres miembros: nombre (una cadena de caracteres de hasta 50 caracteres), edad (un número entero) e id (un número entero largo).

    Ahora se puede usar esta definición de estructura para crear variables de tipo Persona y acceder a sus miembros:

    void setup() {
      Serial.begin(9600);
    
      // Crear una variable de tipo Persona
      Persona persona1;
    
      // Asignar valores a los miembros de la estructura
      strcpy(persona1.nombre, "Juan");
      persona1.edad = 30;
      persona1.id = 1234567890;
    
      // Mostrar la información en el monitor serial
      Serial.print("Nombre: ");
      Serial.println(persona1.nombre);
      Serial.print("Edad: ");
      Serial.println(persona1.edad);
      Serial.print("ID: ");
      Serial.println(persona1.id);
    }
    
    void loop() {
      // Nada aquí
    }
    

    En este código de ejemplo, hemos creado una variable persona1 de tipo Persona y luego hemos asignado valores a sus miembros. Finalmente, imprimimos la información en el monitor serial.

  • Utilización de #define

    Utilización de #define

    El preprocesador mantiene un conjunto caracteres definidos, algunos de ellos deben ser sustituidos por sus valores equivalentes. Proporciona un mecanismo por el que una parte de código de un programa se puede mostrar u ocultar dependiendo del valor de alguno de los caracteres definidos con la directiva

    #define.

    En este ejemplo, la construcción es la siguiente:

    #define PEPE
    
    void setup() {
    
      Serial.begin(115200);
    
    #ifdef PEPE
      Serial.print("Bienvenido al sistema PEPE\n");
    #else
      Serial.print("Bienvenido al otro sistema\n");
    #endif
    
    }
    
    void loop() {
    
    }
    
  • Arrays: Variables multiplicadas

    Utilizandoel Arduino IDE. En este ejemplo, crearemos un array de números enteros y realizaremos algunas operaciones básicas con él.

    Supongamos que queremos crear un array de 5 elementos e imprimirlos en el monitor serial. Además, calcularemos la suma y el valor máximo dentro del array.

    void setup() {
      // Iniciar la comunicación con el monitor serial
      Serial.begin(115200);
    
      // Crear un array de 5 elementos
      int miArray[5] = {10, 15, 8, 3, 12};
    
      // Llamar a la función para imprimir el array
      imprimirArray(miArray);
    
      // Calcular y mostrar la suma de los elementos del array
      int suma = calcularSuma(miArray);
      Serial.print("Suma de los elementos: ");
      Serial.println(suma);
    
      // Encontrar y mostrar el valor máximo dentro del array
      int maximo = encontrarMaximo(miArray);
      Serial.print("Valor máximo: ");
      Serial.println(maximo);
    }
    
    void loop() {
      // Nada aquí en este ejemplo
    }
    
    // Función para imprimir el contenido del array
    void imprimirArray(int arr[]) {
      Serial.println("Contenido del array:");
      for (int i = 0; i < 5; i++) {
        Serial.print(arr[i]);
        Serial.print(" ");
      }
      Serial.println();
    }
    
    // Función para calcular la suma de los elementos del array
    int calcularSuma(int arr[]) {
      int suma = 0;
      for (int i = 0; i < 5; i++) {
        suma += arr[i];
      }
      return suma;
    }
    
    // Función para encontrar el valor máximo dentro del array
    int encontrarMaximo(int arr[]) {
      int maximo = arr[0];
      for (int i = 1; i < 5; i++) {
        if (arr[i] > maximo) {
          maximo = arr[i];
        }
      }
      return maximo;
    }
    
  • Secuenciómetro para máquina industrial programado en Arduino IDE + Código en C++

    Secuenciómetro para máquina industrial programado en Arduino IDE + Código en C++

    El proyecto consta de 2 versiones para mover 8 y 16 solenoides con una espera regulable. Se hicieron 2 circuitos: El prototipo con un ESP32 y el diseño final duplicando las salidas con un Arduino Mega

    PROTOTIPO I

    Microcontrolador ESP32

    PROTOTIPO 2

    Arduino Mega 2560