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

Joy Robot (Robô Da Alegria)

Komponen dan persediaan

Arduino UNO
× 1
Espressif ESP8266 ESP-01
× 1
Motor servo mikro SG90
× 6
Motor DC dengan reduksi dan roda karet
× 2
Driver h-bridge L298N
× 1
Adafruit 16-Channel 12-bit PWM/Servo Driver - I2C antarmuka - PCA9685
× 1
Tampilan LED MAX7219 8x8
× 4
SparkFun Dual H-Bridge driver motor L298
× 1
baterai 18650
× 2
18650 dudukan baterai
× 2
Arduino Proto Shield
× 1
dioda 1N4001
× 1
Resistor 10k ohm
× 3

Alat dan mesin yang diperlukan

Printer 3D
Printer 3D (generik)

Aplikasi dan layanan online

Autodesk Fusion 360
Arduino IDE
Android SDK

Tentang proyek ini

Hadiah pertama di Instructables Wheel Contest, juara kedua di Instructables Arduino Contest, dan runner up di Instructables Design for Kids Challenge. Terima kasih kepada semua orang yang memilih kami!!!

http://www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/

Robot ada di mana-mana. Dari aplikasi industri hingga eksplorasi bawah air dan luar angkasa. Tapi yang favorit saya adalah yang digunakan untuk kesenangan dan hiburan! Dalam proyek ini robot DIY dirancang untuk digunakan sebagai hiburan di rumah sakit anak-anak, membawa kesenangan bagi anak-anak. Proyek ini difokuskan untuk berbagi pengetahuan dan mempromosikan inovasi teknologi untuk membantu LSM yang melakukan kegiatan amal di rumah sakit anak.

Tutorial ini menunjukkan bagaimana merancang robot humanoid yang dioperasikan dari jarak jauh, dikendalikan melalui jaringan Wi-Fi, menggunakan Arduino Uno yang terhubung ke modul Wi-Fi ESP8266. Ini menggunakan beberapa servomotor membentuk gerakan kepala dan lengan, beberapa motor DC untuk bergerak jarak kecil, dan wajah yang terbuat dari matriks LED. Robot dapat dikendalikan dari browser internet biasa, menggunakan antarmuka yang dirancang HTML. Ponsel cerdas Android digunakan untuk menyiarkan video dan audio dari robot ke antarmuka kontrol operator.

Tutorial menunjukkan bagaimana struktur robot dicetak dan dirakit secara 3D. Sirkuit elektronik dijelaskan, dan kode Arduino dirinci, sehingga siapa pun dapat mereplikasi robot.

Beberapa teknik yang digunakan untuk robot ini sudah dipublikasikan di tutorial. Silakan lihat tutorial berikut:

  • https://www.instructables.com/id/WiDC-Wi-Fi-Controlled-FPV-Robot-with-Arduino-ESP82/
  • https://www.instructables.com/id/Controlling-a-LED-Matrix-Array-With-Arduino-Uno/
  • https://www.instructables.com/id/Wi-Servo-Wi-fi-Browser-Controlled-Servomotors-with/

Terima kasih khusus kepada anggota tim lain yang terlibat dalam proyek yang disebutkan di atas, yang bertanggung jawab atas versi pertama dari kode yang disajikan dalam tutorial ini:

  • Thiago Farauche
  • Diego Augustus
  • Yhan Kristen
  • Helam Moreira
  • Paulo de Azevedo Jr.
  • Guilherme Pupo
  • Ricardo Caspirro
  • ASEBS

Temukan lebih banyak tentang proyek ini:

  • https://hackaday.io/project/12873-rob-da-alegria-joy-robot
  • https://www.hackster.io/igorF2/robo-da-alegria-joy-robot-85e178
  • https://www.facebook.com/robodaalegria/

Bagaimana Anda bisa membantu?

