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

Kepala Manusia ke Kepala Robot

Komponen dan persediaan

Arduino UNO
× 1
motor servo
× 3
Perangkat Android
× 1
Papan catu daya teregulasi
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)

Aplikasi dan layanan online

SensoDuino

Tentang proyek ini

Berencana untuk melakukan sesuatu yang baru tetapi tidak terlalu mahal. Saya sangat menyukai Robotika. Tetapi karena kebutuhan servos dan bagian lain saya tidak suka membuatnya. Sekarang saya memiliki 4 motor servo dengan biaya hanya 13$. Sudah saya Tautkan satu papan dan papan Arduino.

Jadi, rencanakan untuk membuat kepala robot yang bergerak seperti kepala kita di semua sumbu tetapi dengan harga murah. Belajar untuk sensor dan metode yang berbeda, tetapi akhirnya temukan cara dengan semua item di tangan saya. Banyak hal yang saya pelajari selama proyek ini. Ayo saya jelaskan apa yang saya pelajari. Saya menyebutkan apa yang saya pelajari dengan huruf tebal.

Gunakan sensor Kemiringan Seluler Cerdas untuk mengontrol kepala

Langkah 1:Bahan Diperlukan

Bahan yang saya gunakan

1) Arduino uno.

2) Tautkan satu Papan.

3) 3 motor servo.

4) Unduh aplikasi android gratis SensoDuino dari sini.

5) Papan catu daya yang diatur (12V,5V,3.3V).

6) PCB Biasa.

7) konektor PCB Male

8) Potongan potongan makan Aluminium Limbah.

9) Pistol Lem Panas.

10) Adaptor 12V dan 5V.

11) Beberapa item lagi untuk dihias.

Mengapa Menautkan satu papan dan Arduino uno

Jika Anda memiliki Linkit satu papan dan motor servo 3V maka tidak perlu Arduino UNO karena servo 5V saya tidak berfungsi dengan baik di Tautkan satu papan.

Jika Anda memiliki Arduino uno dan modul gigi Biru maka tidak perlu Tautkan satu papan.

Saya tidak memiliki pelindung gigi biru, jadi saya menggunakan Linkit one board dan Arduino uno.

Langkah 2:Miliki Servo Shield

1) Buat pelindung motor servo untuk Arduino. (Hati-hati jika Anda menggunakan servos 3v, Linkit hanya memiliki 2 pin PWM)

2) Saya membuat pelindung seperti PCB untuk motor Servo.

3) Dengan menggunakan board ini kita dapat mengontrol 6 motor Servo dari pin arduino (3,5,6,9,10,11).

4) 3 servos Kawat digunakan di sini. di mana catu daya diberikan dari papan catu daya regulator 5 V eksternal.

5) Sementara servo kontrol menggunakan suplai adaptor untuk papan Arduino. Karena power supply USB PC menyebabkan getaran. Hal ini menyebabkan panas berlebih pada motor Servo dan merusak Motor servo . (salah satu kerusakan servo saya)

Langkah 3:Buat Linkit menjadi satu koneksi

1) Linkit satu ingin berbicara dengan arduino untuk mengontrol servos.

2) Untuk itu sambungkan Tx dari Linkit satu board ke Rx board Arduino dan keduanya Gnd.

3) setiap kali data yang diterima dikirim ke Arduino.

Catatan:-

Jika Anda memiliki pelindung bluetooth Arduino, maka Anda mengontrol seluruh penyiapan menggunakan satu papan.

Langkah 4:Posisi Servo

1) Atur semua motor servo ke 90 derajat. Untuk itu upload program diatas ke arduino..

2) Hubungkan daya Servo dan daya arduino ke papan catu daya regulator pada pin 5V dan 12V.

3) Hubungkan konektor servo female ke konektor male jika PCB yang kita buat di pin digital Arduino 3,5,6.

3) Hubungkan adaptor 12V ke papan catu daya regulator.

4) Nyalakan Adaptor.

5) Sekarang semua motor berputar 90 derajat sesuai program.

Sekarang lepaskan motor untuk bergabung bersama tanpa mengganggu rotor.

Posisi Kode IDE Arduino diberikan sebagai Servoposition.ino


Langkah 5:Rencanakan

1) Kepala berputar dalam 3 sumbu x,y,z.

2) Rotasinya adalah

a) Yaw - Lihat kiri dan kanan.

b) Pitch -Melihat ke atas dan ke bawah

c) Roll-Shake sisi bijaksana.

