Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

ASi (Anansi) Roboter-Begleiter: Freundlicher Bot mit Arduino Nano & LED-Matrix

Komponenten und Zubehör

BauteilAnzahlHinweis
Arduino Nano R31Steuert LED-Matrix (Augen)
Adafruit Trinket 5V (oder Pro Trinket)1Steuert Servo (Hals-Bewegung)
SG90 Mikro-Servo1Für Kopf-Drehung
MAX7219 8×8 LED-Dot-Matrix Modul (rot)1Zwei 8×8 Matrizen = ein Modul mit 2 Chips
4× AA-Batteriehalter (oder 1× Li-Ion 3,7 V 200 mAh)1Zwei getrennte Stromkreise empfohlen
Klarsicht-Acryl-Kugel (Badebomben-Form, ~6–8 cm)1Kopf-Gehäuse, leicht schwarz besprüht
3D-gedruckte Teile (Körper, Beine, Gelenke, Zahnrad)1 SatzSTL-Dateien im CAD-Bereich
Schrauben, Muttern, Heißklebernach Bedarf

Benötigte Werkzeuge

Projektgeschichte

Ursprünglich als „Xpider“ (Thingiverse) geplant, inspirierte mich Archimedes von Alex Glow zu einem eigenen Roboter-Begleiter. Ich wollte keine Eule, sondern etwas Einzigartiges – und erinnerte mich an Anansi, den westafrikanischen Spinnen-Trickster und Gott der Geschichten. So entstand ASi (eigentlich ASi_v4, v1–v3 waren Prototypen).

Mechanischer Aufbau

ASi (Anansi) Roboter-Begleiter: Freundlicher Bot mit Arduino Nano & LED-Matrix

Der Zusammenbau ist weitgehend selbsterklärend. Wichtige Punkte:

ASi (Anansi) Roboter-Begleiter: Freundlicher Bot mit Arduino Nano & LED-Matrix

Elektronik & Steuerung

Zwei-Mikrocontroller-Architektur

Beide MCUs teilen sich die Stromversorgung (getrennte Breadboards, gemeinsamer Schalter). Li-Ion allein führte manchmal zu Startproblemen → zwei getrennte Li-Ion oder 4×AA empfohlen.

Software

1. ASi Eye (Arduino Nano)

Steuert zwei 8×8 Matrizen als Augen. Zufällige Blickbewegungen, Blinzeln, diverse Effekte.

#include <LedControl.h>

#define PIN_EYES_DIN 12
#define PIN_EYES_CLK 10
#define PIN_EYES_CS  11
LedControl lc = LedControl(PIN_EYES_DIN, PIN_EYES_CLK, PIN_EYES_CS, 2);

bool rotateMatrix0 = false, rotateMatrix1 = false;

byte eyeBall[8] = {
  B00111100, B01111110, B11111111, B11111111,
  B11111111, B11111111, B01111110, B00111100
};
byte eyePupil = B11100111;
byte eyeCurrent[8];
int currentX = 0, currentY = 0;
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);
  
  // LED-Test beim Start
  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() {
  // Zufällige Blickbewegung
  moveEyes(random(MIN, MAX+1), random(MIN, MAX+1), 50);
  delay(random(5,7) * 500);
  
  // Zufälliges Blinzeln
  if (random(0,5) == 0) { delay(500); blinkEyes(); delay(500); }
  
  // Periodische Effekte
  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;
      }
      cntEffect++;
    }
  }
}

// Hilfsfunktionen: setRow(), bitswap(), displayEyes(), moveEyes(), blinkEyes(),
// crossEyes(), roundSpin(), crazySpin(), methEyes(), lazyEye(), glowEyes(),
// getValidValue() – siehe vollständiger Code im Repository

2. ASi Neck with Trinket (Adafruit Trinket)

Steuert Servo für Kopfdrehung und Status-LED.

#define SERVO_PIN 4       // Pin 1 oder 4 auf Trinket
#define SERVO_MIN 4       // ~1 ms
#define SERVO_MAX 26      // ~2 ms

#include <Adafruit_TiCoServo.h>
Adafruit_TiCoServo servo;

void setup() {
  #if (F_CPU == 16000000L)
    clock_prescale_set(clock_div_1);  // 16 MHz Trinket: Prescaler setzen VOR servo.attach()
  #endif
  servo.attach(SERVO_PIN);
  pinMode(1, OUTPUT); digitalWrite(1, HIGH);  // Onboard LED
}

uint32_t lastLookTime = 0;

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

3D-Druckdateien (CAD)

Alle STL-Dateien für Körper, Beine, Gelenke, Zahnrad, Servo-Halter, Halsplatte, Fuß etc. sind im Projekt enthalten. Wichtige Teile:

Schaltpläne

ASi (Anansi) Roboter-Begleiter: Freundlicher Bot mit Arduino Nano & LED-Matrix
ASi (Anansi) Roboter-Begleiter: Freundlicher Bot mit Arduino Nano & LED-Matrix

Fazit

ASi ist ein charmantes, tragbares Roboter-Haustier mit lebendigen Augenbewegungen und neugierigem Kopfdrehen. Das Projekt verbindet 3D-Druck, Elektronik und Programmierung zu einem einzigartigen Begleiter – perfekt für Maker, die Charakter in ihre Projekte bringen wollen.

Weiterführende Links

Herstellungsprozess

  1. Arduino-Roboter mit Raspberry Pi bauen: Schritt-für-Schritt-Anleitung
  2. DIY Wall-E-inspirierter Raspberry Pi CD-Box-Roboter
  3. PiCy: Eigenen winzigen Raspberry-Pi-betriebenen Roboter bauen
  4. Rolling Alarm Robot: Intelligentes, mobiles Wecksystem mit Raspberry Pi und Google Kalender
  5. Einen motorisierten Minecraft-Creeper-Roboter mit Arduino bauen
  6. Archimedes: Der emotionserkennende KI-Roboter-Eule
  7. Sprachgesteuerter Computer-Vision-Roboter auf Windows 10 IoT Core bauen
  8. ROS Roboter: Terminal-gesteuerte Navigation auf Raspberry Pi
  9. Simple Pi Robot: 2-WD Autonomer Rover mit Raspberry Pi bauen
  10. Getränkeroboter: Technologie, Automatisierung und Rolle in der Getränkeindustrie