Proyek ini didanai oleh anggota tim dan sumbangan kecil dari beberapa perusahaan. Jika Anda menyukainya, ada beberapa cara untuk membantu kami:

  • Suara: Proyek ini bersaing dalam tutorial Roda, Desain untuk Anak-Anak, dan Kontes Arduino. Silakan pilih kami! :D
  • Donasi :Anda dapat mengirimkan kiat kepada kami jika Anda ingin mendukung pembangunan robot dan peningkatannya di masa mendatang. Tip akan digunakan untuk membeli perlengkapan (elektronik, pencetakan 3d, filamen, dll.) dan untuk membantu promosi intervensi kami di rumah sakit anak-anak. Nama Anda akan ditambahkan ke kredit proyek! Anda dapat mengirimkan tip dari desain kami di platform Thingiverse:https://www.thingiverse.com/thing:2765192
  • Suka :Tunjukkan betapa Anda menghargai proyek kami. Beri kami "suka" pada platform kami mendokumentasikan proyek kami (Facebook, Hackster, Hackaday, Maker Share, Thingiverse...).
  • Bagikan :Bagikan proyek di situs web media sosial favorit Anda, sehingga kami dapat menjangkau lebih banyak orang, dan menginspirasi lebih banyak pembuat di seluruh dunia.

Tahukah Anda bahwa Anda dapat membeli Creality CR10mini hanya dengan $349,99? Gunakan kode kupon cr10mini3d di Gearbest dan dapatkan:http://bit.ly/2FZ5OXw

Langkah 1:Sedikit Sejarah...

Proyek 'Robô da Alegria' ('Robot Kegembiraan') lahir pada tahun 2016, di wilayah Baixada Santista (Brasil), dengan tujuan untuk mengembangkan teknologi dan menarik komunitas ke gerakan pembuat. Terinspirasi oleh proyek sukarela yang dilakukan oleh LSM di rumah sakit anak-anak, proyek ini berupaya mengembangkan robot, menggunakan perangkat keras terbuka dan perangkat lunak apen, yang mampu membawa sedikit kesenangan ke lingkungan rumah sakit anak-anak dan berkontribusi pada pekerjaan organisasi lain.

Benih dari proyek ini ditanam pada akhir tahun 2015. Setelah pembicaraan tentang penciptaan dan pengembangan teknologi yang diusung oleh Association of Startups of Baixadas Santista (ASEBS). Itu adalah sebuah proyek yang diidealkan, tanpa hadiah uang, tetapi itu menyajikan subjek di mana orang akan terlibat secara altruistik, dengan tujuan membantu orang lain.

Robot mengalami transformasi beragam dari konsepsi awal hingga keadaan sekarang. Dari hanya satu kepala, dengan mata dan alis mekanis, hingga bentuk humanoid yang sekarang, beberapa iterasi dilakukan, menguji berbagai bahan konstruktif dan perangkat elektronik. Dari prototipe akrilik dan MDF yang dipotong laser, kami pindah ke bodi cetak 3D. Dari antarmuka sederhana dengan dua motor servo yang dikendalikan oleh Bluetooth, hingga bodi yang terdiri dari 6 motor servo dan 2 motor DC yang diperintah oleh antarmuka web menggunakan jaringan Wi-Fi.

Struktur robot telah seluruhnya diproduksi dengan pencetakan 3D menggunakan Fusion 360. Untuk memungkinkan produksi replika robot di ruang pembuat atau lab luar biasa, di mana waktu maksimum penggunaan printer sangat penting, desain robot dibagi menjadi beberapa bagian. lebih kecil dari tiga jam pencetakan masing-masing. Set bagian direkatkan atau dibaut untuk pemasangan bodi.

Wajahnya, terdiri dari susunan LED, memberi robot kemampuan untuk mengekspresikan emosi. Lengan dan leher yang digerakkan oleh servomotor memberikan otomat kecil mobilitas yang diperlukan untuk berinteraksi dengan pengguna. Di pusat kendali robot, Arduino Uno berinteraksi dengan semua periferal, termasuk komunikasi dengan modul ESP8266, yang memberi pengguna kemampuan untuk memerintahkan ekspresi dan gerakan melalui perangkat apa pun yang terhubung ke jaringan Wi-Fi yang sama.

Robot juga memiliki smartphone yang terpasang di dadanya, yang digunakan untuk transmisi audio dan video antara operator robot dan anak-anak. Layar perangkat masih dapat digunakan untuk berinteraksi dengan game dan aplikasi lain yang dirancang untuk berinteraksi dengan tubuh robot.

Langkah 2:Alat dan Bahan

Alat dan bahan berikut digunakan untuk proyek ini:

Alat:

  • Printer 3D - Seluruh tubuh robot dicetak 3D. Beberapa jam pencetakan 3d diperlukan untuk membangun seluruh struktur;
  • Filamen PLA - Filamen PLA putih dan hitam yang digunakan untuk mencetak bodi;
  • Pengemudi sekrup - Sebagian besar bagian dihubungkan menggunakan baut;
  • Lem super - Beberapa bagian direkatkan menggunakan lem super;
  • Tang dan pemotong
  • Setrika dan kawat solder

