Manufaktur industri
Industri Internet of Things | bahan industri | Pemeliharaan dan Perbaikan Peralatan | Pemrograman industri |
home  MfgRobots >> Manufaktur industri >  >> Manufacturing Technology >> Proses manufaktur

Arduino Biped (Baby Dino)

Komponen dan persediaan

Arduino Mega 2560
× 1
Baterai 9V (generik)
× 1
Sensor Ultrasonik SparkFun - HC-SR04
× 1
Motor servo mikro SG90
× 5

Tentang proyek ini

Baby Dino adalah robot berkaki dua berbasis Arduino. Pada dasarnya menggunakan lima motor servo, dua untuk setiap kaki dan satu untuk kepala. Ia juga menggunakan sensor ultrasonik untuk mendeteksi rintangan dan menghindarinya. Sekarang, mari kita lihat cara membuatnya!

Langkah 1:Pendahuluan

  • Baby Dino adalah robot DIY yang menggunakan Arduino.
  • Terbuat dari karton.
  • Ini akan menemukan rintangan, lalu bergerak ke kiri atau ke kanan.

Langkah 2:Diperlukan Komponen

  • 1 X Arduino Uno, Nano atau Mega
  • 5 X 9g servo
  • 1 X HC-SR04 sensor ultrasonik
  • 1 X baterai LiPo (baterai 2s atau 9v)

Langkah 3:Memperbaiki Servo

  • Unduh programnya
  • Unggah ke Arduino
  • Hubungkan servo sesuai dengan diagram di bawah ini
  • Perbaiki klakson servo
  • Pastikan semuanya pada 90 derajat
fix.ino

Langkah 4:Desain

  • Unduh desainnya
  • Cetak ke A4
  • Tempel di karton
  • Hentikan

Langkah 5:Langkah Terakhir

  • Pasang servo ke karton
  • Unggah program ke Arduino
  • Hubungkan servo dan sensor ultrasonik
  • Mengelola kabel sebagai ekor
  • Hubungkan baterai

Itu dia!

uBipedino.ino

Kode

  • fix.ino
  • berkaki dua
