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

Tangki WalaBeer

Komponen dan persediaan

Pembuat Walabot
× 1
Arduino MKR1000
× 1
Raspberry Pi 3 Model B
× 1
Amazon Alexa Amazon Echo
atau https://echosim.io/
× 1
Driver Motor SparkFun - Dual TB6612FNG (1A)
× 1
Rangka tangki (berisi 2 motor DC yang disikat)
× 1
Servo (Tower Pro MG996R)
× 3
Perangkat game pembuat logam
× 1
Motor stepper + driver
Saya menggunakan motor stepper 28byj-48 dan driver motor X113647
× 1
Baterai LiPo 7.4V
× 1
Pengisi daya baterai LiPo 7.4V
× 1
Potensiometer putar (generik)
× 1
LED (generik)
Saya menggunakan satu segmen strip LED
× 2
Garis pancing
× 1
Plastik tipis atau kertas keras untuk sampul
× 1
Sirkuit BEC 5V
× 1
Resistor 10k ohm
× 1
Resistor 22.1k ohm
× 1
Resistor 2.21k ohm
× 1
Transistor Daya Tinggi Darlington
× 1
penggaris kayu sepanjang 30 cm
× 2
Voltmeter
Ini opsional
× 1
Pemancar RC dengan penerima
Ini adalah bagian opsional untuk mengontrol tangki secara manual. Ini dapat bekerja tanpa pengontrol jarak jauh.
× 1
Bir
× 1

Alat dan mesin yang diperlukan

Besi solder (generik)
Pistol lem panas (generik)
Alat gergaji
Bor
Rasp

Aplikasi dan layanan online

Arduino IDE
Layanan Web Amazon AWS IoT
Layanan Web Amazon AWS Lambda
Perangkat Keterampilan Alexa Alexa Amazon
Walabot SDK
Python

Tentang proyek ini

Abstrak

Ada hal-hal yang jauh di lubuk hati setiap pria ingin memiliki. Menggabungkan bir dan tank adalah salah satunya! Proyek ini akan tentang hal ini, tangki yang dikendalikan suara yang mengirimkan bir kepada Anda dengan fungsi "ikuti saya" yang otonom atau dengan kontrol RC. Ayo bangun tangki bir impian kita!

Sasis

Kami membutuhkan dasar yang baik untuk tangki. Saya menemukan sasis ini di banggood. Itu cukup murah dan terlihat sangat keren sehingga saya perlu membelinya.

Tepat setelah menerima produk datang masalah pertama. Karena pengemasan yang tidak tepat itu mengalami beberapa cedera serius selama pengiriman.

Butuh berjam-jam dan banyak lem, tapi untungnya saya bisa memperbaikinya.

Derek

Sasis tangki berisi motor dan girboks, jadi langkah selanjutnya adalah memikirkan cara menyajikan bir. Setelah banyak ide, saya menemukan bahwa cara terbaik dan paling keren untuk melakukannya adalah dengan menyembunyikan bir dan kemudian mengangkatnya menggunakan derek. Ini adalah desain dasar yang saya buat:

Saya menggunakan kit pembuat logam lama saya karena saya membutuhkan kerangka yang kuat tetapi mudah dimodifikasi. Derek terhubung ke motor stepper dengan pancing. Motor stepper 28byj-48 sangat bagus untuk tujuan ini. Itu tidak cepat tetapi bisa dengan mudah mengangkat derek dan bir. Sebenarnya motornya sangat kuat sehingga jika saya tidak menghentikannya tepat waktu, pancingnya akan putus.

Itu bekerja dengan sangat baik, namun kerangkanya tidak cukup kuat dan mulai menekuk sangat awal. Untuk mengatasi masalah ini saya perlu meningkatkan integritas struktural. Saya menggunakan dua penggaris kayu keras sepanjang 30 cm dan beberapa bagian tambahan untuk membuatnya lebih kuat. Setelah beberapa pengeboran, penggergajian dan serak di sini adalah versi berikutnya:

Seperti yang Anda lihat, modifikasi memecahkan masalah tekukan dan ini sangat stabil.

