Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED

Componentes y materiales

ComponenteCantidadNotas
Arduino Nano R31Controla la "mirada" (ojos LED)
Micro-servo SG901Movimiento cuello/cabeza
Módulo matriz LED MAX7219 (rojo)12 matrices 8x8 para los ojos
Portapilas 4xAA1También sirve Li-ion 3.7V 200mAh
Tornillos varios1 set
Molde esfera acrílica transparente (baño)1Cabeza del robot
Adafruit Trinket 5V1Controla servo cuello

Herramientas necesarias

Historia y concepto

El proyecto nació como un Xpider (araña de Thingiverse), pero al ver a Archimedes de Alex Glow, quise crear mi propio compañero robótico. No buscaba un búho, sino algo único. Recordé la leyenda africana de Anansi, la araña tramposa y dios de las historias. Así nació ASi (en realidad ASi_v4; v1-v3 fueron prototipos).

Ensamblaje mecánico

El diseño original Xpider se modificó ampliamente. Estas son las principales piezas a imprimir:

ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED

El montaje es intuitivo; aquí algunas fotos de referencia:

ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED
ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED

Electrónica: dos microcontroladores

ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED
Fijar el servo con su engranaje; asegurar que el piñón encaje.
ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED
ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED
ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED

Ambos micros van en protoboards pequeñas alimentadas en cadena (daisy-chain) con 4 pilas AA. Nota: con una sola Li-ion 3.7V a veces fallaba el arranque; mejor usar dos Li-ion separadas con interruptor común.

Cabeza

Es una bola de Navidad (esfera transparente). La rocié ligeramente con pintura negra en spray. Luego, silicona caliente para pegarla a la pieza del cuello. ¡Cabeza lista!

ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED
ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED
ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED

Montaje portátil

Pasé alambre de armadura por los agujeros de la base y lo fijé a la correa del hombro de mi mochila. Así ASi me acompaña a todas partes.

ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED

Código

ASi Eye (Arduino Nano – matriz LED ojos)

#include <LedControl.h>

#define PIN_EYES_DIN 12
#define PIN_EYES_CS  11
#define PIN_EYES_CLK 10

LedControl lc = LedControl(PIN_EYES_DIN, PIN_EYES_CLK, PIN_EYES_CS, 2);

bool rotateMatrix0 = false;
bool rotateMatrix1 = false;

byte eyeBall[8] = {
  B00111100, B01111110, B11111111, B11111111,
  B11111111, B11111111, B01111110, B00111100
};
byte eyePupil = B11100111;

byte eyeCurrent[8];
int currentX, currentY;
int cntLoop = 0, cntEffect = 0;

#define MIN -2
#define MAX  2
#define DELAY_BLINK 40
#define EFFECT_ITERATION 4

void setup() {
  lc.shutdown(0,false); lc.shutdown(1,false);
  lc.setIntensity(0,1); lc.setIntensity(1,1);
  lc.clearDisplay(0); lc.clearDisplay(1);

  // Test LEDs
  byte b = B10000000;
  for (int c=0; c<=7; c++) {
    for (int r=0; r<=7; r++) { setRow(0,r,b); setRow(1,r,b); }
    b >>= 1; delay(50);
  }
  b = B11111111;
  for (int r=0; r<=7; r++) { setRow(0,r,b); setRow(1,r,b); }
  delay(500);
  lc.clearDisplay(0); lc.clearDisplay(1); delay(500);

  randomSeed(analogRead(0));
  displayEyes(0,0); delay(2000);
  blinkEyes(true,false); blinkEyes(false,true); delay(1000);
}

void loop() {
  moveEyes(random(MIN,MAX+1), random(MIN,MAX+1), 50);
  delay(random(5,7)*500);

  if (random(0,5) == 0) { delay(500); blinkEyes(); delay(500); }

  if (EFFECT_ITERATION > 0) {
    if (++cntLoop == EFFECT_ITERATION) {
      cntLoop = 0;
      if (++cntEffect > 6) cntEffect = 0;
      switch(cntEffect) {
        case 0: crossEyes(); delay(1000); break;
        case 1: roundSpin(2); delay(1000); break;
        case 2: crazySpin(2); delay(1000); break;
        case 3: methEyes(); delay(1000); break;
        case 4: lazyEye(); delay(1000); break;
        case 5: blinkEyes(true,false); blinkEyes(false,true); delay(1000); break;
        case 6: glowEyes(3); delay(1000); break;
      }
    }
  }
}

// ... (funciones auxiliares: blinkEyes, crossEyes, roundSpin, crazySpin, methEyes,
// lazyEye, glowEyes, moveEyes, displayEyes, getValidValue, setRow, bitswap)
// Código completo en el repositorio del proyecto.

ASi Neck with Trinket (servo cuello)

#define SERVO_PIN 4          // Pines 1 o 4 en Trinket
#define SERVO_MIN 4          // ~1 ms pulso
#define SERVO_MAX 26         // ~2 ms pulso

#include <Adafruit_TiCoServo.h>
Adafruit_TiCoServo servo;

void setup() {
  #if (F_CPU == 16000000L)
    clock_prescale_set(clock_div_1);  // 16 MHz Trinket
  #endif
  servo.attach(SERVO_PIN);
  pinMode(LED_PIN, OUTPUT);
  digitalWrite(LED_PIN, HIGH);
}

uint32_t lastLookTime = 0;

void loop() {
  unsigned long t = millis();
  if ((t - lastLookTime) > 500) {
    if (random(10) == 0) {
      servo.write(random(SERVO_MIN, SERVO_MAX));
      lastLookTime = t;
    }
  }
  if (random(10) == 0) {
    digitalWrite(LED_PIN, LOW);
    delay(random(50,250));
    digitalWrite(LED_PIN, HIGH);
  }
  delay(100);
}

Piezas personalizadas (STL para impresión 3D)

Esquemáticos

ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED
Circuito usado para el cuello (Trinket + servo)
ASi (Anansi): Robot Compañero con Arduino Nano y Pantalla LED
Alimentación en cadena para ambos micros desde baterías

Proceso de manufactura

  1. Construcción de un robot con Arduino y Raspberry Pi: Guía paso a paso
  2. Robot DIY inspirado en Wall‑E con Raspberry Pi y caja de CD
  3. PiCy: Construya su propio mini robot alimentado por Raspberry Pi
  4. Robot Despertador Rodante: Sistema Inteligente y Móvil de Despertar con Raspberry Pi y Google Calendar
  5. Construye un Robot Creeper de Minecraft Motorizado con Arduino
  6. Arquímedes: El Búho Robot Sensor de Emociones con IA
  7. Construye un Robot de Visión Artificial Controlado por Voz en Windows 10 IoT Core
  8. Robot ROS: Navegación Controlada por Terminal en Raspberry Pi
  9. Simple Pi Robot: Construye un Rover Autónomo 2‑WD con Raspberry Pi
  10. Comprender los Robots de Bebidas: Tecnología, Automatización y su Papel en la Industria de Bebidas
  11. Automatización robótica impulsa producción de baterías para el auge de vehículos eléctricos