Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Arduino Biped (Baby Dino)

Componentes e suprimentos

Arduino Mega 2560
× 1
Bateria de 9 V (genérica)
× 1
Sensor ultrassônico SparkFun - HC-SR04
× 1
Micro servo motor SG90
× 5

Sobre este projeto






Baby Dino é um robô de duas pernas baseado no Arduino. Basicamente, ele usa cinco servo motores, dois para cada perna e um para o cabeçote. Ele também usa um sensor ultrassônico para detectar obstáculos e evitá-los. Agora, vamos ver como fazer!





Etapa 1:Introdução

  • Baby Dino é um robô DIY que usa Arduino.
  • É feito de papelão.
  • Ele encontrará obstáculos e se moverá para a esquerda ou direita.





Etapa 2:componentes necessários

  • 1 X Arduino Uno, Nano ou Mega
  • 5 X 9g servo
  • 1 sensor ultrassônico X HC-SR04
  • 1 bateria X LiPo (bateria 2s ou 9v)





Etapa 3:consertando o servo

  • Baixe o programa
  • Upload para Arduino
  • Conecte o servo de acordo com o diagrama abaixo
  • Consertar o chifre do servo
  • Certifique-se de que tudo esteja a 90 graus
fix.ino





Etapa 4:Design

  • Faça download do design
  • Imprima em A4
  • Cole no papelão
  • Pare com isso





Etapa 5:Etapa final

  • Anexe os servos ao papelão
  • Faça upload do programa para o Arduino
  • Conecte os servos e o sensor ultrassônico
  • Gerenciar o cabo como cauda
  • Conecte a bateria

É isso!
uBipedino.ino

Código

  • fix.ino
  • bípede
fix.ino Arduino
 #include  Servo s1; Servo s2; Servo s3; Servo s4; Servo s5; configuração vazia () {s1.attach (8); s2.attach (9); s3.attach (10); s4.attach (11); s5.attach (12);} void loop () {s1.write (90); s2.write (90); s3.write (90); s4.write (90); s5.write (90); } 
