Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Onderdelen en benodigdheden

OnderdeelAantal
Otto DIY Builder Kit1
Otto DIY Arduino NANO Shield I/O1
Arduino Nano Every1
USB-A naar Mini-USB kabel1
SG90 Micro-servomotor4
Buzzer1
Female/Female Jumper draden6
Otto DIY 8x8mm Micro Switch Self lock On/Off1
4xAA batterijhouder1
AA Batterijen1

Nodige tools en machines

  • 3D-printer (generic)
  • Phillips kruiskopschroevendraaier

Apps en online diensten

  • Arduino IDE
  • Arduino Web Editor
  • Microsoft Visual Studio Code Extension for Arduino

Over dit project

Wie is Otto?

Een interactieve robot die iedereen kan maken!

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Wat kan Otto?

Otto loopt, danst, maakt geluiden en ontwijkt obstakels.

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Waarom is Otto bijzonder?

Otto is volledig open source, Arduino-compatibel, 3D-printbaar en heeft een sociale missie om een inclusieve omgeving voor kinderen te creëren.

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Otto was geïnspireerd op de robot BoB the BiPed en geprogrammeerd met code van de open source biped robot Zowi.

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

CC-BY-SA

Otto's verschillen liggen in de gemonteerde afmetingen (11cm x 7cm x 12cm), schonere integratie van componenten en expressies. Met kant-en-klaar en 3D-geprinte onderdelen, eenvoudige elektronische verbindingen (bijna geen solderen vereist) en basiscoderingsvaardigheden, kun je je eigen schattige Otto-vriend in minder dan één uur bouwen!

Otto is ontworpen met Autodesk 123D Design, nu Tinkercad-software, zodat je het kunt aanpassen voor customization of verdere verbeteringen.

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Deze stapsgewijze handleiding richt zich op het bouwen van de eenvoudige versie van Otto DIY; er zijn meer geavanceerde bipedale robots zoals Otto DIY+ of Tito.

Stap 1: Verzamel alle onderdelen en tools

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Verzamel alle kant-en-klaar hardware-onderdelen die je nodig hebt voor de montage. Een mini-breadboard is een alternatief voor de shield, maar vereist meer bedrading en tijd.

Daarna hoef je alleen nog 6 onderdelen in totaal te 3D-printen:

  1. 3D-geprinte kop
  2. 3D-geprinte lichaam
  3. 3D-geprinte been x2
  4. 3D-geprinte voet x2

Optioneel: een snijmes voor na-bewerking van de 3D-onderdelen (als de printkwaliteit goed genoeg is, niet nodig) en een soldeerbout (als je het op batterij wilt laten draaien, anders kan je het via USB voeden).

Dat is alles! Download alle .stl-bestanden. Als je geen 3D-printer hebt, kun je altijd naar je lokale makerspace gaan.

Als je de onderdelen niet hebt of moeilijk te krijgen zijn, kun je onze complete kits kopen op www.ottodiy.com

3D-printinstellingen

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Otto is ontworpen voor 3D-printen; de gedownloade bestanden zijn correct georiënteerd en gecentreerd, zodat ze geen problemen geven als je deze algemene parameters volgt:

  • Aanbevolen: FDM 3D-printer met PLA-materiaal.
  • Geen supports of rafts nodig.
  • Resolutie: 0,15 mm
  • Vuldichtheid: 20%

Voor slicing en het genereren van de g-code voor de machine: gratis slicer-software zoals Cura of in ons geval FlashPrint die bij de FlashForge Finder 3D-printer hoort (als je de print uitbesteedt, hoef je je hier geen zorgen over te maken).

Na het printen moet je de benen en voeten die de motoren fixeren een beetje schoonmaken.

Controleer je onderdelen

Zoals vermeld in stap 2, worden micro-servomotoren geleverd met 3 schroefjes; in de afbeelding zijn deze nu opgenomen en de onderdeelnummers hernummerd voor gemakkelijke leesbaarheid.

Onthoud je mini-schroevendraaier te magnetiseren.

Download of print de instructiehandleidingen of volg deze video:

Voet-servo montage

Plaats de micro-servo in de voet en duw hem erin; als het te zwaar gaat, moet je misschien het gebied met een snijmes meer schoonmaken.

Het is heel belangrijk om te controleren of de servo minstens 90 graden aan elke kant kan draaien.

Na controle van de beweging, fixeer hem met alleen de kleine schroef.

Hetzelfde proces voor de andere voet.

Servo's aan lichaam fixeren