3) Pertama-tama gunakan selotip dua sisi untuk merencanakan Servo.

4) Potong bagian partisi Aluminium ke bentuk L untuk memperbaiki servo atas ke yang kedua.

5) Hubungkan klakson motor servo sesuai rencana Anda atau seperti yang ditunjukkan pada gambar

6) Semua pusat servo harus lurus saat berada di 90 derajat.

7) rekatkan semua servos dan bagian aluminium L menggunakan double side tape dan periksa gerakannya agar tidak mengganggu servos lainnya.

Langkah 6:Konstruksi

1) Sekarang waktunya untuk memperbaikinya secara permanen.

2) Lepaskan Stiker Sisi Ganda satu per satu dan perbaiki secara permanen menggunakan lem tembak.

3) Hati-hati jangan merusak servo.

4) Sambungkan lagi konektor servo ke board arduino dan hidupkan suplai

5) sesuaikan semua berdiri tegak seperti gambar terakhir.

Langkah 7:Detail Aplikasi Android

1) Buka SensoDuino di ponsel android Anda. Ini memiliki opsi untuk melihat semua pembacaan sensor seluler dan dapat mengirimkannya melalui gigi biru.

2) Semua sensor terbaru terdaftar dan kami hanya dapat memilih sensor mana yang tersedia di ponsel kami.

3) Masuk ke menu dan pilih connect Bluetooth.

4) Daftar menunjukkan perangkat gigi biru yang tersedia.

5) Pilih Linkit one bluetooth.

6) Untuk proyek kami, kami menggunakan sensor Orientasi. Centang kotak pertama untuk aktif dan kotak kedua untuk mengirim data melalui gigi biru.

7) Kami juga mengatur kinerja setiap sensor dengan memilih opsi kinerja di menu. Ubah interval waktu untuk setiap pembacaan.

Langkah 8:Pengodean

1) Dua pengkodean di sini satu untuk Linkit satu.

Menggunakan gigi biru itu mendapatkan data dari ponsel dan mengirimkannya ke Arduino menggunakan port serial

2) Program Arduino

Ketika data diterima di port serial, ia menggabungkan karakter sebagai string. Dan menggunakan indexof dan substring membagi satu hasil set lengkap. Di set itu lagi gunakan indexof dan substring untuk mendapatkan setiap posisi. Dari itu menggunakan peta di arduino untuk mengontrol servo dari 0 hingga 180 derajat. Jika Anda menggunakan pelindung Bluetooth, ubah program sesuai dengan kebutuhan.

Cara Kerja Program

1) Menggunakan sensor Orientasi, robot memutar kepala seperti kita.

a) Yaw adalah rotasinya dari 0 hingga 360 derajat sesuai posisi magnetik. Untuk itu kita menggunakan 90 hingga 270 derajat dimana 180 adalah 90 derajat untuk servo. Jadi kita ingin menghadap 180 derajat seperti tali saat memakai topi.

b) Pitch adalah sisi depan ke atas dan ke bawah. Pembacaan sensornya adalah -180 hingga + 180. Kami menggunakan -90 hingga +90.

c) Roll adalah sisi goyang dari 0 hingga 90 hingga 0 hingga -90 hingga 0. kami menggunakan -90 hingga 90.


Kode Linkit satu diberikan di Linkitonehead.ino

Kode Arduino diberikan di Arduinohead.ino


Langkah 9:Pesan papan

1) sambungkan Kedua papan pelindung ke bagian atas kedua mikrokontroler.

2) Tempelkan semuanya dengan stiker sisi ganda satu sama lain.

3) Hati-hati jangan tembak terminal apa pun.

Langkah 10:Jejak dengan tangan

Sekarang nyalakan semua suplai dan gunakan ponsel di tangan. Duduk menghadap 180 derajat dalam posisi miring dan gunakan ponsel untuk mengontrol ketiga motor servo.

Langkah 11:Perbaiki wajah

1) Ini waktu x-mas jadi menemukan banyak boneka santa claus di toko.

2) Beli satu boneka dan perbaiki kepala menggunakan double side tap ke lengan servo atas.

Langkah 12:Siapkan topi kontrol

1) Ambil topi biasa.

2) Tempel stiker sisi ganda di bagian depan tutup seperti yang ditunjukkan pada gambar.

3) Tempelkan ponsel Anda pada selotip dua sisi.

Langkah 13:Menguji video

Menguji Kinerja rendah berarti kecepatan penyegaran sensor setiap 250 milidetik.

Langkah 14:Video Akhir