bípede Arduino
edite os pinos servo e ultrassônicos de acordo com seu desejo
 #include  #include  // edite o pino de acordo com sua conexão # defina IRsensorPin 13 // se você estiver usando o sensor IR em vez de sensor ultrassônico # define TRIGGER_PIN 12 // Pino Arduino amarrado ao pino de gatilho no sensor ultrassônico. # define ECHO_PIN 11 // Pino Arduino amarrado ao pino eco no sensor ultrassônico. # define LEFTLEG 7 # define RIGHTLEG 10 # define LEFTFOOT 8 # define RIGHTFOOT 9 # define HEAD 6 # define MAX_DISTANCE 200 // Distância máxima para a qual queremos pingar (em centímetros). A distância máxima do sensor é avaliada em 400-500cm. Sonar NewPing (TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Configuração de NewPing de pinos e distância máxima.Servo Lleg; // cria um objeto servo para controlar um servo Servo Rleg; Servo Lfoot; Servo Rfoot; Servo Cabeça; int Hcenter =70; // variável para armazenar a posição do servo central int RLcenter =100; int RFcenter =65; // variável para armazenar a posição do servo central int LLcenter =90; int LFcenter =75; int tAngle =30; // inclinação do ângulo uAngle =35; // girar o ânguloint sAngle =35; // swing angleint hAngle =Hcenter; void Forward (passos de byte, velocidade de byte) {Serial.println ("Forward"); TiltRightUp (tAngle, velocidade); para (byte j =0; j  0; i- =5) {Lfoot.write (LFcenter + i); Rfoot.write (RFcenter + i); atraso (sp); }} void TiltLeftUp (byte ang, byte sp) {// inclinação para a esquerda para (int i =0; i <=ang; i + =5) {Lfoot.write (LFcenter-i); Rfoot.write (RFcenter-i); atraso (sp); }} void TiltLeftDown (byte ang, byte sp) {// inclinar para a esquerda para baixo para (int i =ang; i> 0; i- =5) {Lfoot.write (LFcenter-i); Rfoot.write (RFcenter-i); atraso (sp); }} void LeftFootUp (char ang, byte sp) {// inclinar para a esquerda para (int i =0; i <=ang; i + =5) {Lfoot.write (LFcenter-i); atraso (sp); }} void LeftFootDown (byte ang, byte sp) {// inclinar para a esquerda para baixo para (int i =ang; i> 0; i- =5) {Lfoot.write (LFcenter-i); atraso (sp); }} void RightFootUp (byte ang, byte sp) {// inclinar para cima para (int i =0; i <=ang; i + =5) {Rfoot.write (RFcenter + i); atraso (sp); }} void RightFootDown (byte ang, byte sp) {// inclinar para a direita para baixo para (int i =ang; i> 0; i- =5) {Rfoot.write (RFcenter + i); atraso (sp); }} void SwingRight (byte ang, byte sp) {// balançar para a direita para (int i =0; i <=ang; i + =5) {Lleg.write (LLcenter-i); Rleg.write (RLcenter-i); atraso (sp); }} void SwingRcenter (byte ang, byte sp) {// swing r-> centro para (int i =ang; i> 0; i- =5) {Lleg.write (LLcenter-i); Rleg.write (RLcenter-i); atraso (sp); }} void SwingLeft (byte ang, byte sp) {// swing left for (byte i =0; i <=ang; i =i + 5) {Lleg.write (LLcenter + i); Rleg.write (RLcenter + i); atraso (sp); }} void SwingLcenter (byte ang, byte sp) {// swing l-> centro para (byte i =ang; i> 0; i =i-5) {Lleg.write (LLcenter + i); Rleg.write (RLcenter + i); atraso (sp); }} void RightLegIn (byte ang, byte sp) {// balançar para a direita para (int i =0; i <=ang; i + =5) {Rleg.write (RLcenter-i); atraso (sp); }} void RightLegIcenter (byte ang, byte sp) {// swing r-> centro para (int i =ang; i> 0; i- =5) {Rleg.write (RLcenter-i); atraso (sp); }} void RightLegOut (byte ang, byte sp) {// balançar para a direita para (int i =0; i <=ang; i + =5) {Rleg.write (RLcenter + i); atraso (sp); }} void RightLegOcenter (byte ang, byte sp) {// swing r-> center for (int i =ang; i> 0; i- =5) {Rleg.write (RLcenter + i); atraso (sp); }} void LeftLegIn (byte ang, byte sp) {// balançar para a esquerda para (byte i =0; i <=ang; i =i + 5) {Lleg.write (LLcenter + i); atraso (sp); }} void LeftLegIcenter (byte ang, byte sp) {// swing l-> centro para (byte i =ang; i> 0; i =i-5) {Lleg.write (LLcenter + i); atraso (sp); }} void LeftLegOut (byte ang, byte sp) {// swing left for (byte i =0; i <=ang; i =i + 5) {Lleg.write (LLcenter-i); atraso (sp); }} void LeftLegOcenter (byte ang, byte sp) {// swing l-> centro para (byte i =ang; i> 0; i =i-5) {Lleg.write (LLcenter-i); atraso (sp); }} void setup () {Serial.begin (19200); Serial.println ("A configuração do Bipedino está em execução."); Lleg.attach (LEFTLEG); Rleg.attach (RIGHTLEG); Lfoot.attach (LEFTFOOT); Rfoot.attach (RIGHTFOOT); Head.attach (HEAD); CenterServos (); atraso (500); para (int i =0; i <5; ++ i) {GetSonar (); atraso (1000); } Serial.println ("Bipedino está pronto.");} // setup () void loop () {unsigned int cmCenter =MAX_DISTANCE; sem sinal int cmLeft =MAX_DISTANCE; sem sinal int cmRight =MAX_DISTANCE; HeadCenter (); cmCenter =GetSonar (); if (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; se (nPassos> 5) {nPassos =5; } else {nSteps =1; } Serial.print ("Passos <"); Serial.print (nSteps); Serial.println (">"); para (int n =0; n  

Peças personalizadas e gabinetes

Esquemas


Processo de manufatura

  1. Chupeta
  2. Carrocinha
  3. Lenços umedecidos
  4. Fórmula para bebês
  5. Carrinho de bebê
  6. Arduino Spybot
  7. FlickMote
  8. TV B-Gone caseiro
  9. Relógio mestre
  10. Obstáculos para evitar o robô com servo motor