Elektronik :

  • Arduino Uno (tautan / tautan) - Digunakan sebagai pengontrol utama robot. Ini mengirimkan sinyal ke motor dan berkomunikasi dengan modul WiFi;
  • ESP8266-01 (tautan / tautan)- Digunakan sebagai 'modem WiFi'. Ini menerima sinyal dari antarmuka kontrol yang akan dilakukan oleh Arduino Uno;
  • Servomotor SG90 (x6) (tautan / tautan) - Empat servo digunakan untuk lengan, dan dua untuk gerakan kepala;
  • Motor DC dengan reduksi dan roda karet (x2) (tautan / tautan) - Mereka memungkinkan robot melakukan perjalanan jarak kecil;
  • H-bridge saluran ganda L298N (x1) (tautan / tautan) - Ini mengubah output digital Arduino menjadi tegangan listrik ke motor;
  • Pengontrol servo 16 saluran (tautan / tautan) - Dengan papan ini seseorang dapat mengontrol beberapa motor servo hanya dengan menggunakan dua keluaran Arduino;
  • Tampilan LED MAX7219 8x8 (x4) (tautan / tautan) - Digunakan sebagai wajah robot;
  • Kabel USB mikro - Digunakan untuk mengunggah kode;
  • Kabel jumper wanita-wanita (beberapa);
  • Kabel jumper pria-wanita (beberapa);
  • Ponsel Cerdas - Ponsel cerdas Motorola Moto E 4.3" digunakan. Ponsel lain dengan ukuran serupa mungkin juga berfungsi;
  • Baterai 18650 (x2) (tautan) - Mereka digunakan untuk memberi daya pada Arduino dan periferal lainnya;
  • tempat baterai 18650 (x1) (tautan / tautan) - Mereka menahan baterai di tempatnya;
  • dioda 1N4001 (x2)
  • Resistor 10 kohm (x3)
  • Sakelar hidup/mati 20mm (x1)
  • Protoshield (link) - Ini membantu menghubungkan sirkuit.

Mekanika:

  • Roda bola (x2)
  • baut M2x6.0mm (+-70)
  • baut M2x10mm (+-20)
  • M2x1.5mm mur (x10)
  • baut M3x40mm (x4)
  • M3x1.5mm mur (x4)

Tautan di atas adalah saran di mana Anda dapat menemukan item yang digunakan dalam tutorial ini dan mendukung pengembangan proyek ini. Jangan ragu untuk mencarinya di tempat lain dan membeli di toko lokal atau online favorit Anda.

Tahukah Anda bahwa Anda dapat membeli Creality3D CR10mini hanya dengan $349,99? Gunakan kode kupon cr10mini3d di Gearbest dan dapatkan:http://bit.ly/2FZ5OXw

Langkah 3:Pencetakan 3D

Struktur robot seluruhnya diproduksi dengan pencetakan 3D menggunakan Autodesk Fusion 360. Untuk memungkinkan produksi replika robot di ruang pembuat atau lab luar biasa, di mana waktu maksimum penggunaan printer sangat penting, desain robot dibagi menjadi beberapa bagian. lebih kecil dari tiga jam pencetakan masing-masing. Set bagian direkatkan atau dibaut untuk pemasangan bodi.

Model ini terdiri dari 36 bagian yang berbeda. Sebagian besar dicetak tanpa penyangga, dengan isi 10%.

  • Kepala atas (kanan/kiri)
  • Kepala bawah (kanan/kiri)
  • Penutup kepala (kanan/kiri)
  • Plat belakang depan
  • Plat depan depan
  • Sumbu leher 1
  • Sumbu leher 2
  • Sumbu leher 3
  • Pusat leher
  • Lengan (kanan/kiri)
  • Bahu (kanan/kiri)
  • Cangkir bahu (kanan/kiri)
  • Penutup bahu (kanan/kiri)
  • Sumbu lengan (kanan/kiri)
  • Dada (kanan/kiri)
  • Dada (kanan/kiri/depan)
  • Roda (kanan/kiri)
  • Dasar
  • Tempat ponsel
  • Kembali (kanan/kiri)
  • Kenop (kanan/kiri)
  • Loker (kanan/kiri)