Neem de andere 2 micro-servo's, plaats ze op de aangewezen locaties in het 3D-geprinte lichaam en fixeer ze alleen met de puntsschroeven.

Benen aan lichaam fixeren

Verbind de benen met de naaf van de micro-servo; net als de voet-servo's moet je controleren of de benen 90 graden aan elke kant ten opzichte van het lichaam kunnen draaien.

Na verificatie van de uitlijning, fixeer ze met de kleine schroeven in het gat aan de binnenkant van het been.

Voeten aan benen fixeren

Houd rekening met de kabels zoals in de illustratie getoond; je moet de kabels in de gleuven van het lichaam leggen, door het gat van de benen.

Zodra ze in de juiste positie zitten, fixeer ze van achteren met de puntsschroeven.

Kopmontage

Begin met de ultrasoonsensor; het is belangrijk om de ogen tot aan de rand uit te trekken.

Na het plaatsen van de Arduino Nano in de shield, kun je optioneel de pluskabel van de batterijhouder aan Vin op de print solderen en de minuskabel aan een willekeurige GND.

Steek beide printplaten diagonaal in elkaar met de USB-connector gericht naar het gat in de 3D-geprinte kop, en fixeer ze met de laatste 2 puntsschroeven.

Stap 9: Elektrische verbinding

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Bereid de DuPont-kabels, microschakelaar en buzzer voor.

Volg vervolgens de pinnummers in het schema en zorg dat ze op de juiste positie zitten.

Als je de Arduino Nano shield niet hebt, gebruik een breadboard en volg dit schakelschema: TinkerCAD Circuits.

Programmeren met blokken

Je kunt altijd de broncodes van Arduino uitproberen via de Otto Wikifactory.

Hier zijn enkele complementaire tutorials voor beginners om snel aan de slag te gaan met Arduino voor elk component:

Bezoek www.ottodiy.com

De Otto DIY+ versie biedt meer mogelijkheden met Bluetooth, meer sensoren en interacties.

Plaats je remix en modificaties op de Wikifactory.

Code

Obstakelvermijding

