lunes, 4 de noviembre de 2024

Arduino + Inteligencia Artificial

Arduino + Inteligencia Artificial


Aprender a programar Arduino nunca fue tan facil, con la ayuda de la IA o Inteligencia artificial podemos crear proyectos utiles y divertidos tanto para entusiastas como para conocedores. Este es un ejemplo muy basico y sencillo de como se puede aplicar la IA para programar un circuito electronico basado en arduino y unos cuantos componentes.

Para controlar cinco LEDs con un control remoto usando un módulo IR (Infrarrojo), primero necesitas un módulo receptor IR (como el VS1838B o TSOP1838) y un control remoto compatible. Vamos a usar la librería IRremote en Arduino, la cual facilita la recepción de señales IR y la decodificación de comandos.

Materiales

  • Arduino (Uno, Nano, etc.)
  • 5 LEDs
  • 5 resistencias (220Ω - 330Ω, para cada LED)
  • Módulo receptor IR (VS1838B o similar)
  • Control remoto IR
  • Cables de conexión

Circuito

  1. Conecta cada LED a un pin digital de Arduino (ejemplo: pines 2, 3, 4, 5 y 6) con una resistencia.
  2. Conecta el módulo receptor IR:
    • VCC a 5V de Arduino
    • GND a GND de Arduino
    • Salida de datos (OUT) al pin 11 de Arduino (se puede cambiar si lo necesitas, pero debe coincidir con el código).

Código Arduino

Este código permitirá encender o apagar cada LED de manera individual, además de encender o apagar todos los LEDs con un solo botón del control remoto.

  1. Asegúrate de instalar la librería IRremote desde el Administrador de Librerías de Arduino.
  2. Elige los códigos de cada botón del control remoto usando el monitor serial (te explico más adelante cómo obtener estos códigos).
Codigo para Arduino:

#include <IRremote.h>

#define RECV_PIN 11  // Pin de salida del receptor IR
IRrecv irrecv(RECV_PIN);
decode_results results;

const int ledPins[5] = {2, 3, 4, 5, 6};  // Pines para cada LED

// Define códigos IR específicos para cada acción (obtén estos códigos con tu control)
const unsigned long LED1_ON = 0xFF30CF;  // Reemplaza estos valores con tus códigos reales
const unsigned long LED2_ON = 0xFF18E7;
const unsigned long LED3_ON = 0xFF7A85;
const unsigned long LED4_ON = 0xFF10EF;
const unsigned long LED5_ON = 0xFF38C7;
const unsigned long ALL_LEDS_TOGGLE = 0xFFA25D;  // Código para encender/apagar todos los LEDs

bool ledStates[5] = {false, false, false, false, false};  // Estado de cada LED
bool allLedsOn = false;  // Estado general de todos los LEDs

void setup() {
  Serial.begin(9600);
  irrecv.enableIRIn();  // Inicia el receptor IR

  for (int i = 0; i < 5; i++) {
    pinMode(ledPins[i], OUTPUT);  // Configura cada pin de LED como salida
    digitalWrite(ledPins[i], LOW);  // Apaga todos los LEDs inicialmente
  }
}

void loop() {
  if (irrecv.decode(&results)) {
    unsigned long code = results.value;
    Serial.println(code, HEX);  // Imprime el código en hexadecimal para ver qué botón has presionado
   
    // Control individual de LEDs
    if (code == LED1_ON) toggleLED(0);
    else if (code == LED2_ON) toggleLED(1);
    else if (code == LED3_ON) toggleLED(2);
    else if (code == LED4_ON) toggleLED(3);
    else if (code == LED5_ON) toggleLED(4);

    // Encender/apagar todos los LEDs
    else if (code == ALL_LEDS_TOGGLE) toggleAllLEDs();

    irrecv.resume();  // Recibir el próximo valor
  }
}

// Función para encender/apagar un LED específico
void toggleLED(int ledIndex) {
  ledStates[ledIndex] = !ledStates[ledIndex];
  digitalWrite(ledPins[ledIndex], ledStates[ledIndex] ? HIGH : LOW);
}

// Función para encender/apagar todos los LEDs
void toggleAllLEDs() {
  allLedsOn = !allLedsOn;
  for (int i = 0; i < 5; i++) {
    ledStates[i] = allLedsOn;
    digitalWrite(ledPins[i], allLedsOn ? HIGH : LOW);
  }
}