Prosedur untuk memasang robot dijelaskan pada langkah-langkah berikut.

Anda dapat mengunduh semua file stl di situs web berikut:

  • https://www.thingiverse.com/thing:2765192
  • https://pinshape.com/items/42221-3d-printed-joy-robot-robo-da-alegria
  • https://www.youmagine.com/designs/joy-robot-robo-da-alegria
  • https://cults3d.com/en/3d-model/gadget/joy-robot-robo-da-alegria

Ini adalah prototipe eksperimental. Beberapa bagian memerlukan beberapa perbaikan (untuk pembaruan proyek selanjutnya). Ada beberapa masalah yang diketahui:

  • Interferensi antara kabel beberapa servos dan bahu;
  • Gesekan antara kepala dan payudara;
  • Gesekan antara roda dan struktur;
  • Lubang untuk beberapa sekrup terlalu rapat, dan perlu diperbesar dengan mata bor atau pisau hobi.

Jika Anda tidak memiliki printer 3D, berikut beberapa hal yang dapat Anda lakukan:

  • Minta teman untuk mencetaknya untuk Anda;
  • Temukan ruang peretas/pembuat di sekitar. Model dibagi menjadi beberapa bagian, sehingga setiap bagian secara individual membutuhkan waktu kurang dari empat jam untuk dicetak. Beberapa ruang peretas/pembuat hanya akan membebankan biaya untuk materi yang digunakan;
  • Beli printer 3D Anda sendiri. Anda dapat menemukan Anet A8 hanya dengan $ 165,99. Dapatkan milik Anda di Gearbest:http://bit.ly/2kqVOdO
  • Tertarik untuk membeli Kit DIY? Jika cukup banyak orang yang tertarik, saya mungkin menawarkan kit DIY di Tindie.com. Jika Anda menginginkannya, kirimkan saya pesan.

Langkah 4:Ikhtisar Sirkuit

Robot dikendalikan menggunakan Arduino Uno pada intinya. Arduino menghubungkan modul ESP8266-01, yang digunakan untuk mengontrol robot dari jarak jauh melalui jaringan Wi-Fi.

Kontroler servo 16 saluran terhubung ke Arduino menggunakan komunikasi I2C dan mengontrol 6 motor servo (dua untuk leher dan dua untuk setiap lengan). Array lima matriks LED 8x8 ditenagai dan dikendalikan oleh Arduino. Empat output digital Arduino digunakan untuk mengontrol dua motor DC, menggunakan h-bridge.

Sirkuit ditenagai menggunakan dua bank daya USB:satu untuk motor dan satu untuk Arduino. Saya sudah mencoba memberi daya pada seluruh robot menggunakan paket daya signle. Tapi ESP8266 dulu putus koneksi karena lonjakan saat motor DC dihidupkan/dimatikan.

Dada robot memiliki smartphone. Ini digunakan untuk menyiarkan video dan audio ke/dari antarmuka kontrol, yang dihosting di komputer biasa. Itu juga dapat mengirim perintah ke ESP6288, sehingga mengendalikan tubuh robot itu sendiri.

Orang mungkin memperhatikan bahwa komponen yang digunakan di sini mungkin tidak dioptimalkan untuk tujuannya. Sebuah NodeMCU dapat digunakan sebagai pengganti kombinasi Arduino + ESP8266, misalnya. Sebuah Rapsberry Pi dengan kamera akan menggantikan smartphone dan mengendalikan motor juga. Bahkan dimungkinkan untuk menggunakan smartphone Android sebagai "otak" untuk robot Anda. Itu benar... Arduino Uno dipilih karena sangat mudah diakses dan digunakan untuk semua orang. Pada saat kami memulai proyek ini, papan ESP dan Raspberry Pi yang masih relatif mahal di tempat kami tinggal... begitu kami ingin membuat dan membuat robot murah, papan Arduino adalah pilihan terbaik saat itu.

robot%2Bmk0%2B-%2Brev8_Esquem_C3_A1tico.pdf robot%2Bmk0%2B-%2Brev8_bb.pdf

Langkah 5:Merakit Wajah

Empat matriks LED 8x8 digunakan pada wajah robot.

Strukturnya dibagi menjadi dua bagian (pelat belakang muka dan pelat muka muka) dicetak 3D menggunakan PLA hitam. Saya membutuhkan waktu sekitar 2,5 jam untuk mencetaknya secara 3D, dengan pengisian 10% dan tanpa dukungan.

