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

Arduino Tweevoeter (Baby Dino)

Componenten en benodigdheden

Arduino Mega 2560
× 1
9V-batterij (algemeen)
× 1
SparkFun ultrasone sensor - HC-SR04
× 1
SG90 Micro-servomotor
× 5

Over dit project

Baby Dino is een tweebenige robot gebaseerd op Arduino. Het gebruikt in feite vijf servomotoren, twee voor elk been en één voor het hoofd. Het gebruikt ook een ultrasone sensor om obstakels te detecteren en te vermijden. Laten we nu eens kijken hoe we het kunnen maken!

Stap 1:Inleiding

  • Baby Dino is een doe-het-zelf-robot die Arduino gebruikt.
  • Het is gemaakt van karton.
  • Het zal obstakels vinden en dan naar links of rechts gaan.

Stap 2:Benodigde componenten

  • 1 X Arduino Uno, Nano of Mega
  • 5 X 9g servo
  • 1 X HC-SR04 ultrasone sensor
  • 1 X LiPo-batterij (2s of 9v batterij)

Stap 3:Servo repareren

  • Download het programma
  • Uploaden naar Arduino
  • Sluit de servo aan volgens onderstaand schema
  • Repareer de servohoorn
  • Zorg ervoor dat alles op 90 graden staat
fix.ino

Stap 4:Ontwerp

  • Download het ontwerp
  • Print het op A4
  • Plak het op karton
  • Knip het uit

Stap 5:Laatste stap

  • Bevestig de servo's op karton
  • Upload het programma naar Arduino
  • Sluit de servo's en ultrasone sensor aan
  • Beheer de kabel als staart
  • Sluit de batterij aan

Dat is het!

uBipedino.ino

Code

  • fix.ino
  • tweebenig