Lihat aksinya pada kecepatan pembacaan sensor satu pembacaan per 100milidetik

Kode

  • Servoposition.ino
  • Linkitonehead.ino
  • Arduinohead.ino
Servoposition.inoArduino
#include  Servo leftright;Servo updown;Servo shake;void setup() { Serial.begin(9600); kirikanan.attach(3); updown.attach(5); goyang.attach(6); kirikanan.tulis(90); updown.write(90); goyang.tulis(90); }void loop() {}
Linkitonehead.inoArduino
#include #include int readval;String inputString ="";String outputString ="";int firstpoint=0;int secondpoint=0;void setup() { if(! LBTServer.begin((uint8_t*)"Sivam_LIO")) { kembali; }// Serial.begin(9600); Serial1.begin(9600); }void loop() { uint8_t buf[64]; int byteBaca; if(LBTServer.connected()) { while(true) { byteRead =LBTServer.readBytes(buf, 32); if(!bytesRead) istirahat; masukanString=""; for(int j=0;j<32;j++) { char inChar =char(buf[j]); // tambahkan ke inputString:inputString +=inChar; }// Serial.println(inputString); Serial1.println(inputString);// firstpoint=inputString.indexOf('>');// Serial.println(inputString);// Serial.println(firstpoint);// if (firstpoint>0)// {/ / secondpoint=inputString.indexOf('>',firstpoint+1);// if (secondpoint>0)// {// outputString=inputString.substring(firstpoint,secondpoint);// inputString=inputString.substring(secondpoint);// Serial.println(outputString);// }// } } delay(100); } else { LBTServer.accept(5); }}
Arduinohead.inoArduino
#include  Servo leftright;Servo updown;Servo shake;String inputString ="";boolean stringComplete =false;String teststr2;String sensorid;String sensorrecid;String sensorval1;String sensorval2;String sensorval3;int S1;int S2;int S3;int startchr=0;int endchr=0;int rot1;int rot2;int rot3;void setup() { Serial.begin(9600);// inputString.reserve(200); kirikanan.attach(3); updown.attach(5); shake.attach(6);}void loop() {}void serialEvent() { while (Serial.available()) { char inChar =(char)Serial.read(); if (inChar !='\n') { inputString +=inChar; } } startchr =inputString.indexOf('>'); if (startchr>=0) { endchr =inputString.indexOf('>',startchr+1); if (endchr>0) { teststr2=inputString.substring(startchr,endchr); inputString=inputString.substring(endchr); startchr =teststr2.indexOf(','); sensorid =teststr2.substring(1,startchr); endchr =teststr2.indexOf(',',startchr+1); sensorrecid=teststr2.substring(startchr+1,endchr); startchr=endchr; endchr =teststr2.indexOf(',',startchr+1); sensorval1=teststr2.substring(startchr+1,endchr); startchr=endchr; endchr =teststr2.indexOf(',',startchr+1); sensorval2=teststr2.substring(startchr+1,endchr); startchr=endchr; sensorval3=teststr2.substring(startchr+1); S1=sensorval1.toInt(); S2=sensorval2.toInt(); S3=sensorval3.toInt(); rot1=peta(S1, 90, 270, 180, 0); jika (rot1<0) rot1=0; else if (rot1>180) rot1=180; rot2=peta(S2, -90, 90, 0, 180); jika (rot2<0) rot2=0; else if (rot2>180) rot2=180; rot3=peta(S3, 90, -90, 0, 180); jika (rot3<0) rot3=0; lain jika (rot3>180) rot3=180; if (rot1!=0 &rot1!=180) { leftright.write(rot1); } if (rot1!=0 &rot1!=180) { updown.write(rot2); } if (rot1!=0 &rot1!=180) { shake.write(rot3); } penundaan(15); // Serial.print("Sensor-");// Serial.println(sensorid);// Serial.print("Sensor Val1-");// Serial.println(rot1);// Serial.print(" Sensor Val2-");// Serial.println(rot2); // Serial.print("Sensor Val3-");// Serial.println(rot3); } } }

Proses manufaktur

  1. Robot Kotak CD Raspberry Pi
  2. Robot Alarm Bergulir
  3. RaspiRobot Board V2
  4. Membuat Robot Creeper Minecraft
  5. Archimedes:AI Robot Owl
  6. Buka CV Robot
  7. Robot ROS
  8. DETEKSI MANUSIA ROBOT SONBI MENGGUNAKAN KINECT DAN RASPBERRY PI
  9. Robot Pi Sederhana
  10. Modal Manusia