Karena keterbatasan ruang, konektor matriks LED harus disolder dan posisinya diubah seperti yang dijelaskan di bawah ini:

  • Lepaskan matriks LED;
  • Konektor input dan output dessolder;
  • Solder ulang di sisi lain papan sirkuit, dengan pin mengarah ke tengah papan.

Anda dapat melihat hasil akhir pada gambar.

Keempat matriks LED kemudian dipasang pada pelat belakang, menggunakan baut 16 M2x6mm. Pin terhubung sesuai dengan skema.

Matriks pertama dihubungkan menggunakan jumper 5 kabel male-female. Ujung male kemudian dihubungkan ke pin Arduino. Ujung perempuan terhubung pada pin input matriks. Keluaran dari setiap matriks dihubungkan ke masukan matriks berikutnya menggunakan jumper perempuan-perempuan.

Setelah sambungan matriks, pelat depan dipasang menggunakan empat baut M2. Bungkus jumper di sekitar panel belakang dan depan, sehingga tidak ada kabel yang longgar.

Modul wajah kemudian dipasang di dalam kepala robot, seperti yang akan dijelaskan pada langkah selanjutnya.

Langkah 6:Memasang Kepala

Kepala robot dibagi menjadi delapan bagian cetakan 3d, semuanya dicetak dalam PLA putih dengan resolusi 0,2mm, pengisi 10% dan tidak ada penyangga:

  • Kepala atas (kanan dan kiri)
  • Kepala bawah (kanan dan kiri)
  • Penutup kepala (kanan dan kiri)
  • Sumbu leher 1
  • Sumbu leher 2

Saya membutuhkan waktu hampir 18 jam untuk mencetak struktur berdiameter 130 mm.

Bagian atas dan bawah kepala dibagi menjadi dua bagian. Mereka direkatkan menggunakan lem super. Oleskan lem dan diamkan selama beberapa jam.

Tutup samping kemudian dipasang menggunakan baut yang dipasang di sisi atas dan bawah kepala. Dengan cara ini, kepala dapat dibongkar untuk diperbaiki dengan melepas sekrup yang terpasang pada bagian atas kepala. Sebelum menutup kepala, rakit wajah robot (dijelaskan di langkah sebelumnya), dan bagian dada (dijelaskan di langkah berikutnya).

Servomotor #5 dipasang pada sumbu Leher 1. Saya menempatkan servo di tengah sumbu, kemudian memasang klakson dan menggunakan sekrup untuk mengunci posisinya. Saya menggunakan dua baut M2x6mm untuk memasang sumbu leher 2 pada motor servo itu. Servomotor #6 terpasang ke sumbu Leher 2 dengan cara yang sama.

Sumbu leher 2 kemudian dihubungkan ke pusat Leher, seperti yang ditunjukkan pada langkah berikutnya.

Modul wajah dipasang di dalam kepala.

Langkah 7:Memasang Ledakan dan Bahu

Payudara dan bahu membutuhkan waktu sekitar 12 jam untuk dicetak.

Bagian ini terdiri dari lima bagian yang berbeda:

  • Dada (kanan/kiri)
  • Bahu (kanan/kiri)
  • Pusat leher
  • Sumbu leher 3