Kasus

Sebuah Walabot (versi Pengembang) akan menjadi 'mata' dari tangki. Lebih lanjut tentang Walabot di bagian Walabot. Tempat depan memiliki bagian dudukan untuk Walabot. Saya memiliki bagian logam yang memiliki ukuran sempurna untuk menggunakan dudukan magnet Walabot. Saya juga membuat logo Walabot dari lem panas untuk mencegah Walabot berputar di bagian yang bulat:

Pemasangan magnet sangat bagus karena saya dapat dengan mudah menggunakan satu Walabot di banyak proyek tanpa harus membongkarnya secara serius dan juga cukup kuat.

Saya mulai membuat penutup di sekitar bingkai untuk menyembunyikan bagian-bagiannya. Saya menggunakan kertas karton hitam dan lembaran plastik untuk sampul.

Pada titik ini bagian depan dan tengah tidak tertutup. Saya juga membutuhkan palka di bagian atas untuk menyembunyikan bir sepenuhnya. Untuk memindahkan palka saya menggunakan dua servos, beberapa biru panas dan beberapa pita isolasi. Pintu atas ini hanya digunakan untuk desain, tidak benar-benar melindungi bir. Namun sangat keren saat membuka dan meningkatkan bir.

Pintunya terbuat dari dua lembar plastik, batang kayu dan beberapa kertas yang direkatkan dan digulung, direkatkan dengan lem panas. Ini bukan hal yang tercantik, tetapi dalam kehidupan nyata itu tidak terlihat seburuk itu. Saya melukis semuanya dengan warna hitam. Dalam kehidupan nyata, jauh lebih sulit untuk melihat perbedaan antara bagian hitam.

Derek - Vol. 2

Mari kita kembali ke bangau sekali lagi. Saya membutuhkan satu hal lagi untuk menggunakannya dengan andal:umpan balik.

Awalnya saya ingin menggunakan umpan balik biner sederhana untuk ini. Ketika derek dalam keadaan diturunkan, itu akan menutup sirkuit. Ketika ditinggikan itu akan terbuka:Sekrup dan pegas di lingkaran merah akan menjadi sakelar itu. Itu akan menggunakan pengatur waktu untuk menentukan posisi teratas.

Itu tidak terlalu canggih tetapi idenya berhasil. Sayangnya itu tidak dapat diandalkan sama sekali sehingga dapat dengan mudah menyebabkan kerusakan pada derek.

Saya menemukan solusi lain yang jauh lebih baik, yang ada di kotak biru. Saya menempelkan potensiometer 10K ke dan pada poros derek, jadi saya memiliki umpan balik yang andal tentang sudut derek saat ini. Sangat mudah untuk menentukan posisi atas dan bawah dengan cara ini. FYI:sampai saat ini saya menggunakan Arduino Uno lama saya yang bagus untuk pengujian karena pelindung protonya sangat berguna.

Sebenarnya saya sangat suka bagian umpan balik ini. Itu tidak direncanakan tetapi menambah kesejukan ekstra pada tampilan tangki.

Sirkuit

Baiklah, bodi tangki sudah selesai tapi kita perlu beberapa elektronik untuk membuatnya bergerak!

Saya juga menempatkan gambar ini di bagian Skema, tetapi di sini Anda dapat memperbesarnya tanpa mengunduh. Sirkuit mungkin tampak sedikit rumit pada awalnya tetapi sebenarnya cukup mudah. Catatan terlampir akan membantu dengan apa pun yang memerlukan penjelasan.

Proyek ini tidak menggunakan fungsionalitas WiFi Arduino MKR1000 saat ini, tetapi seperti yang saya tahu, Anda tidak bisa begitu saja menggantinya dengan Arduino Uno jika Anda ingin mengontrol tangki menggunakan pemancar RC. Proyek saya menggunakan 3 saluran untuk mengontrol kecepatan, putaran, dan derek. Saya membutuhkan 3 pin dengan kemampuan interupsi eksternal. Arduino Uno hanya memiliki 2 pin untuk tujuan ini. Kami membutuhkan pin tersebut untuk membaca nilai PWM dari saluran penerima RC yang sesuai.