fix.inoArduino
#include Servo s1; Servo s2; Servo s3; Servo s4; Servo s5; void setup() { s1.attach(8); s2.attach (9); s3.bijvoegen (10); s4.bijvoegen (11); s5.attach(12);}void loop() { s1.write(90); s2.write(90); s3.write(90); s4.write(90); s5.write(90); }
tweevoetigArduino
bewerk de servo- en ultrasone pinnen volgens uw wens
#include  #include // bewerk de pin volgens uw verbinding#define IRsensorPin 13// als u ir-sensor gebruikt in plaats van ultrasone sensor#define TRIGGER_PIN 12 // Arduino-pin vastgemaakt aan triggerpin op de ultrasone sensor.#define ECHO_PIN 11 // Arduino-pin vastgemaakt aan echopin op de ultrasone sensor.#define LEFTLEG 7#define RIGHTLEG 10#define LEFTFOOT 8#define RIGHTFOOT 9#define HEAD 6#define MAX_DISTANCE 200 // Maximale afstand waarvoor we willen pingen (in centimeters). De maximale sensorafstand is 400-500 cm. Nieuwe Ping-sonar (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // NewPing-instellingen van pinnen en maximale afstand.Servo Lleg; // maak een servo-object om een ​​servo Servo Rleg;Servo Lfoot;Servo Rfoot;Servo Head;int Hcenter =70; // variabele om de centrale servopositie op te slaan int RLcenter =100;int RFcenter =65; // variabele om de middelste servopositie op te slaan int LLcenter =90;int LFcenter =75;int tAngle =30; // kantelhoekint uAngle =35; // draai angleint sAngle =35; // zwenkhoekint hAngle =Hcenter; void Forward (bytestappen, bytesnelheid){ Serial.println ("Forward"); TiltRightUp (tAngle, Speed); for (byte j=0; j0; i-=5){ Lfoot.write(LFcenter+i); Rfoot.write(RFcenter+i); vertraging (sp); }}void TiltLeftUp(byte ang, byte sp){ //tilt left up for (int i=0; i<=ang; i+=5){ Lfoot.write(LFcenter-i); Rfoot.write(RFcenter-i); vertraging (sp); }}void TiltLeftDown(byte ang, byte sp){ //tilt left down for (int i=ang; i>0; i-=5){ Lfoot.write(LFcenter-i); Rfoot.write(RFcenter-i); vertraging (sp); }}void LeftFootUp(char ang, byte sp){ //tilt links omhoog voor (int i=0; i<=ang; i+=5){ Lfoot.write(LFcenter-i); vertraging (sp); }}void LeftFootDown(byte ang, byte sp){ //tilt links naar beneden voor (int i=ang; i>0; i-=5){ Lfoot.write(LFcenter-i); vertraging (sp); }}void RightFootUp(byte ang, byte sp){ // kantel naar rechts voor (int i=0; i<=ang; i+=5){ Rfoot.write(RFcenter+i); vertraging (sp); }}void RightFootDown(byte ang, byte sp){ // kantel rechts naar beneden voor (int i=ang; i>0; i-=5){ Rfoot.write(RFcenter+i); vertraging (sp); }}void SwingRight(byte ang, byte sp){ //swing rechts voor (int i=0; i<=ang; i+=5){ Lleg.write(LLcenter-i); Rleg.write(RLcenter-i); vertraging (sp); }}void SwingRcenter(byte ang, byte sp){ //swing r->center for (int i=ang; i>0; i-=5){ Lleg.write(LLcenter-i); Rleg.write(RLcenter-i); vertraging (sp); }}void SwingLeft(byte ang, byte sp){ //swing links voor (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter+i); Rleg.write(RLcenter+i); vertraging (sp); }}void SwingLcenter(byte ang, byte sp){ //swing l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter+i); Rleg.write(RLcenter+i); vertraging (sp); }}void RightLegIn(byte ang, byte sp){ //swing naar rechts voor (int i=0; i<=ang; i+=5){ Rleg.write(RLcenter-i); vertraging (sp); }}void RightLegIcenter(byte ang, byte sp){ //swing r->center for (int i=ang; i>0; i-=5){ Rleg.write(RLcenter-i); vertraging (sp); }}void RightLegOut(byte ang, byte sp){ //swing naar rechts voor (int i=0; i<=ang; i+=5){ Rleg.write(RLcenter+i); vertraging (sp); }}void RightLegOcenter(byte ang, byte sp){ //swing r->center for (int i=ang; i>0; i-=5){ Rleg.write(RLcenter+i); vertraging (sp); }}void LeftLegIn(byte ang, byte sp){ //swing links voor (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter+i); vertraging (sp); }}void LeftLegIcenter(byte ang, byte sp){ //swing l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter+i); vertraging (sp); }}void LeftLegOut(byte ang, byte sp){ //swing links voor (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter-i); vertraging (sp); }}void LeftLegOcenter(byte ang, byte sp){ //swing l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter-i); vertraging (sp); }}void setup() { Serial.begin(19200); Serial.println("De installatie van Bipedino wordt uitgevoerd."); Lleg.attach(LEFTLEG); Rleg.attach(RIGHTLEG); Lfoot.attach (LEFTFOOT); Rfoot.attach (RIGHTFOOT); Head.attach (HEAD); CenterServo's(); vertraging (500); voor (int i =0; i <5; ++i) { GetSonar(); vertraging (1000); } Serial.println ("Bipedino is klaar.");} // setup () void loop () { unsigned int cmCenter =MAX_DISTANCE; unsigned int cmLeft =MAX_DISTANCE; unsigned int cmRight =MAX_DISTANCE; Hoofdcentrum(); cmCenter =GetSonar(); if (cmCenter <20) { HeadRight(); cmRight =GetSonar(); Hoofdcentrum(); if (cmRight> 20) { TurnRight (1, 30); } else { HeadLinks(); cmLinks =GetSonar(); Hoofdcentrum(); if (cmLeft> 20) { TurnLeft(1, 30); } } } else { int nSteps =cmCenter / 5; if (nStappen> 5) { nStappen =5; } else { nStappen =1; } Serial.print("Stappen <"); Serial.print(nSteps); Serieel.println(">"); for (int n =0; n   

Aangepaste onderdelen en behuizingen

Schema's


Productieproces

  1. Fopspeen
  2. Draagzak
  3. Babydoekjes
  4. Babyvoeding
  5. Kinderwagen
  6. Arduino Spybot
  7. FlickMote
  8. Zelfgemaakte tv B-Gone
  9. Hoofdklok
  10. Obstakels vermijden robot met servomotor
  11. Vind mij