Bagian payudara direkatkan menggunakan lem super. Bahu dipasang di samping menggunakan baut M2x10mm, dan servomotor (Servomotor #2 dan #4) dipasang di setiap sisi. Mereka melewati lubang persegi panjang di setiap bahu (kawat sebenarnya cukup sulit untuk dilewati), dan dipasang menggunakan baut dan mur M2x10mm.

Leher tengah memiliki lubang persegi panjang, di mana bagian sumbu Leher 3 dimasukkan. Empat baut M2x6mm digunakan untuk menghubungkan kedua bagian tersebut. Setelah itu leher bagian tengah dilekatkan pada bahu. Ini menggunakan baut yang sama yang digunakan untuk memasang bahu di payudara. Empat mur M2x1,5mm digunakan untuk mengunci posisinya.

Servomotor #6 dihubungkan ke sumbu Leher 3 menggunakan dua sekrup. Kemudian saya memasang sumbu leher 3 di dalam lubang persegi panjang tengah leher, dan menggunakan empat baut M2x6mm untuk mengunci posisinya.

Langkah 8:Merakit Senjata

Saya membutuhkan waktu sekitar 5 jam untuk mencetak setiap lengan.

Setiap lengan terbuat dari empat bagian:

  • Piala bahu
  • Tutup bahu
  • Sumbu lengan
  • Lengan

Sumbu lengan dipusatkan dan dipasang pada lengan itu sendiri menggunakan tiga baut M2x6mm. Tanduk servo dipasang di ujung sumbu lainnya.

Sebuah servomotor (#1 dan #3) dipasang di dalam cangkir Bahu menggunakan beberapa sekrup, dan kemudian dipasang tanduknya (yang terpasang pada sumbu lengan). Terdapat lubang pada cup untuk pemasangan klakson lainnya, yang terpasang pada servo (#2 dan #4) yang sudah terpasang di bahu, seperti yang ditunjukkan pada langkah sebelumnya.

Ada lubang lain di Cangkir (dan di Bahu) untuk melewatkan kabel servo. Setelah itu, Cap dipasang untuk menutup bahu robot, dengan dua baut M2x6mm.

Langkah 9:Memasang Peti

The chest is the part that links the bust to the bottom (wheels and base) of the robot. It's made of only two parts (right and left parts. I printed them in 4 hours.

The shoulders of the robot fits on upper part of the chest. There is a hole for a bolt that helps the alignment and fixation of thos parts. Although it's recomended to glue those two parts.

The bottom of this parts have six holes, which are used for the connection to the wheels, as it will be shown later.

At this point I labelled the servomotors with some stickers, in order to make the connection of the circuits easier.

Step 10:Assembling the Wheels

The wheels of the robot uses three 3d printed parts:

  • Wheels (left/right)
  • Front

It took me around 10h to print those parts.

I followed the following steps for assembling the wheels:

  • First I had to solder some wires to DC motors connectors. Those wires were later used for powering the motors using a H-bridge circuit;
  • The motors were then attached to the structure using two M3x40 bolts and nuts for each. Actually a shorter bolt might be used (but I found none online);
  • After that I glued the front pannel, which links the other parts of the structure;
  • This part has some holes on its top. They are used for its attachment to the chest, shown previously. Six M2x6mm bolts were used for the connection of both sections.

Step 11:Phone Holder

The phone holder is a single 3d printed part, and it takes around 1 hour to print.

The robot has a smartphone at it's belly. It was designed for a Motorola Moto E. It has a 4.3" display. Other smartphones with similar size might fit as well.

The phone holder part is used to hold the smartphone in the desired position. First the smart phone is positioned, then it's pressed against the body of the robot using the phone holder and four M2x6mm bolts.

It's importart to connect the USB cabe to the smartphone before tightening the bolts. Otherwise it will be hard to connect it later. Unfortunatly the space is very limited, so I had to cut part of the USB connector away... :/

Step 12:Mounting the Base

The base has only one 3D printed part. It took me around 4h to print that part.

It has several holes for the installation of other components, like the ball wheels, and circuit boards for instance. The following procedure was used for assembling the base:

  • Install the 16 channel servo controller using four M2x6mm bolts;
  • Install the L298N h-bridge circuit using four M2x6mm bolts;
  • Install the Arduino Uno using four M2x6mm bolts;
  • Install the protoshield on the top of the robot;
  • Wire up the circuits (as it's described a couple steps later);
  • Installe the ball wheels using two screws for each one. The wires were arranged so that they are traped between the base and the screws used in the installation of the wheels;
  • Base was attached to wheels section using some screws.

Step 13:Back and Power Pack

The back cover of the robot was designed so that one can easilly open it for accessing the circuits, recharging the batteries, or turning the smartphone on/off.

It's made of six 3d printed parts:

  • Back (left/right)
  • Knobs (x2)
  • Locks (left/right)

It took me around 5h30 for printing the parts. Right and left back parts were glued using superglue. Wait until the glue is completly dry, or the cover will break easilly.

The power pack consists of two 18650 batteries and a battery holder. I had to solder some wires (between battery #1 negative pole and battery #2 positive pole). The negative pole of the power pack was connected to Arduinos GND (using some wires and jumpers). A on/off swich was installed between the positive pole and Arduino's Vin input.

The on/off switch was attached to back 3d printed parts using a M2x6mm bolt and M2x1.5mm nut. The battery holder was attached to the back using four M2x6mm bolts.

The cilindrical part of the locks had to be sanded with a sand paper for a better fitting. They pass through the holes on the cover. The knobs are connected and glued on the other side.

The cover fits to the back of the robot. The knobs can be turned for locking the lid, protecting the insides of the robot.

Step 14:Wiring Up the Circuits

The circuit was wired up according to the schematics.

Arduino:

  • Arduino pin D2 => L298N pin IN4
  • Arduino pin D3 => L298N pin IN3
  • Arduino pin D6 => L298N pin IN2
  • Arduino pin D7 => L298N pin IN1
  • Arduino pin D9 => MAX7219 pin DIN
  • Arduino pin D10 => MAX7219 pin CS
  • Arduino pin D11 => MAX7219 pin CLK
  • Arduino pin D4 => ESP8266 RXD
  • Arduino pin D5 => ESP8266 TXD
  • Arduino pin A4 => SDA
  • Arduino pin A5 => SCL
  • Arduino pin Vin => Battery V+ (before diodes)
  • Arduino pin gnd => Battery V-

ESP8266-01

  • ESP8266 pin RXD => Arduino pin D4
  • ESP8266 pin TXD => Arduino pin D5
  • ESP8266 pin gnd => Arduino pin gnd
  • ESP8266 pin Vcc => Arduino pin 3V3
  • ESP8266 pin CH_PD => Arduino pin 3V3

L298N h-bridge

  • L298N pin IN1 => Arduino pin D7
  • L298N pin IN2 => Arduino pin D6
  • L298N pin IN3 => Arduino pin D3
  • L298N pin IN4 => Arduino pin D2
  • L298N pin +12V => Battery V+ (after diodes)
  • L298N pin gnd => Arduino gnd
  • L298N OUT1 => Motor 1
  • L298N OUT2 => Motor 2

MAX7219 (first matrix)

  • MAX7219 pin DIN => Arduino pin D9
  • MAX7219 pin CS => Arduino pin D10
  • MAX7219 pin CLK => Arduino pin D11
  • MAX7219 pin Vcc => Arduino pin 5V
  • MAX7219 pin gnd => Arduino pin gnd

MAX7219 (other matrixes)

  • MAX7219 pin DIN => MAX7219 pin DOUT(previous matrix)
  • MAX7219 pin CS => MAX7219 pin CS (previous matrix)
  • MAX7219 pin CLK => MAX7219 pin CLK (previous matrix)
  • MAX7219 pin Vcc => MAX7219 pin VCC (previous matrix)
  • MAX7219 pin gnd =:MAX7219 pin gnd (previous matrix)

16-channel servo controller

  • Servo controller pin SCL => Arduino pin A5
  • Servo controller pin SDA => Arduino pin A4
  • Servo controller pin Vcc => Arduino pin 5V
  • Servo controller pin gnd => Arduino pin gnd
  • Servo controller pin V+ => Battery V+ (after diodes)
  • Servo controller pin gnd => Arduino pin gnd

Some say the Sg90 servo can be powered between 3.0 and 6.0V, others between 4.0 and 7.2V. To avoid trouble I decided to put two diodes in series after the batteries. This way, the voltage for servos is 2*3.7 - 2*0.7 =6.0V. The same is applied to the DC motors.

Notice this is not the most efficient way, but it worked for me.

robot%2Bmk0%2B-%2Brev8_bb.pdf robot%2Bmk0%2B-%2Brev8_Esquem_C3_A1tico.pdf

Step 15:Arduino Code

Install the latest Arduino IDE. No library was needed for communication with ESP-8266 module or control of the DC motors.

I'll need to add the following libraries:

  • LedControl.h :library used to control the LED matrixes;
  • Adafruit_PWMServoDriver.h :library used to control the servo motors.

Arduino code is divided in 9 parts:

  • RobodaAlegria.ino: this is the main sketch, and it call the other parts. Libraries are imported here. It also define and initialize global variables;
  • _05_Def_Olhos.ino: this is where the matrixes for each eye are defined. Each eye is represented by a 8x8 matrix, and 9 options where defined:neutral, wide-eye, closed up, closed down, angry, borred, sad, in love, and dead eyes. There is a different matrix for right and left eyes;
  • _06_Def_Boca.ino: this is where the matrices for the mouth are defined. The mouth is represented by a 16x8 matrix, and 9 options where defined:happy, sad, very happy, very sad, neutral, tongue out, open, wide-open, and disgusted mouth;
  • _10_Bracos.ino: predefined movements for arms and neck are defined in this file. Nine movements, mov1() to mov9(), were configured;
  • _12_Rosto.ino: in this file there are some functions for updating the face of the robot, combining the matrixes defined in _05_Def_Olhos.ino and _06_Def_Boca.ino;
  • _13_Motores_DC: it defines the functions for ther DC motors;
  • _20_Comunicacao.ino: a function for sending data to ESP8266 is defined in this file;
  • _80_Setup.ino: it runs on Arduino power up. It set the inicial face and position of the motors of the robot. It also send commands for the connection to a given Wi-Fi network;
  • _90_Loop: main loop. It looks for incoming commands from ESP8266 and call specific functions to control the outputs.

Download Arduino code. Replace the XXXXX by your wifi router SSID and YYYYY by router password on on '_80_Setup.ino'. Please check the baudrate of you ESP8266 and set it properly in the code ('_80_Setup.ino'). Connect the Arduino board to your computer USB port and upload the code.

RoboAlegria.rar

Step 16:Android Apps

An Android smartphone was used to broadcast the video and audio from the robot to the control interface. You can find the app I used on Google Play store (https://play.google.com/store/apps/details?id=com.pas.webcam).

The screen of the smartphone may also be transmited to the control interface, so that the operator can see what's on the screen. You can also find the app I used to mirror the screnn on Google Play store (https://play.google.com/store/apps/details?id=com.ajungg.screenmirror).

An Android video game was also designed to interact with the robot. It's not yet very stable, so it isn't available for download.

Step 17:Control Interface

A html interface was designed for the control of the robot.Download interface.rar and extract all the files to a given folder. Then open it on Firefox. The interface is divided in two blocks. To the left there are displays for the camera and screen mirror. To the right there are controll buttons for the commands.

Textbox forms are used in that interface to enter IP address of the ESP8266 module ('Endereço IP Arduino:'), video/audio server from Android IP Webcam app ('IP Webcam (IP):') and Screen Mirror IP address ('Screen Mirror (IP):').

Under 'Ações predefinidas' tab user can select between 9 predefined body movements and 13 different faces. On 'Ações personalizadas' tab user can set a given angles for each of the 6 servos, and individually select between 9 eyes possibilities and 8 mouths variations. A javascript function runs whenever one of those buttons is clicked, and a message is sent for ESP8266's IP address.

Keyboard arrow keys are used for moving the robot forward or backward, and to rotate left or right.

When the interface is started, a warning is displayed, asking if the user wants to share the microphone. If this option is selected, sound intensity of the microphone will be used to send a preconfigured command to the robot. This command will trigger an animation, simulating speech movement on robot's face. A settings button on upper right corner might be used to set the sensitivity of the microphone.

This settings menu might also be used to configure the speed of arms and neck movements.

interface.rar

Step 18:Have Fun

Power it up and have fun!

If you like it, please share this tutorial with you friends! And don't forget to vote on Instructubles Contests! :D

http://www.instructables.com/id/Joy-Robot-Rob%C3%B4-Da-Alegria-Open-Source-3D-Printed-A/

Kode

  • Arduino Code
  • HTML Interface
Arduino CodeArduino
Tidak ada pratinjau (hanya unduhan).
HTML InterfaceHTML
Tidak ada pratinjau (hanya unduhan).
Github
https://github.com/wayoda/LedControlhttps://github.com/wayoda/LedControl
Github
https://github.com/adafruit/Adafruit-PWM-Servo-Driver-Libraryhttps://github.com/adafruit/Adafruit-PWM-Servo-Driver-Library

Suku cadang dan penutup khusus

Thingiverse
https://www.thingiverse.com/thing:2765192CAD file on thingiverse.com
Youmagine
https://www.youmagine.com/designs/joy-robot-robo-da-alegria

Skema


Proses manufaktur

  1. Prototipe Raspoulette
  2. Robot Kotak CD Raspberry Pi
  3. Robot Alarm Bergulir
  4. Membuat Robot Creeper Minecraft
  5. Archimedes:AI Robot Owl
  6. Buka CV Robot
  7. Robot ROS
  8. Robot Pi Sederhana
  9. Robot untuk navigasi dalam ruangan yang sangat keren
  10. Apa itu Motor Linier?