Saya membangun sirkuit pada PCB proto. Itu menjadi cukup kompak. LED biru di sebelah kiri akan menjadi LED 'bawaan' sederhana untuk debugging, tetapi saya tidak pernah benar-benar menggunakannya. Konektor hijau digunakan untuk menghubungkan baterai LiPo.

Sebagian besar kabel yang menghubungkan ke papan ini berada di bagian atas tangki. Jelas untuk merekatkan papan di sana untuk menghindari 'kawat neraka'.

Seperti yang Anda lihat pada gambar, awalnya saya memulai dengan Raspberry Pi Zero W, tetapi karena kurangnya daya, saya beralih menggunakan Raspberry Pi 3 B.

Itu bekerja dengan sempurna pada titik ini, tetapi saya menambahkan fitur ekstra keren:lampu depan tersembunyi. Bagian plastik hitam di sebelah kanan dapat dengan mudah dipindahkan. Saya memasang servo untuk memindahkannya ke atas dan ke bawah dan saya juga menggunakan satu segmen strip LED 12V. Memberi daya pada strip LED 12V dari baterai LiPo 7.4V bukanlah ide yang baik. Lampu akan sangat lemah. Saya mengganti LED tengah dengan kabel untuk membuat LED yang tersisa cerah. Ini bekerja dengan sempurna.

LED depan dikontrol dengan pin yang sama dengan LED indikator biru. Saya harus sedikit memodifikasi papan dengan menambahkan beberapa header tambahan dan transistor ke dalamnya. Hasilnya luar biasa:

Arduino - perangkat keras

Saya menggunakan Arduino MKR1000 untuk mengontrol tangki. Ini adalah perangkat kompatibel Arduino atau Arduino IDE terkecil dalam koleksi saya yang dapat menangani 3 interupsi eksternal dan memiliki cukup pin untuk proyek ini. Ini juga memiliki kemampuan WiFi tetapi saya tidak akan menggunakannya sekarang.

Tangki membutuhkan 5 pin yang mampu PWM. 3 untuk servos dan 2 untuk motor. Jika Anda memeriksa kapabilitasnya, Anda akan melihat bahwa ada 12 pin yang mampu PWM. Itu sudah cukup baik kan? Ya dan tidak.

Pin 2-5 memiliki tanda ~. Saya percaya itu berarti hanya empat pin ini yang mampu membuat sinyal PWM perangkat keras. Saya pikir pin lain hanya dapat membuat sinyal PWM perangkat lunak. Spesifikasi teknis tidak menulis tentang ini, namun ketika saya mendapatkan prototipe pertama saya, MKR1000, dokumentasi hanya menyebutkan 4 pin yang mampu PWM. Empat itu. Awalnya saya mengontrol servo palka melalui dua pin PWM perangkat lunak ini. Kombinasi antara pembangkitan PWM perangkat lunak dan pembacaan sinyal PWM berbasis interupsi perangkat keras menghasilkan masalah ini:

Saya memecahkan masalah ini dengan menggunakan pin PWM perangkat keras untuk servos. Sayangnya saya harus menggunakan salah satu pin itu untuk servo pintu LED, karena dua pin perangkat keras lainnya diperlukan untuk mengontrol motor. Berkat driver motor TB6612FNG, saya hanya membutuhkan dua pin PWM (dan 4 pin digital lainnya) untuk mengontrol motor. Servo 'pintu LED' jauh lebih lambat daripada yang lain sehingga kadang-kadang hanya mengeluarkan suara mendengung yang tenang. Menggunakan hanya satu pin perangkat lunak PWM daripada dua juga membantu. Di masa depan saya mungkin membangun kembali bagian itu untuk menggunakan beberapa cara lain untuk membuka pintu LED. Solenoid mungkin bisa melakukannya.

Arduino dapat mengukur tegangan baterai dan kemudian mengirimkannya melalui serial. Selanjutnya, saya mengintegrasikan voltmeter sederhana ke bagian belakang tangki. Ini digunakan sebagai umpan balik bagi pengguna mengenai status baterai. Ini adalah sirkuit terpisah dan tidak dikendalikan oleh Arduino.