fix.inoArduino
#include Servo s1; Servo s2; Servo s3; Servo s4; Servo s5; void setup() { s1.attach(8); s2.lampirkan (9); s3.attach(10); s4.attach(11); s5.attach(12);}void loop() { s1.write(90); s2.tulis(90); s3.tulis(90); s4.tulis(90); s5.tulis(90); }
bipedArduino
edit pin servo dan ultrasonik sesuai keinginan Anda
#include  #include // edit pin sesuai koneksi Anda#define IRsensorPin 13// jika Anda menggunakan sensor ir selain sensor ultrasonik#menentukan TRIGGER_PIN 12 // Pin Arduino diikat ke pin pemicu pada sensor ultrasonik.#menentukan ECHO_PIN 11 // Pin Arduino diikat ke pin gema pada sensor ultrasonik.#menentukan LEFTLEG 7#menentukan RIGHTLEG 10#menentukan LEFTFOOT 8#menentukan RIGHTFOOT 9#define HEAD 6#define MAX_DISTANCE 200 // Jarak maksimum yang ingin kita ping (dalam sentimeter). Jarak sensor maksimum dinilai pada 400-500cm.Sonar Ping Baru(TRIGGER_PIN, ECHO_PIN, MAX_DISTANCE); // Setup Pin baru dan jarak maksimum.Servo Lleg; // membuat objek servo untuk mengontrol servo Rleg Servo;Servo Lfoot;Servo Rfoot;Servo Head;int Hcenter =70; // variabel untuk menyimpan posisi servo tengah int RLcenter =100;int RFcenter =65; // variabel untuk menyimpan posisi servo tengah int LLcenter =90;int LFcenter =75;int tAngle =30; // sudut kemiringanint uAngle =35; // putar angleint sAngle =35; // swing angleint hAngle =Hcenter; void Maju(Langkah byte, Kecepatan byte){ Serial.println("Maju"); TiltRightUp(Sudut, Kecepatan); for (byte j=0; j0; i-=5){ Lfoot.write(LFcenter+i); Rfoot.write(RFcenter+i); penundaan (sp); }}void TiltLeftUp(byte ang, byte sp){ //miringkan ke kiri untuk (int i=0; i<=ang; i+=5){ Lfoot.write(LFcenter-i); Rfoot.write(RFcenter-i); penundaan (sp); }}void TiltLeftDown(byte ang, byte sp){ //miring ke kiri ke bawah untuk (int i=ang; i>0; i-=5){ Lfoot.write(LFcenter-i); Rfoot.write(RFcenter-i); penundaan (sp); }}void LeftFootUp(char ang, byte sp){ //miringkan ke kiri untuk (int i=0; i<=ang; i+=5){ Lfoot.write(LFcenter-i); penundaan (sp); }}void LeftFootDown(byte ang, byte sp){ //miringkan ke kiri ke bawah untuk (int i=ang; i>0; i-=5){ Lfoot.write(LFcenter-i); penundaan (sp); }}void RightFootUp(byte ang, byte sp){ //miringkan ke kanan untuk (int i=0; i<=ang; i+=5){ Rfoot.write(RFcenter+i); penundaan (sp); }}void RightFootDown(byte ang, byte sp){ //miringkan ke bawah untuk (int i=ang; i>0; i-=5){ Rfoot.write(RFcenter+i); penundaan (sp); }}void SwingRight(byte ang, byte sp){ //ayun ke kanan for (int i=0; i<=ang; i+=5){ Lleg.write(LLcenter-i); Rleg.write(RLcenter-i); penundaan (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); penundaan (sp); }}void SwingLeft(byte ang, byte sp){ //ayun ke kiri untuk (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter+i); Rleg.write(RLcenter+i); penundaan (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); penundaan (sp); }}void RightLegIn(byte ang, byte sp){ //ayun ke kanan untuk (int i=0; i<=ang; i+=5){ Rleg.write(RLcenter-i); penundaan (sp); }}void RightLegIcenter(byte ang, byte sp){ //swing r->center for (int i=ang; i>0; i-=5){ Rleg.write(RLcenter-i); penundaan (sp); }}void RightLegOut(byte ang, byte sp){ //ayun ke kanan untuk (int i=0; i<=ang; i+=5){ Rleg.write(RLcenter+i); penundaan (sp); }}void RightLegOcenter(byte ang, byte sp){ //swing r->center for (int i=ang; i>0; i-=5){ Rleg.write(RLcenter+i); penundaan (sp); }}void LeftLegIn(byte ang, byte sp){ //ayun ke kiri untuk (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter+i); penundaan (sp); }}void LeftLegIcenter(byte ang, byte sp){ //swing l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter+i); penundaan (sp); }}void LeftLegOut(byte ang, byte sp){ //ayun ke kiri untuk (byte i=0; i<=ang; i=i+5){ Lleg.write(LLcenter-i); penundaan (sp); }}void LeftLegOcenter(byte ang, byte sp){ //swing l->center for (byte i=ang; i>0; i=i-5){ Lleg.write(LLcenter-i); penundaan (sp); }}pengaturan batal() { Serial.begin(19200); Serial.println("Konfigurasi Bipedino sedang berjalan."); Lleg.attach(KIRI); Rleg.attach(KANAN); Lfoot.attach(Kaki KIRI); Rfoot.attach(Kaki Kanan); Kepala.attach(KEPALA); PusatServo(); penundaan (500); for (int i =0; i <5; ++i) { GetSonar(); penundaan (1000); } Serial.println("Bipedino siap.");} // setup()void loop() { unsigned int cmCenter =MAX_DISTANCE; unsigned int cmLeft =MAX_DISTANCE; unsigned int cmKanan =MAX_DISTANCE; Pusat Pusat(); cmCenter =GetSonar(); if (cmCenter <20) { Kanan Kepala(); cmKanan =GetSonar(); Pusat Pusat(); if (cmKanan> 20) { Belok Kanan(1, 30); } else { Kiri Kepala(); cmKiri =GetSonar(); Pusat Pusat(); if (cmLeft> 20) { TurnLeft(1, 30); } } } else { int nSteps =cmCenter / 5; if (nLangkah> 5) { nLangkah =5; } else { nLangkah =1; } Serial.print("Langkah-langkah <"); Serial.print(nSteps); Serial.println(">"); for (int n =0; n   

Suku cadang dan penutup khusus

Skema


Proses manufaktur

  1. Dot
  2. Gendong Bayi
  3. Tisu Bayi
  4. Formula Bayi
  5. Kereta Bayi
  6. Arduino Spybot
  7. FlickMote
  8. TV Buatan Sendiri B-Gone
  9. Jam Master
  10. Hambatan Menghindari Robot Dengan Motor Servo