//---------------------------------------------------------------- 
//-- Zowi basic firmware v2 aangepast voor Otto 
//-- (c) BQ. Vrijgegeven onder GPL-licentie 
//-- 04 December 2015 
//-- Authors: Anita de Prado, Jose Alberca, Javier Isabel, Juan Gonzalez (obijuan), Irene Sanz 
//----------------------------------------------------------------- 
//-- Experimenteer met alle functies die Otto heeft dankzij Zowi! 
//----------------------------------------------------------------- 
#include <Servo.h> 
#include <Oscillator.h> 
#include <EEPROM.h> 
#include <BatReader.h> 
#include <US.h> 
#include <LedMatrix.h> 
#include <EnableInterrupt.h> 
#include <OttoSerialCommand.h> 
OttoSerialCommand SCmd; 
//-- Otto Library 
#include <Otto.h> 
Otto Otto; 
//--------------------------------------------------------- 
//-- Eerste stap: Configureer de pennen waar de servo's aan vastzitten 
/* --------------- 
| O O | 
|---------------| 
YR 3==> | | <== YL 2 
--------------- 
|| || || || 
RR 5==> ----- ------ <== RL 4 
|----- ------| */ 
#define PIN_YL 2 //servo[0] 
#define PIN_YR 3 //servo[1] 
#define PIN_RL 4 //servo[2] 
#define PIN_RR 5 //servo[3] 
//---Otto Knoppen 
#define PIN_SecondButton 6 
#define PIN_ThirdButton 7 
///////////////////////////////////////////////////////////////// 
//-- Globale Variabelen -------------------------------------------// 
///////////////////////////////////////////////////////////////// 
const char programID[]="Otto_todo"; 
const char name_fac='$'; 
const char name_fir='#'; 
//-- Bewegingsparameters 
int T=1000; 
int moveId=0; 
int moveSize=15; 
//--------------------------------------------------------- 
//-- Otto heeft 5 modi: 
//-- * MODE = 0: Otto wacht 
//-- * MODE = 1: Dansmodus! 
//-- * MODE = 2: Obstakeldetectiemodus 
//-- * MODE = 3: Geluidsdetectiemodus 
//-- * MODE = 4: OttoPAD of teleoperatiemodus (luistert naar SerialPort). 
//--------------------------------------------------------- 
volatile int MODE=0; 
volatile bool buttonPushed=false; 
volatile bool buttonAPushed=false; 
volatile bool buttonBPushed=false; 
unsigned long previousMillis=0; 
int randomDance=0; 
int randomSteps=0; 
bool obstacleDetected = false; 
///////////////////////////////////////////////////////////////// 
//-- Setup ------------------------------------------------------// 
///////////////////////////////////////////////////////////////// 
void setup(){ 
  Serial.begin(115200); 
  pinMode(PIN_SecondButton,INPUT); 
  pinMode(PIN_ThirdButton,INPUT); 
  Otto.init(PIN_YL,PIN_YR,PIN_RL,PIN_RR,true); 
  randomSeed(analogRead(A6)); 
  enableInterrupt(PIN_SecondButton, secondButtonPushed, RISING); 
  enableInterrupt(PIN_ThirdButton, thirdButtonPushed, RISING); 
  SCmd.addCommand("S", receiveStop); 
  SCmd.addCommand("L", receiveLED); 
  SCmd.addCommand("T", recieveBuzzer); 
  SCmd.addCommand("M", receiveMovement); 
  SCmd.addCommand("H", receiveGesture); 
  SCmd.addCommand("K", receiveSing); 
  SCmd.addCommand("C", receiveTrims); 
  SCmd.addCommand("G", receiveServo); 
  SCmd.addCommand("D", requestDistance); 
  SCmd.addCommand("N", requestNoise); 
  SCmd.addCommand("B", requestBattery); 
  SCmd.addCommand("I", requestProgramId); 
  SCmd.addDefaultHandler(receiveStop); 
  Otto.sing(S_connection); 
  Otto.home(); 
  delay(50); 
  for(int i=0; i<2; i++){ 
    for (int i=0;i<8;i++){ 
      if(buttonPushed){break;} 
      Otto.putAnimationMouth(littleUuh,i); 
      delay(150); 
    } 
  } 
  if(!buttonPushed){ 
    Otto.putMouth(smile); 
    Otto.sing(S_happy); 
    delay(200); 
  } 
  if (EEPROM.read(5)==name_fir){ 
    if(!buttonPushed){ Otto.jump(1,700); delay(200); } 
    if(!buttonPushed){ Otto.shakeLeg(1,T,1); } 
    if(!buttonPushed){ Otto.putMouth(smallSurprise); Otto.swing(2,800,20); Otto.home(); } 
  } 
  if(!buttonPushed){ Otto.putMouth(happyOpen); } 
  previousMillis = millis(); 
} 
///////////////////////////////////////////////////////////////// 
//-- Hoofd-Loop ---------------------------------------------// 
///////////////////////////////////////////////////////////////// 
void loop() { 
  if(obstacleDetected){ 
    Otto.sing(S_surprise); 
    Otto.playGesture(OttoFretful); 
    Otto.sing(S_fart3); 
    Otto.walk(2,1300,-1); 
    Otto.turn(2,1000,-1); 
    delay(50); 
    obstacleDetector(); 
  } else{ 
    Otto.walk(1,1000,1); 
    obstacleDetector(); 
  } 
} 
// ... (overige functies zoals in originele code) 

Aangepaste onderdelen en behuizingen

Thingiverse .STL 3D-printbare bestanden

3D-printonderdelen voor het bouwen van Otto. CAD-bestand op thingiverse.com

Schema's

Servo's, ultrasoonsensor, buzzer en batterijverbindingen, volg de kabels. Gebruik DuPont-kabels.

Bouw je eigen robot in slechts één uur met de Otto DIY-kit

Productieproces

  1. DIY Thermocam: Van Klaslokaal Idee Tot Globaal Product
  2. Custom Object-sensoren Bouwen voor LEGO Mindstorms EV3: DIY Licht-gebaseerde "Ogen"
  3. Bouw een DIY Google Voice HAT voor je Raspberry Pi
  4. Bouw een Internet-gecontroleerde Video-streamende Robot met Arduino & Raspberry Pi
  5. Een Ballistisch Parachute-herstelsysteem Ontwerpen voor UAV's
  6. Bouw Sauron: De Semi-Humanoïde Robot – Complete Arduino Mega 2560 Handleiding
  7. MeArm robotarm V1.0 – Bouw je eigen Arduino- en Raspberry Pi-aangedreven robotarm
  8. Bewijzen stappen om een robuust IoT-prototype te bouwen
  9. Waarom Elke Doet-het-zelf-er Een Luchtcompressor Nodig Heeft: Voordelen & Het Juiste Model Kiezen
  10. Reinforcement Learning: De Toekomst Van Intelligente Industriële Robotica
  11. Zelf Een Robotarm Bouwen: Risico's en Voordelen