Arduino - Kontrol Radio

MKR1000 memproses 3 sinyal PWM terpisah dengan interupsi eksternal. Waktu pulsa sinyal berada di kisaran sekitar 1000 dan 2000 us. Saluran pertama digunakan untuk menghitung variabel yang disebut motorSpeedBase. Ini adalah kecepatan dasar untuk motor dan dihitung seperti ini:

motorSpeedBase =(vertical_pulse_time - 1500) / 2; 

Untuk mengontrol motor saya menggunakan sinyal PWM 8 bit, jadi saya menskalakan nilainya ke kisaran -255 hingga 255 ini. MKR1000 dapat bekerja lebih baik dari 8 bit tetapi lebih dari cukup untuk motor ini.

Variabel motorSpeedChange digunakan untuk mengaduk dan dihitung dari saluran kedua. Ini dihitung mirip dengan motorSpeedBase. Perbedaannya adalah pembagian dengan 3 bukannya 2:Perbedaan ini membantu untuk mengontrol tangki.

motorSpeedChange =(horizontal_pulse_time - 1500) / 3; 

Saluran ke-3 digunakan oleh satu sakelar. Ini mengontrol pergerakan derek dan pintu palka. Perhitungannya seperti ini:

ditinggikan =state_switch_pulse_time <1500; 

Nilainya adalah 1000 us saat dimatikan dan 2000 us saat dihidupkan. Hasilnya adalah bool.

Kecepatan motor akhir dihitung seperti ini:

int rightMotorSpeed ​​=motorSpeedBase + motorSpeedChange; int leftMotorSpeed ​​=motorSpeedBase - motorSpeedChange; 

Jika hasilnya lebih tinggi / lebih rendah dari nilai maksimum / minimum maka nilainya akan diatur ke nilai max / min (255 atau -255). Pin terkait akan diperbarui berdasarkan nilai kecepatan motor. Jika nilai kecepatan tidak mencapai nilai minimum maka motor tersebut akan dinonaktifkan.

Derek dan palka ditangani oleh fungsi ini:

