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

Arduino Biped (Baby Dino)

Componentes y suministros

Arduino Mega 2560
× 1
batería de 9V (genérica)
× 1
Sensor ultrasónico SparkFun - HC-SR04
× 1
Micro-servo motor SG90
× 5

Acerca de este proyecto

Baby Dino es un robot de dos patas basado en Arduino. Básicamente utiliza cinco servomotores, dos para cada pata y uno para la cabeza. También utiliza un sensor ultrasónico para detectar obstáculos y evitarlos. ¡Veamos ahora cómo hacerlo!

Paso 1:Introducción

  • Baby Dino es un robot de bricolaje que utiliza Arduino.
  • Está hecho de cartón.
  • Encontrará obstáculos y luego se moverá hacia la izquierda o hacia la derecha.

Paso 2:componentes necesarios

  • 1 X Arduino Uno, Nano o Mega
  • Servo 5 X 9g
  • 1 X sensor ultrasónico HC-SR04
  • 1 batería LiPo (batería de 2 o 9 V)

Paso 3:reparación del servo

  • Descarga el programa
  • Sube a Arduino
  • Conecte el servo de acuerdo con el diagrama a continuación
  • Arregle la bocina del servo
  • Asegúrese de que todo esté a 90 grados
fix.ino

Paso 4:diseño

  • Descarga el diseño
  • Imprimirlo en A4
  • Péguelo en cartón
  • Córtalo

Paso 5:paso final

  • Coloque los servos en un cartón
  • Sube el programa a Arduino
  • Conecte los servos y el sensor ultrasónico
  • Administre el cable como cola
  • Conecte la batería

¡Eso es!

uBipedino.ino

Código

  • fix.ino
  • bípedo
fix.ino Arduino
 #include  Servo s1; Servo s2; Servo s3; Servo s4; Servo s5; configuración vacía () {s1.attach (8); s2. adjuntar (9); s3. adjuntar (10); s4.attach (11); s5.attach (12);} bucle vacío () {s1.write (90); s2.write (90); s3.write (90); s4.write (90); s5.write (90); } 