Explicación del Código

  1. Configuración de Pines: Cada LED se conecta a un pin digital y se configura como salida.
  2. Decodificación de Comandos IR: Se captura el valor de cada botón en el control remoto, y si coincide con alguno de los códigos definidos (que obtendrás tú mismo), enciende o apaga el LED correspondiente.
  3. Encender/Apagar Todos los LEDs: Si el código coincide con ALL_LEDS_TOGGLE, la función toggleAllLEDs alterna el estado de todos los LEDs.

Cómo Obtener los Códigos IR de tu Control Remoto


  1. Carga el código en Arduino.
  2. Abre el Monitor Serial y presiona los botones en tu control remoto.
  3. Cada botón mostrará un código hexadecimal en el monitor serial.
  4. Reemplaza los valores LED1_ON, LED2_ON, etc., en el código de Arduino con estos valores.
#include <IRremote.h>

const int RECV_PIN = 11; // Define the digital pin connected to the IR receiver
IRrecv irrecv(RECV_PIN); // Create an instance of IRrecv
decode_results results;  // Create a results object to store the received IR values

void setup() {
  Serial.begin(9600);  // Initialize serial communication
  irrecv.enableIRIn(); // Start the receiver
  Serial.println("IR Receiver ready and waiting for signals...");
}

void loop() {
  // Check if an IR signal has been received
  if (irrecv.decode(&results)) {
    Serial.print("Received IR value: ");
    Serial.println(results.value, HEX); // Print the value in hexadecimal format
    irrecv.resume(); // Receive the next value
  }
}

Este programa te permitirá controlar cinco LEDs individualmente y apagarlos o encenderlos todos con un solo botón.

jueves, 29 de junio de 2017

Arma tu propia Impresora 3D desde Cero!

Arma tu propia Impresora 3D desde Cero!

Construir o armar una impresora 3D no es cosa del otro mundo... es cuestion de entender el funcionamiento de estas maquinas y tener las partes adecuadas para la misma, de ahi dependen ciertos factores como calidad de impresion, diversos ajustes necesarios etc...

Pero en esta serie de videos explicamos brevemente cada pieza de una impresora 3D en gerenal, y como puede ser armada parte por parte y lograr al final una maquina 100% funcional la cual esta siendo muy utilizada en estos dias

Las partes necesarias serian las siguientes:

Un cuadro o armazon (frame)
Uniones de 90 grados para el cuadro
Una fuente de alimentacion
Un extrusor
Tabla de circuitos y pantalla de controles
Plataforma de impresion (caliente es opcional para algunos materiales)
Base para la plataforma
Rodamientos lineles
Ejes pulidos
Ejes roscados
Motores paso a paso
Coples para motores
Interruptores
Bandas y poleas
Soportes
Tornillos y tuercas para el ensamble
Soporte para el extrusor

El Firmware (archivo .hex)
Codigo fuente 



Luego hay que poner todo en su lugar tomando en cuenta ciertas consideraciones, pero para ello dejamos los videos con los diferentes procedimientos necesarios.




miércoles, 7 de diciembre de 2016

COMO HACER UN ESCANER 3D CASERO (RECICLADO)

COMO HACER UN ESCANER 3D CASERO (RECICLADO)

La impresion en 3D se esta convirtiendo en algo muy popular y utili en la vida diaria, podemos encontrar articulos que pueden facilitar el trabajo tiempo y ahorrar dinero con esta tecnologia... cada dia avanza un paso mas y nuevos dispositivos se suman a este inmenso campo. Los escanner 3D son utilizados por compañias para realizar prototipos de piezas que posteriormente van a psar a una linea de produccion, pero tambien le podemos buscar un uso casero ya sea para entretenimiento o realizar alguna otra tarea util, pero, cuanto puede costar un escaner de este tipo? esa es la gran pregunta...


Pues en el mercado podemos encontrar desde $100 dolares hasta $25,000 dependiendo la calidad y el proposito que este valla a cumplir. como podemos ver en esta imagen hay diferentes tipos y marcas que al final todos tienen el mismo proposito y es obtener una imagen en 3D de un objeto convencional.