void handleCrane() { int craneValue =analogRead(CRANE_FEEDBACK_PIN); if (ditinggikan) { if (Nilai derek  

Ini dimulai dengan memeriksa kondisi derek saat ini. Jika perlu ditinggikan tetapi tidak, maka itu akan memperbarui servo pintu palka dan memindahkan derek ke atas. Jika harus diturunkan tetapi tidak, maka derek diturunkan dan kemudian menutup palka. Kumparan motor stepper harus dinonaktifkan di akhir proses karena dapat memanaskan dan menguras baterai jika dibiarkan menyala.

Arduino - Komunikasi Raspberry Pi

Arduino terhubung dan diberdayakan dari Raspberry Pi dengan kabel USB - micro USB dan mereka berkomunikasi melalui serial. Raspberry akan mengontrol Arduino dengan perintah berikut:

  • s --> matikan kontrol radio dan hanya terima perintah serial. Arduino akan menjawab dengan 'OK' untuk ini dan itu akan menonaktifkan kontrol radio. OK ini adalah bagian dari cara Rpi mengenali Arduino.
  • r --> hidupkan kembali radio control
  • e --> angkat derek (dan buka palkanya)
  • d --> turunkan derek
  • m X Y -> mengatur kecepatan motor. X adalah motorSpeedBase dan Y adalah motorSpeedChange. Baik X dan Y harus bilangan bulat
  • b --> arduino akan menjawab dengan bilangan bulat:tegangan baterai * 100
  • l --> nyalakan lampu
  • o --> matikan lampu

Perlu dicatat bahwa dalam kasus kontrol serial, Arduino menonaktifkan interupsi pada RC saluran 1 dan 2 tetapi tidak pada 3. Saluran 3 (saklar) digunakan sebagai sakelar pengaman untuk menonaktifkan Tangki WalaBeer jika mulai gila hal-hal dalam mode otonom.

Walabot

Inilah bagian di mana Walabot masuk. Walabot adalah sensor 3D yang menggunakan gelombang mikro untuk pencitraan. Ia dapat melakukan hal-hal menakjubkan seperti melihat menembus dinding, mendeteksi pernapasan Anda dari kejauhan, melihat dalam gelap dan sebagainya. Saya tidak ingin menulis halaman tentang kemampuannya yang lain karena orang lain melakukan pekerjaan yang hebat dengan melakukan itu. Namun saya sangat merekomendasikan membaca tentang mereka.

Saya akan menggunakan Walabot sebagai satu-satunya sensor navigasi di tangki. Untuk menggunakan Walabot dengan Raspberry Pi kita harus menginstal Walabot SDK terlebih dahulu. Anda dapat mengunduh SDK dari sini dan situs Walabot API akan membantu Anda menginstalnya. Ada banyak informasi dan contoh berguna di sana tentang cara menggunakan Walabot. Saya sarankan untuk memeriksa situsnya.

Konsumsi daya Walabot adalah antara 0,4-0,9A. Ini berarti bahwa secara default Raspberry Pi tidak dapat menyediakan energi yang cukup untuk memberi daya pada Walabot. Untungnya ada cara untuk meningkatkan output daya port USB rpi dengan menambahkan baris ini:`max_usb_current=1` ke /boot/config.txt. Seperti yang saya tahu itu meningkatkan output daya dari 600mA ke 1200mA.

Itu akan bagus tapi inilah masalah:Saya juga menyalakan Arduino dan servos dari Raspberry. Motor tangki dan motor stepper ditenagai oleh baterai, jadi saya pikir itu tidak masalah. Namun demikian. Jika saya memulai Walabot dalam kondisi ini, ia berhenti dengan pesan WALABOT_ERR_PROTOCOL. Mungkin terjadi brownout saat saya mencoba memulainya.

Sirkuit eliminator baterai dapat menyediakan hingga 3A, jadi itu lebih dari cukup di sini. Walabot memiliki dua port micro USB. Port tengah akan membantu saya dalam situasi ini karena dapat diaktifkan dari sana saat berkomunikasi di sisi lain. Untuk melakukan ini saya harus melakukan modifikasi dan melepas penutup Walabot untuk memindahkan jumper ini

Setelah itu Walabot bekerja dengan sempurna, tidak ada lagi WALABOT_ERR_PROTOCOL.

Logo di bagian belakang (bagian halus adalah sisi depan) berisi empat magnet built-in yang sangat kuat. Itu digunakan untuk dengan mudah memasang Walabot ke bagian depan logam tangki tanpa perangkat keras tambahan.

Ikuti saya

Salah satu 'nilai jual' dari tank ini adalah mode follow me-nya. Jika Anda meminta tangki bir untuk mengikuti Anda, maka ia akan melakukan yang terbaik dan mengikuti Anda. Setelah Anda mencapai tujuan Anda, Anda hanya meminta bir di dalam. Ini adalah trik pesta yang hebat!

SDK Walabot menyediakan segala macam cara untuk berinteraksi dengan Walabot. Proyek saya menggunakan getTargets fungsi dengan Identifikasi Target Bergerak (MTI). Ini digunakan untuk mendeteksi objek bergerak di depan Walabot. Dengan konfigurasi saya, getTargets akan mengembalikan maksimal 4 target dan akan melihat objek pada jarak maksimal 1,5 meter.

Target memiliki koordinat XYZ dan parameter amplitudo. Saya hanya menggunakan koordinat Y dan Z karena ketinggian (X) tidak penting di sini. Masalahnya adalah tidak ada cara untuk mengetahui target mana.

Di versi awal, untuk menemukan manusia dalam daftar target, saya membuat aturan:sebelum Anda memerintahkannya untuk mengikuti Anda, Anda harus berdiri di depan Walabot pada jarak 80cm. Setelah itu kode saya mengasumsikan bahwa objek terdekat dengan amplitudo yang cukup tinggi adalah manusia. Jika manusia terdeteksi, tangki yang harus dilakukan adalah menjaga manusia pada posisi yang diinginkan dengan bergerak.

Sayangnya itu tidak sempurna. Untungnya saya mendapat saran untuk pendekatan yang berbeda. Ini dimulai sama:Anda harus berdiri di depan Walabot pada jarak 80cm. Target terdekat dengan tank akan dianggap sebagai manusia. Setelah itu, pada setiap iterasi posisi manusia akan menjadi target yang paling dekat dengan posisi sebelumnya. Jika jarak antara posisi baru dan lama terlalu tinggi maka tangki tidak akan memperbarui posisi manusia dan akan berhenti. Tank akan berusaha mencari manusia di sekitar posisi lama sehingga jika menemukan orang tersebut maka akan terus mengikutinya. Ini adalah ide yang cukup sederhana.

Mari kita periksa beberapa kasus pada tampilan Arena. Tujuan dari tangki adalah untuk menjaga manusia di area target (persegi panjang merah). Biru adalah yang paling dekat dan itu adalah manusia dalam kasus ini:

  • Kasus 1:Manusia berada di area target sehingga tidak perlu bergerak
  • Kasus 2:Manusia ada di sebelah kanan dan dia terlalu dekat dengan tank. Pada awalnya tank akan berbelok ke kanan kemudian akan menjauh dari manusia dengan mundur.
  • Kasus 3:Tank tidak perlu berputar tapi manusia terlalu jauh. Ini akan bergerak maju. Walabot melihat 3 target saat saya membuat gambar ini
  • Kasus 4:Hanya ada satu target di gambar ini dan itu di sebelah kiri. Tank akan bergerak ke kiri lalu maju.
  • Kasus 5:Tank akan mundur sampai manusia berada di kotak merah.

Gambar-gambar ini adalah layar cetak tampilan Arena dari versi demo Walabot-SensorTargets yang sedikit dimodifikasi. Proyek saya tidak perlu dan karenanya tidak memiliki GUI tetapi menggunakan prinsip yang sama. Saya sarankan untuk memeriksa proyek demo lainnya dari halaman github mereka.

Pergerakan dengan pengaturan saat ini tidak terlalu cair. Itu tidak bisa maju dan berubah dalam mode otonom pada saat yang bersamaan. Alasan utamanya adalah frame rate Walabot. Ini sekitar 6 FPS dengan pengaturan saat ini. Artinya, Raspberry mendapat satu pembaruan dalam setiap 0,16 detik. Ini adalah sebuah masalah. Banyak yang bisa terjadi dalam 0,16 detik. Untuk mengatasi masalah ini saya memperlambat tangki. Saya menggunakan kecepatan seminimal mungkin untuk bergerak maju dan berbelok. Saya juga menghapus kombinasi antara berputar dan bergerak karena gerakan itu tidak dapat diandalkan dengan pengaturan terlacak saya. Pada kecepatan yang lebih tinggi mereka banyak melampaui batas dan pada kecepatan yang lebih rendah mereka kurang dapat diandalkan daripada versi saat ini.

Kontrol suara

Dalam mode otonom, saya membutuhkan cara yang keren untuk mengontrol tangki. Saya menggunakan Alexa Skill Kit Amazon untuk melakukan ini. Di versi awal saya menggunakannya dengan ngrok untuk mengontrol Raspberry secara langsung. Biasanya orang akan menggunakan versi Amazon Echo untuk melakukan ini, tetapi sayangnya saya tidak memiliki perangkat seperti itu. Saya harus menggunakan echosim dan aplikasi Amazon Alexa dari Google Play untuk melakukan ini. Nama skillnya Beer Tank karena WalaBeer adalah sesuatu yang tidak dikenali Alexa. Beli bir, bir cinta, dll, tetapi bukan WalaBeer. Anda dapat menggunakan perintah ini untuk berinteraksi dengan Alexa:

  • mulai tangki bir
  • nyalakan {nyalakan/matikan} lampu
  • {buka/tutup} ruang kargo
  • {start/stop} mengikuti saya
  • [berhenti/batal]

Berikut video tentang dua kemampuan pertama:

Beberapa perintah suara dalam video mungkin berbeda dari perintah saat ini karena beberapa persyaratan selama proses penerbitan (misalnya:'berhenti' diubah menjadi 'berhenti mengikuti saya'). Mengontrol Raspberry Pi menggunakan Alexa sangat mudah, namun untuk mendapatkan pengetahuan untuk melakukannya tidak. Untuk pertama kalinya saya menggunakan ngrok dan sangat mudah untuk melakukan ini tetapi ngrok hanya baik untuk tujuan pengujian. The URL provided by ngrok will change after every restart and there are other problems too. Long story short, I needed a better solution.

I moved on to using AWS Lambda and AWS IoT. They are perfect for my purpose but it was quite difficult to find useful information about how to use them. I mean I found lots of partial tutorials and documentation but usually they were missing some crucial information and/or just didn't work. Finally, I found the youtube channel of Kurt Braun. He made an excellent tutorial that helped me a LOT. I really recommend his videos if you want to use AWS Lambda and AWS IoT:

This other video also helped me when I did the experimenting part. I won't go into details about configuring Lambda and AWS IoT, these videos are containing every necessary information about this topic.

He used Node-RED in his videos. That is a very useful tool, however I needed to use Python instead of JavaScript. Amazon provides an SDK for Python, but I used Paho MQTT Client to make the Raspberry Pi subscribe to my 'wbt' topic's messages. It was easier for me to use.

Finally, here's a video about the current status of the prototype:

As you can see the "follow me" mode is working quite well, but the tank is very slow in this mode. Possibly it is capable of slightly higher speeds but I wanted to be sure that it doesn't do crazy things. Slowing the tank down was needed because at higher speeds it can easily lose me, mostly when it is turning. I've got a couple of ideas how I can significantly increase the speed in "follow me" mode but it will take some time and possibly some extra hardware to implement a solution for that.

You can access my skill here and this is its id:

amzn1.ask.skill.a7453502-b1aa-47fa-a552-ed8e2c792b2e

If you want to publish your skill it might be a good idea to you authentication to differentiate the devices. For that follow this great tutorial.

Canceled

I'd like to write some words about another part that is on the "Most of the electronics are integrated onto the top part" image. I'm talking about these:

These are tachometers. I didn't use them in the final version, but they are still there.

A tachometer like this is made of two parts:a black and white paper on the main wheel and a reflective IR sensor in front of it. The reflected light depends on the color of the object. The difference is very big so distinguishing the states is very easy and thus you can easily calculate the speed of rotation. The only problem of this setup is the low sample rate in case of slow movement, however they work quite well on higher speeds.

The tachometers worked great, but I realized that I don't need them for the project and I also needed the GPIO pins on the Arduino for other purposes. This is their story.

Kesimpulan

The end result is great, useful and fun! It is also a good platform for other future projects. With hard work I managed to make the voice control work and Walabot proved to be a great sensor for this purpose, too. I see numerous ways to improve this tank so it is likely that you'll see more about it in the future!

This is my best and most successful project so far. And also the longest. To keep it from getting even longer I'd like to thank for all the help that I got and I also thank you for reading! As a prize here's a picture about a strange dog:

Kode

Codes for the Arduino and Raspberry Pi
This repository contains the codes that are running on the MKR1000 and the Raspberry Pi 3 Bhttps://github.com/abysmalsb/Beer-Tank

Skema

If I couldn't find a part then I replaced it with something similar. See notes for more info. Walabot is connected to the Raspberry Pi with and USB cable. If I couldn't find a part then I replaced it with something similar. See notes for more info. Walabot is connected to the Raspberry Pi with and USB cable. beer_tank_YN88vVuS9b.fzz

Proses manufaktur

  1. Komponen Sirkuit
  2. Tangki Oksigen
  3. Sirkuit Terintegrasi
  4. Amazon Alexa Mengontrol Chromecast
  5. Tangki Otonom
  6. MOSMusic
  7. Apa itu Mikroelektronika?
  8. Apa yang dimaksud dengan Tangki Cadangan?
  9. Komponen mesin bor
  10. Komponen mesin pembakaran dalam