bípedo Arduino
edite los pines servo y ultrasónicos de acuerdo con su deseo
 #include  #include  // edite el pin de acuerdo con su conexión # defina IRsensorPin 13 // si está usando un sensor de infrarrojos en lugar de sensor ultrasónico # define TRIGGER_PIN 12 // Pin de Arduino atado al pin de disparo en el sensor ultrasónico. # define ECHO_PIN 11 // Pin de Arduino atado al pin de eco en el sensor ultrasónico. # define LEFTLEG 7 # define RIGHTLEG 10 # define LEFTFOOT 8 # define RIGHTFOOT 9 # define HEAD 6 # define MAX_DISTANCE 200 // Distancia máxima para la que queremos hacer ping (en centímetros). La distancia máxima del sensor está clasificada en 400-500 cm. Nueva sonda Ping (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Configuración NewPing de pines y distancia máxima.Servo Lleg; // crea un objeto servo para controlar un servo Servo Rleg; Servo Lfoot; Servo Rfoot; Servo Head; int Hcenter =70; // variable para almacenar la posición central del servo int RLcenter =100; int RFcenter =65; // variable para almacenar la posición central del servo int LLcenter =90; int LFcenter =75; int tAngle =30; // ángulo de inclinaciónint uAngle =35; // girar angleint sAngle =35; // swing angleint hAngle =Hcenter; void Forward (pasos de bytes, velocidad de bytes) {Serial.println ("Forward"); TiltRightUp (ángulo, velocidad); para (byte j =0; j  0; i- =5) {Lfoot.write (LFcenter + i); Rfoot.write (RFcenter + i); retraso (sp); }} void TiltLeftUp (byte ang, byte sp) {// inclina hacia la izquierda hacia arriba para (int i =0; i <=ang; i + =5) {Lfoot.write (LFcenter-i); Rfoot.write (RFcenter-i); retraso (sp); }} void TiltLeftDown (byte ang, byte sp) {// inclina a la izquierda hacia abajo para (int i =ang; i> 0; i- =5) {Lfoot.write (LFcenter-i); Rfoot.write (RFcenter-i); retraso (sp); }} void LeftFootUp (char ang, byte sp) {// inclinar a la izquierda hacia arriba para (int i =0; i <=ang; i + =5) {Lfoot.write (LFcenter-i); retraso (sp); }} void LeftFootDown (byte ang, byte sp) {// inclinar a la izquierda hacia abajo para (int i =ang; i> 0; i- =5) {Lfoot.write (LFcenter-i); retraso (sp); }} void RightFootUp (byte ang, byte sp) {// inclinar hacia arriba para (int i =0; i <=ang; i + =5) {Rfoot.write (RFcenter + i); retraso (sp); }} void RightFootDown (byte ang, byte sp) {// inclinar a la derecha hacia abajo para (int i =ang; i> 0; i- =5) {Rfoot.write (RFcenter + i); retraso (sp); }} void SwingRight (byte ang, byte sp) {// swing a la derecha para (int i =0; i <=ang; i + =5) {Lleg.write (LLcenter-i); Rleg.write (RLcenter-i); retraso (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); retraso (sp); }} void SwingLeft (byte ang, byte sp) {// swing a la izquierda para (byte i =0; i <=ang; i =i + 5) {Lleg.write (LLcenter + i); Rleg.write (RLcenter + i); retraso (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); retraso (sp); }} void RightLegIn (byte ang, byte sp) {// swing a la derecha para (int i =0; i <=ang; i + =5) {Rleg.write (RLcenter-i); retraso (sp); }} void RightLegIcenter (byte ang, byte sp) {// swing r-> center for (int i =ang; i> 0; i- =5) {Rleg.write (RLcenter-i); retraso (sp); }} void RightLegOut (byte ang, byte sp) {// swing a la derecha para (int i =0; i <=ang; i + =5) {Rleg.write (RLcenter + i); retraso (sp); }} void RightLegOcenter (byte ang, byte sp) {// swing r-> center for (int i =ang; i> 0; i- =5) {Rleg.write (RLcenter + i); retraso (sp); }} void LeftLegIn (byte ang, byte sp) {// swing a la izquierda para (byte i =0; i <=ang; i =i + 5) {Lleg.write (LLcenter + i); retraso (sp); }} void LeftLegIcenter (byte ang, byte sp) {// swing l-> center for (byte i =ang; i> 0; i =i-5) {Lleg.write (LLcenter + i); retraso (sp); }} void LeftLegOut (byte ang, byte sp) {// swing a la izquierda para (byte i =0; i <=ang; i =i + 5) {Lleg.write (LLcenter-i); retraso (sp); }} void LeftLegOcenter (byte ang, byte sp) {// swing l-> center for (byte i =ang; i> 0; i =i-5) {Lleg.write (LLcenter-i); retraso (sp); }} configuración vacía () {Serial.begin (19200); Serial.println ("La instalación de Bipedino se está ejecutando"); Lleg.attach (LEFTLEG); Rleg.attach (RIGHTLEG); Lfoot.attach (LEFTFOOT); Rfoot.attach (RIGHTFOOT); Head.attach (HEAD); CenterServos (); retraso (500); para (int i =0; i <5; ++ i) {GetSonar (); retraso (1000); } Serial.println ("Bipedino está listo.");} // setup () void loop () {unsigned int cmCenter =MAX_DISTANCE; unsigned int cmLeft =MAX_DISTANCE; unsigned int cmRight =MAX_DISTANCE; HeadCenter (); cmCenter =GetSonar (); si (cmCenter <20) {HeadRight (); cmRight =GetSonar (); HeadCenter (); if (cmRight> 20) {TurnRight (1, 30); } else {HeadLeft (); cmLeft =GetSonar (); HeadCenter (); if (cmLeft> 20) {TurnLeft (1, 30); }}} else {int nSteps =cmCenter / 5; si (nPasos> 5) {nPasos =5; } más {nPasos =1; } Serial.print ("Pasos <"); Serial.print (nSteps); Serial.println (">"); para (int n =0; n   

Piezas y carcasas personalizadas

Esquemas


Proceso de manufactura

  1. Chupete
  2. Portabebés
  3. Toallitas húmedas para bebés
  4. Fórmula para bebés
  5. Cochecito de bebé
  6. Arduino Spybot
  7. FlickMote
  8. Televisión casera B-Gone
  9. Reloj maestro
  10. Obstáculos que evitan el robot con servomotor
  11. Encuéntrame