Pero que pasa si solo tenemos un hobby por la impresion 3D, valdria la pena invertir tanto dinero en uno de estos aparatos? para eso esta dedicado este post, para aprender a hacer un escaner 3D casero reciclando nuestro viejo sensor de kinect de la Xbox 360 al cual no habra que hacerle ninguna modificacion rara o dañarlo, simplemente conectarlo a la computadora, descargar un programa y listo! vamos a ver como se hace.


QUE NECESITAMOS:
El sensor de Kinect;











El adaptador de corriente para el sensor
(lo podemos comprar aqui)





















Los driver para el sensor  aqui (Kinect SDK 1.8 para windows )
El programa Skanect aqui

Y el siguiente video que nos va guiar como realizar estre proyecto.


Bien espero que este proyecto sea util, no olviden suscribirse al canal y dejarnos sus comentarios. gracias por visitarnos.


martes, 18 de octubre de 2016

3D Printed NES Mini + Retropie

3D Printed NES Mini + Retropie

Las consolas retro se han puesto muy de moda y Nintendo aprovecha esta ocacion para lanzar una version Mini de la clasica NES, la cual incluye 30 de los mejores temas de este sistema de entretenimiento. Hoy en dia con el acceso a recursos tecnologicos podemos diseñar y fabricar muchas cosas entre ellas una version impresa en 3D de esta consola y utilizando la pequeña pero potente computadora como es Raspberry Pi con solo instalar un sistema gratuito de emulacion de videojuegos (Retropie) podemos disfrutar de horas y horas los mejores clasicos como NES, Super NES, Neo Geo entre otros... vamos a ver su elavoracion a continuacion.

Lo que necesitaremos es:

Raspberry Pi

Un control para PC

El diseño 3D de nuestra consola la cual pueden descargar haciendo click Aqui.



Descargamos la version de Retropie que sea compatible con nuestra Raspberry (en mi caso la 2)
Retropie 4.0
SD Card formatter (para formatear la micro SD)
Win32 Disk Imager (para copiar la imagen)
Algunos Roms

Una memoria micro SD con su adaptador para PC (16gb suficiente)
Una memoria USB para transferir los juegos (8 a 16gb de preferencia con led)
Un adaptador con cable micro usb (de preferencia 1.5 a 2A)
Un control para juegos de PC
Cable HDMI para la TV
1 Led (opcional)

Teniendo todo listo lo unico que resta es ver el video el cual explica pasa a paso su elavoracion a continuacion.



Si tienen dudas o sugerencias pueden dejarnos sus comentarios y gracias por suscribirse y visitarnos.




martes, 4 de octubre de 2016

Construye tu propio quadcopter.

Construye tu propio quadcopter.

Lo que en el pasado parecian maquinas de alta tecnologia y uso militar, hoy en dia se han convertido en dispositivos multiusos tales como equipos de filmacion, entretenimiendo, y en algunos casos como un juguete (hasta cierto punto) me refiero a los Drones los cuales podemos encontrar cientos de diseños y tamaños como tambien diferentes precios; pero, que tan dificil son de fabricar? y porque algunos cuestan tanto dinero? bien eso depende de que tipo de dron querramos.

En esta ocacion vamos a fabricar un quadcopter (cuatro motores) en una serie de videos donde se explicara paso a paso los procedimientos a seguir, pareciera algo del otro mundo aunque en realidad no es tan dificil puesto a que hoy en dia encontramos componentes ya casi listos de instalar y hacer funcionar con la ventaja que podemos modificar ciertos valores o parametros a nuestro gusto.

Iniciemos con las parques necesarias.

En este caso utilice una impresora 3D para imprimir el armazon el cual aca dejo las partes listas para imprimir:
















  1. Partes STL
  2. Controladora Multiwii
  3. Control remoto y receptor de 6 canales
  4. Motores y controladores de velocidad
  5. Propelas
  6. Bateria
  7. Board de distibucion de corriente
  8. Tornillos y tuercas, you utilice M3 de diferentes medidas, 8mm 10mm 16mm y 20mm
Esto es lo esencial para arrancar con el proyecto, podemos agregar muchas otras cosas como camaras, Gps etc pero eso ya es opcional y depende el presupuesto de cada uno. abajo dejo el video numero uno con la intruduccion y eventualmente ire subiendo los siguientes videos.


Como siempre, gracias por visitar nuestro blog y suscribirse a nuestro canal de youtube.