Selamat datang kembali, akhirnya kita sampai pada bagian terakhir DIY dingdong ukuran bartop. Pada bagian ini akan difokuskan pada software setup yang digunakan untuk dingdong bartop rasberry, yaitu Recalbox (alternatif Retropie), salah satu open-source software yang dapat mengubah Raspberry Pi (atau PC standard) menjadi console retro-game.
Untuk mendalami lebih dalam, akan di bahas terlebih dahulu mengenai ROMS, BIOS, Linux, EmulationStation, dsb.
Apa itu Emulator?
Emulator adalah software setup yang membuat komputer menjadi seperti komputer lain. Pada skenario yang dilakukan adalah “emulator” Raspberry Pi dengan Recalbox SD Image yang telah terinstall di dalamnya. Software tersebuat akan membuat Raspberry Pi seperti video game arcade ataupun console. Recalbox Image meliputi berbagai macam emulator seperti Arcade, Sega, Nintendo, NeoGeo, dsb.
Apa itu Recalbox SD Image?
Image ini merupakan Recalbox yang sudah terinstall dan terkonfigurasi di dalam SD Card termasuk berbagai emulator yang di atur melalui Emulation Station. Emulator dapat ditambahkan melalui Recalbox GUI. Pendek kata, semua yang dibutuhkan untuk memainkan game telah siap, namun dikurangi game ROM dan sistem BIOS.
Untuk informasi lebih jelas anda dapat mengunjungi Recalbox dan EmulationStation.
Apa itu ROM?
ROM adalah versi digital dari game catridge (kaset game), CD, DVD ataupun segala bentuk fisik dari format digital. Menggunakan ROM pada suatu emulator sama artinya dengan memasukan kaset ke dalam mesin video game (seperti Sega atau Super Nintendo). ROM memiliki kekayaan intelectual dan tidak termasuk di dalam Recalbox.
Apa itu BIOS?
BIOS adalah bagian kecil dari suatu software yang memerintahkan hardware untuk bekerja sesuai dengan perintah. Sebagian besar dari emulator memerlukan BIOS agar system dapat teremulasi dengan benar, sehingga diperlukan file BIOS. Sama seperti ROM, BIOS memiliki kekayaan intelektual dan tidak termasuk dalam paket Recalbox.
Install Recalbox pada Raspberry Pi sangat mudah, anda dapat melihat detail pada link ini. Namun, saya akan memberitahukan yang jauh lebih mudah dan cepat (sudah termasuk, game ROM, BIOS, dll) sehingga anda tidak perlu lagi download game, karena sebagian besar sudah termasuk di dalam paket SD Card Image 32GB.
Sebelum memulai bermain game, anda terlebih dahulu harus mengatur settingan kontroller. Disarankan untuk menggunakan keyboard komputer dalam menavigasikan ke menu yang di tuju. Key mapping untuk keyboard dapat anda temukan pada link ini. Kontroller player 2 sebaiknya terlebih dahulu di setting, karena memiliki kekurangan tombol push button dibandingkan player 1. Kelebihan tombol pada kontroller player 1 dijadikan sebagai hotkey agar dapat keluar dari game jika anda ingin mengganti dengan game lain atau untuk fungsi save state, take screenshot, dll.
Secara default, tampilan GUI Recalbox Image 32GB yang telah terinstall seperti pada gambar di bawah ini. Jika anda ingin mengganti theme tampilan utama, anda dapat mengubahnya sesuai dengan selera.
Gambar di bawah ini adalah daftar game pada mesin console Capcom. Daftar tersebut telah dilengkapi oleh screnshoot, video preview dan keterangan game (sayangnya berbahasa Portugis).
Selamat, anda telah berhasil menginstall Recalbox beserta ribuan games dan bermacam-macam videogame console. Saatnya memainkan game favorit anda, terutama game nostalgia tahun 90an. 🙂
Akhirnya kita selesai dengan tutorial bagian terakhir membuat game console classic yang fokus pada pengaturan software dingdong bartop rasberry pi.
Seperti biasa, jika anda ada pertanyaan, komentar, masukan, ide-ide kreatif, anda dapat menuliskannya pada komentar di bagian bawah postingan ini.
Terima kasih telah membaca tutorial ini dan tetap stay tuned untuk tutorial-tutorial menarik lainnya pada blog ini yang dapat anda lihat pada bagian home.
Cherrs!!!
Selamat datang kembali pada tutorial pembuatan dingdong bartop menggunakan raspberry pi hardware. Pada bagian ke-4 akan di bahas mengenai pemasangan hardware lainnya.
Sebelum memulai pekerjan, ada baiknya menyiapkan selotip elektrik untuk memastikan tidak ada bagian konduktor yang terbuka. Pada pemasangan set hardware ini, stop kontak 2 socket sudah cukup untuk menjalankan sistem.
Langkah selanjutnya adalah membuka bagian dalam stop kontak, lalu sambungkan kabel pada saklar Playstation 2. Socket tersebut dilengkapi dengan saklar on-off. Socket ini membutuhkan kabel mata dua untuk menghubungkan saklar dari stopkontak sumber listrik utama.
Setelah selesai pemasangan kabel, tempatkanlah pada lubang di bagian bawah kabinet seperti yang telah dijelaskan pada tutorial sebelumnya dan dapat di lihat pada gambar di bawah ini.
Untuk pemasangan sound system, anda cukup menggunakan yang sederhana dan murah. Sumber suara yang digunakan adalah speaker PC USB powered. USB port digunakan sebagai sumber listrik dan audio jack 3.5mm sebagai kabel input pada Raspberry Pi.
Selanjutnya adalah pemasangan komponen-komponen joystick yang terdiri dari USB Encoder, USB cable, push button, joystick arah, dan kabel konektor.
Perlu diperhatikan ketika memasang push button, urutan pemasangan harus sesuai dan sama pada masing-masing konektor kontroller (player 1 dan 2). Misalnya, pada kontroler player 1 untuk button A, B, C di mulai dari port paling kiri, maka untuk controller player 2 pun harus di mulai dari kiri dan berurutan. Mungkin ini adalah software bugs yang ada pada Recalbox, walaupun telah melakukan button assignment dengan sesuai, namun Recalbox akan tetap menggunakan konfigurasi terakhir untuk kedua kontroller tersebut (akan dijelaskan pada bagian software).
Selain dari posisi push button, sama halnya dengan posisi joystick arah, orientasi posisinya pun harus sama antara kontroller 1 dan 2.
Perhatikan gambar yg di beri tanda lingkaran, tanda panah harus menghadap ke atas agar orientasi output sesuai dengan input yang di terima encoder. Jika terbalik dalam pemasangan, maka tidak akan dapat tertedeksi.
Jumlah kabel dari joystick arah ke encoder berjumlah 5 kabel, sedangkan dari encoder ke USB port adalah 4 kabel.
Gambar di atas merupakan illustrasi pemasangan kabel pada encoder. Namun, urutan pengerjaan yang sebenarnya adalah memasang seluruh komponen joystick pada kabinet kayu kontrol panel terlebih dahulu.
Dua gambar di bawah adalah illustrasi setelah pemasangan seluruh komponen kontroller di dalam kabinet selesai.
Hasil akhir pemasangan hardware dapat di lihat pada gambar di bawah ini. Mungkin terlihat cukup berantakan, namun, itu yang terbaik dapat dilakukan walaupun sudah menggulung kabel-kabel dan mengikatnya. Hal terpenting adalah device bekerja dengan baik dan tidak mengganggu satu sama lain dalam hal penempatan hardware.
Ini adalah bagian akhir part 4. Pada bagian ini telah di bahas beberapa part hardware raspberry pi untuk dingdong bartop dan bagaimana cara memasangnya.
Pada bagian terakhir (part 5) akan dijelaskan bagaimana meng-install software Recalbox pada Raspberry Pi 3B/3B+. Penjelasan yang akan di bahas meliputi, persiapan awal, konfigurasi software, copy games dan yang terpenting adalah siap untuk dimainkan dengan jumlah game yang sangat banyak.
Seperti biasanya, jika ada pertanyaan, komentar ataupun masukan, anda dapat menulisnya pada kolom komentar di dibawah postingan ini.
Sampai jumpa lagi pada tutorial selanjutnya (terakhir) pada topik pembuatan dingdong ukuran bartop.
Terima kasih
Bagian ketiga ini akan di bahwas mengenai pemasangan kabinet eksterior dingdong raspberry pi. Pada bagian ini penggunaan peralatan DIY sangatlah kritikal, seperti yang telah dijelaskan pada bagian ke-2 tutorial ini. Peralatan seperti jigsaw, circular saw, obeng listrik, bor tangan, dan klem sangat dibutuhkan.
Hal pertama yang dilakukan adalah memotong kayu MDF ketebalan 15mm dari ukuran standard 1220 x 2440mm menjadi bagian-bagian kecil sesuai dengan ukuran yang telah di bahas pada tutorial sebelumnya.
Karena ukurannya besar, pemotongan dilakukan dengan menggunakan circular saw menjadi 3 bagian medium (bagian A, B dan C pada gambar teknik).
Perlu diperhatikan bahwa ukuran table saw yang saya buat tidak terlalu rigid, sehingga perlu bantuan orang lain ketika memotong bagian A, B dan C, karena memiliki panjang sekitar 1000mm, sedangkan maximal panjang pemotongan table saw tersebut adalah 620mm. Oleh karena itu pemotongan tidak menggunakan table saw.
Hasil dari pemotongan kayu mdf tersebut akan terlihat seperti pada gambar di bawah ini. Total jumlah bagian kayu potong untuk 2 buah dingdong ukuran bartop adalah 25 potong dengan masing-masing ukuran berbeda sesuai dengan design yang telah ditentukan.
Langkah selanjutnya adalah memotong bagian sisi kabinet yang memiliki perbedaan bentuk dibandingkan dari yang lain karena memiliki kontur berbelok-belok. Sebelum proses pemotongan dilakukan, cetaklah dokumen bagian sisi kabinet dengan skala 1:1 dengan menggunakan printer (jangan lupa untuk mencentang “tile mode”). Lalu, tempelkan pada kayu, dan jiplak hasil kontur tersebut menggunakan pulpen atau pensil pada bagian permukaan kayu.
Agar pekerjaan pemotongan lebih efficient, 2 buah kayu yang disiapkan untuk bagian sisi di tumpuk dan dikencangkan menggunakan klem (gambar di bawah). Pastikan posisi antar layer tersebut sejajar, supaya memiliki hasil yang simetris.
Jigsaw digunakan pada proses pemotongan kontur kayu tersebut, jangan terlalu terburu-buru terutama pada bagian yg berbelok-belok, ikuti kontur jalur pemotongan dengan perlahan agar memperoleh hasil yang maksimal.
Dengan metode ini, sekali proses pemotongan dapat menghasilkan satu pasang bagian sisi yang simetris. Sehingga waktu pengerjaan menjadi cepat, walaupun memiliki kekurangan karena cukup banyak bagian kayu yang terbuang.
Setelah proses pemotongan kayu selesai sesuai dengan bentuk dan ukurannya, maka dapat dilanjutkan proses menggabungkan potongan kayu tersebut, sehingga menjadi kabinet dingdong yang utuh.
Sebelum membangun kabinet dingdong, balok penyangga perlu di pasang terlebih dahulu. Penyangga ini di pasang pada bagian dalam kabinet sebagai dudukan antara satu kayu dengan yang lainnya.
Anda dapat mencetak pada kertas dengan skala 1:1, seperti yang telah dilakukan pada proses pemotongan bagian sisi kabinet. Setelah di tempel pada bagian dalam, jangan lupa untuk menjiplak posisi kayu penyangga ini pada permukaan kayu dengan menggunakan pensil/pulpen.
Untuk memastikan kesejajaran balok penyangga pada sisi potongan kayu lainnya, penggaris panjang akan sangat membantu pekerjaan anda. Sebagai gambaran, anda dapat membayangkan efek cermin pada kaca, sehingga dari satu sisi ke sisi lainnya memiliki posisi yang simetris.
Ukuran balok penyangga tersebut memiliki panjang 90mm dengan ketebalan balok 15 x 20 mm, di buat dengan bahan kayu sisa pemotongan, sedangkan untuk menyangga control panel (tempat joystick) memiliki ukuran panjang 130mm dengan ketebalan yang sama. Balok-balok kecil tersebut direkatkan menggunakan lem kayu berwarna putih, setelah sekitar 30 menit, dapat di perkuat dengan paku kecil yang panjangnya 30mm.
Hasil akhir bagian dalam kabinet dapat di lihat pada gambar di bawah ini. Penyangga – penyangga ini lah yang akan menopang control panel, pelindung monitor, dudukan bagian atas dan dudukan monitor.
Bagian dasar dan sisi kabinet direkatkan menggunakan lem kayu dan paku kecil agar struktur menjadi rigid dan tidak mudah goyang bahkan copot. Setelah semua bagian kayu terpasang, maka terlihatlah seperti gambar di bawah ini.
Setelah proses pembuatan kabinet yang rigid selesai (bagian control panel belum terpasang) tahap selanjutnya adalah melubangi kayu menggunakan holesaw dan bor tangan untuk dudukan tombol dan joystick. Jumlah lubang yang dibutuhkan adalah:
Hasil dari proses pelubangan kayu menggunakan holesaw dapat di lihat pada gambar selanjutnya.
Setelah kayu selesai dilubangi, selanjutnya adalah proses pemasangan kayu bagian control panel. Pemasangan dilakukan dengan menggunakan mur dan baut (tidak fixed menggunakan lem dan paku). Hal ini dilakukan untuk memberikan kemudahan, jika sewaktu-waktu ada kerusakan part, sehingga mudah dalam proses penggantiannya.
Monitor yang digunakan untuk dingdong ukuran bartop ini adalah 19in. Hal yang perlu di perhatikan adalah posisi lubang penyangga monitor tersebut harus sejajar dengan lubang pada kayu penyangga monitor dan berada tepat pada posisi di tengah-tengah.
Gambar di atas adalah kayu penopang layar monitor yang duduk pada balok penyangga dan direkatkan menggunakan mur-baut.
Tahap pemasangan PVC sheet hampir sama rumitnya seperti pada proses assembly, karena harus terlebih dahulu mempelajari cara finising menggunakan material tersebut. Hal pertama yang dilakukan adalah dengan menjiplak kontur dari setiap sisi luar (exterior) kabinet dingdong. Selanjutnya adalah memotong nya dengan menggunakan gunting dan cutter.
Setelah selesai memotong berdasarkan ukuran yang sesuai, siapkan lem kuning (Aibon / Fox). Lumasi bagian dalam PVC Sheet dan bagian permukaan kayu yang akan direkatkan. Ratakan dengan menggunakan alat scrapp (yang biasa di pakai untuk mendempul mobil). Pastikan bagian yang akan direkatkan terlumasi sepenuhnya oleh lem kuning, tunggu kira-kira 3-5 menit. Proses pemasangan PVC pun harus berhati-hati dan jangan tergesa-gesa, karena jika sudah menempel antar kedua permukaan tersebut, akan sulit untuk membukanya kembali dan dapat membuat permukaan kayu rusak atau merobek bahan PVC sheet.
Gambar di bawah ini adalah hasil akhir exterior kabinet dingdong setelah dilapisi oleh PVC sheet.
Bagian ini optional, anda dapat mengabaikannya jika sudah merasa puas hanya dengan menggunakan PVC sheet sebagai exterior. Namun, jika anda merasa itu monoton dan tidak menarik di pandang mata, maka tahap ini tidak dapat anda lewatkan.
Bagian kedua pada tutorial ini (desain kabinet menggunakan CAD) menjadi essensial, karena exported file dari Autodesk Inventor dapat berupa pdf file yang nantinya dapat di import menggunakan software desain. Pada proses ini Adobe Photoshop digunakan, untuk meng-import file pdf berdasarkan dimensi dan bentuk permukaan kabinet dingdong dengan skala 1:1.
Setelah anda cukup puas dengan desain sticker sesuai dengan selera anda, selanjutnya export file tersebut ke dalam file ekstensi “.jpg”. Selanjutnya anda dapat menggunakan jasa printing terdekat yang dapat mencetak sticker dengan ukuran besar. Bahan yang digunakan untuk sticker ini adalah Vinyl glossy dan hasilnya dapat di lihat pada gambar di bawah ini.
Selanjutnya kembali pada pekerjaan kerajinan tangan, siapkan penggaris panjang, gunting dan cutter untuk proses pemotongan sticker.
Proses penempelan sticker sama seperti pada pemasangan PVC sheet, namun sedikit lebih mudah karena sticker sudah memiliki bahan perekat. Pastikan saat penempelan, jangan terlalu pas, namun lebihkan sedikit untuk mengantisipasi ada bagian permukaan yang tidak tertutup. Bagian berlebih ini dapat di potong menggunakan cutter, sehingga permukaan lebih rapih dan pas.
Tahap terakhir pada bagian ketiga ini adalah, pemasangan handle pintu dan lubang untuk saklar.
Handle pintu dapat di beli di toko bangunan, carilah ukuran yang paling kecil untuk lemari. Sedangkan saklar sumber listrik menggunakan saklar Playstation 2, ukuran lubang untuk dudukan saklar dapat disesuaikan dengan dimensinya.
Gambar di atas merupakan hasil akhir dari tahap proses pemotongan kayu, pemasangan eksterior dingdong raspberry pi (tutorial part 3).
Tutorial selanjutnya adalah proses pemasangan hardware dan kelistrikan.
Jika ada pertanyaan, ide yang lebih baik, kritik ataupun saran anda dapat menulisnya pada bagian komentar.
Sampi jumpa kembali pada tutorial ke-4...
Stay tuned...
Terima Kasih
Pada bagian kedua ini akan membahas mengenai pembuatan prototype dingdong raspberry pi dengan menggunakan kardus. Pada bagian pertama telah dijabarkan bahan-bahan yang diperlukan, setelah semuanya terkumpul kita akan mendalami design dan membuat prototype cabinet 1:1.
Untuk membuat dingdong ukuran bartop, diperlukan beberapa peralatan DIY. Pada bagian ini akan dipaparkan beberapa alat yang dapat membuat pekerjaan jadi lebih mudah. Sebelum membuat list peralatan tersebut, ada baiknya membedakan antara bahan-bahan dan peralatan. Secara sederhana dapat dijelaskan bahwa peralatan digunakan untuk membuat sesuatu berdasarkan bahan/material yang ada.
Kembali kepada topik utama, list peralatan tersebut adalah sebagai berikut:
- Klem penawahn. Klem ini sangat membantu untuk mempermudah proses pemotongan, pengeleman dan pemakuan yang dapat membuat posisi kayu steady.
Oke, itulah semua peralatan yang dibutuhkan untuk membuat dingdong bartop. Jika anda termasuk orang yang hobi untuk melakukannya sendirian (DIY), mungkin sudah memiliki beberapa peralatan yang telah di jelasakan tersebut. Namun, jika anda memiliki teman ataupun saudara yang memiliki peralatan DIY, anda dapat meminjamnya hingga project ini selesai, daripada anda harus membeli hanya untuk dipakai satu kali.
Saya melakukan riset di internet mengenai design bartop dingdong ini. Banyak sekali pilihan yang unik. Namun, pada akhirnya saya membuat design sendiri dengan alasan effisiensi penggunaan material. Artinya, saya mencoba untuk mengoptimalkan satu ukuran triplek standard yang ada di pasaran, sehingga dapat membuat dua buah kabinet dingdong ukuran bartop.
Langkah awal yang dilakukan adalah 3D Modelling dengan menggunakan CAD software Autodesk Inventor karena memiliki lisensinya.
Setelah cukup puas dengan desain yang akan digunakan, beserta sticker yang akan di pasang. Tahap selanjutnya adalah mengkonversikan design 3D tersebut ke dalam gambar teknik, untuk mendapatkan gambaran seperti ukuran setiap part cabinet bartop dingdong tersebut.
Proses konversi dari model 3D ke gambar teknik cukup mudah, hanya dengan membuat model ukuran standar kayu triplek yang ada di pasaran, lalu tiap bagian part bartop dingdong diletakkan di atas kayu triplek tersebut.
Hasil nya adalah seperti pada gambar di bawah ini:
Part yang kritikal adalah bagian sisi bartop dingdong (7), joystick (3 dan 4). Sehingga kita perlu mencetaknya dengan kertas printer dengan perbandingan 1:1 (sesuai ukuran sebenarnya), lalu ditempelkan pada kayu tersebut sebelum proses pemotongan atau pelubangan kayu agar ukurannya sesuai dengan design yang telah dibuat sebagai guide arah pemotongan kayu.
Exported file dari Autodesk Inventor dapat dalam bentuk pdf maupun langsung mencetaknya menggunakan kertas. Perlu diperhatikan bahwa ketika hendak mencetak design tersebut, pilihan “tile” harus dipastikan ter checklist artinya ukuran model sebenarnya dapat di bagi menjadi beberapa bagian kecil (ukuran A4), lalu hanya tinggal di gabung bagian-bagian kecil tersebut. Namun, jika anda memiliki printer ukuran besar atau menggunakan jasa printing, anda dapat melakukannya hanya dengan 1 kertas besar.
Bentuk persegi panjang kecil-kecil adalah kayu tambahan untuk mensupport bagian-bagian dingdong ukuran bartop, diantaranya adalah layar monitor, control panel joystick, penyangga bagian atas dan penutup sisi monitor.
Sebelum memotong kayu, direkomendasikan untuk membuat full scale prototype 1: 1 dengan menggunakan kardus bekas agar dapat dipastikan bentuk dan ukurannya sesuai dengan design. Hal ini diperlukan untuk meminimalisasi kesalahan ketika memotong kayu. Namun, jika anda percaya diri pada kemampuan modelling, mengukur dan memotong, anda tidak perlu melakukannya.
Hal utama yang harus dipertimbangkan adalah ketebalan dari kardus tersebut yang memiliki ketebalan antara 2-3mm, sedangkan kayu yang digunakan adalah 15mm. Pada pengerjaan prototype ini, kesamaan dengan ketebalan kayu tidak terlalu perlua dipertimbangkan, yang penting adalah kesesuaian dimensi terhadap design.
Bahan kardus yang digunakan untuk prototype ini adalah kardus bekas pembelian lemari IKEA, karena memiliki ukuran yang besar. Peralatan yang digunakan untuk memotong cukup sederhana, yaitu menggunakan cutter, gunting, lem dan selotip.
Hasilnya cukup baik bukan? Prototype ini cukup membantu untuk memahami akan seperti apa bentuk cabinet dingdong terlihat pada produk yang sebenarnya.
Link youtube:
Kesimpulan
Pada bagian kedua ini telah dipaparkan peralatan apa saja yang dibutuhkan, membuat model menggunakan CAD dan membuat prototype menggunakan kardus.
Bagian selanjutnya adalah membangun kabinet dingdong...
Stay tuned...
Seperti biasanya, anda dapat memberikan komentar, ide2 lain ataupun pertanyaan pada postingan ini. Terima Kasih
Memiliki mesin dingdong adalah salah satu impian saya sejak kecil, hampir setiap weekend ketika masih SD saya selalu berkunjung ke tempat dingdong dari hasil tabungan selama satu minggu. Sekarang banyak supplier yang menjual dingdong, sebagian besar dari luar negeri (China), sehingga membutuhkan biaya yang besar tidak hanya dari harga produk nya sendiri namun termasuk bea cukai dan ongkos kirim ke Indonesia. Pada bagian ini dipaparkan kebutuhan bahan apa saja untuk membuat dingdong bartop menggunakan raspberry pi.
Pada akhir tahun 90an, MAME project (Multiple – Arcade – Machine – Emulator) dan single-board computer seperti NUC dan Raspberry Pi membuat segalanya menjadi lebih mudah. Namun, hanya beberapa orang saja yang memiliki keberanian untuk membuat Arcade Cabinet (mesin dingdong) yang meliputi hardware, software dan ROM agar segalanya berjalan lancar. Oleh karena itu, kebanyakan orang memilih membeli joystick dan bermain game console classic menggunakan Emulator yang dapat dijalankan di PC/Laptop masing-masing.
Saya merupakan salah satu orang yang bermain menggunakan PC dan Joystick hingga pada akhirnya saya memutuskan untuk membuat mesin dingdong yang tidak besar, sehingga tidak memakan tempat di dalam rumah saya.
Mengapa saya memilih yang berukuran kecil tidak seperti mesin dingdong di game center yang memiliki ketinggian 1.8/2m selain dari makan tempat:
Positingan saya ini meliputi tutorial ekstensif meliputi instruksi bagaimana membuat nya bersama dengan gambar, grafik dan foto. Karena terlalu panjang penjelasannya, saya akan mencoba membagi nya menjadi beberapa bagian.
Mengapa Membuat Sendiri?
Selain dari yang telah saya jelaskan sebelumnya bahwa harus beli dari luar negeri dan hanya sedikit di Indonesia yang membuat seperti ini. Oleh karena itu saya membuatnya sendiri dan mencoba memasuki pasar game dingdong di Indonesia.
Terlebih keuntungan membuat sendiri dibandingkan dengan membeli ialah design yang lebih custom, dari segi design kabinet, sticker, game pilihan hingga tampilan UI softwarenya yang dapat di ubah-ubah seperti theme wallpaper, video intro dan outro.
Dari semua alasan diatas, yang paling penting adalah kepuasan batin karena membuatnya dengan kedua tangan sendiri dan blue printnya ada pada saya, sehingga akan mudah jika ada pesanan yang banyak.
Namun, jika anda merasa cukup untuk meluangkan waktu dan sangat merepotkan untuk menggambar, menggergaji, memotong, memasang sekrup, mengamplas, mengecat, menempel lapisan pelindung (dan masih banyak lagi) untuk melakukan kerja keras tersebut, anda dapat menyuruh tukang kayu langganan, lalu bagian hardware dan software dapat anda pasang sendiri.
Mari kita mulai dengan daftar yang komprehensif mengenai kebutuhan bahan apa yang diperlukan untuk membuat dingdong bartop seperti gambar diatas.
Lem ini digunakan untuk menempelkan antar permukaan kayu. Ketika sudah kering lem ini sangat kuat.
Pada part pertama ini, djelaskan mengenai arcade bartop dan bahan-bahan yang digunakan untuk membuatnya.
Pada bagian selanjut nya akan dijabarkan mengenai alat-alat yang digunakan, design cabinet dan pembuatan prototype.
Jika anda memiliki pertanyaan, anda dapat menulisnya pada bagian komentar postingan ini..stay tuned...
Sampai bertemu lagi pada postingan selanjutnya.
Tutorial ini di berisi mengenai tensorflow object detection dengan neural network dengan object yang sesuai dengan yang Anda inginkan menggunakan Tensorflow Framework API. Pada akhir tutorial ini kita akan dapat mengenali object dengan tanda segi empat pada gambar, video ataupun webcam.
Tutorial ini memaparkan bagaimana cara menggunakan API Tensorflow Object Detection untuk training klasifikasi object detection dari beberapa object tertentu pada windows 10. Namun, tutorial ini dapat digunakan pada OS yang lain seperti Mac ataupun Linux, hanya saja akan ada sedikit perbedaan prosedurnya pada command terminal OS yang bersangkutan. Pada tutorial ini, versi yang digunakan adalah Tensorflow-GPU v1.13.1 dan Python 3.5.
Tensorflow-GPU memiliki kemampuan lebih dalam hal kecepatan processing karena oleh VGA grafik card. Berdasarkan pengalaman, Tensorflow biasa (CPU) memiliki kecepatan 8x lebih lambat (misal jika kita menggunakan GPU membutuhkan waktu 1 jam untuk training model, pada Tensorflow CPU membutuhkan waktu 8 jam). Tensorflow CPU pada tutorial ini pun dapat digunakan, namun akan lebih lambat dalam hal processing. Jika anda ingin menggunakan Tensorflow CPU, maka, tidak perlu install CUDA dan CuDNN.
Download Anaconda, lalu install pada computer anda. Perlu diperhatikan bahwa, installer Anaconda terbaru sudah menggunakan Python versi 3.7, sedangkan pada tutorial ini kita menggunakan Python 3.5. Namun, kita tidak perlu khawatir, karena kita akan menggunakan virtual environment.
Tahap selanjutnya adalah menginstall CUDA dari situs resmi NVIDA. Perlu diperhatikan bahwa, versi CUDA dan cuDNN harus sesuai dengan versi Tensorflow yang kita gunakan. Karena kita menggunakan Tensorflow 1.13.1, sehingga versi yang dibutuhkan adalah:
Untuk download cuDNN, kita harus membuat account NVIDIA. Setelah download cuDNN selesai sesuai dengan versinya, lalu kita ikuti cara installasi cuDNN.
Tensorflow Object Detection API membutuhkan struktur folder yang spesifik sesuai dengan Github Repository nya. Selain itu, kita membutuhkan beberapa Python package tambahan dan juga variable PATH dan PYTHONPATH.
Buatlah folder baru di dalam drive C: dengan nama “tensorflow1”. Folder ini meliputi Tensorflow framework untuk object detection, termasuk objek training tensorflow, data training, klasifikasi yang telah di train, konfigurasi file dan hal lain yang dibutuhkan untuk mendeteksi suatu objek.
Download/clone Tensorflow object detection repo pada link GitHub ini untuk versi 1.13. Versi terbaru adalah 2.0, namun jika kita menggukan versi 2.0, maka, akan ada banyak perubahan pada library dan tentunya mempersulit hidup kita hingga versi yang telah stabil di rilis oleh Google.
Setelah proses cloning selesai, struktur folder akan seperti: C:\tensorflow1\models:
Tensorflow memiliki beberapa model pendeteksi objek (telah di training tensorflow menggunakan arsitektur neural network yang spesifik), pre trained model tersebut dapat ditemukan pada link ini. Model-model tersebut memiliki arsitektur yang berbeda. Ada yang sangat cepat dalam mendeteksi objek, namun memiliki akurasi yg kurang baik (seperti SSD mobilenet). Selain itu, ada yang lebih lambat mendeteksi objek dan memiliki akurasi yang lebih akurat (seperti Faster-RCNN model).
Kita dapat memilih model sesuai dengan keperluan masing-masing, jika kita ingin menggunakan smartphone atau Raspberry Pi, maka pilih lah SSD-Mobile net. Namun, jika kita memiliki komputer yang cepat, maka model RCNN dapat digunakan.
Pada tutorial ini saya menggunakan laptop ASUS ROG GL502VT yang memiliki VGA NVIDIA GTX 970M 16GB. Oleh karena itu, kita akan menggunakan model Faster-RCNN-Inception-V2 model.
Setelah proses download Zoo model yang akan kita pakai selesai, selanjutnya adalah mengekstrak file tersebut, lalu letakkan di dalam folder C:\tensorflow1\models\research\object_detection.
Selanjutnya adalah download/clone full repository dari GitHub Edje Electronics, ekstrak zip file, lalu tempatkan di dalam folder C:\tensorflow1\models\research\object_detection.
Karena kita akan mengunakan object detector berdasarkan yang kita inginkan, maka kita dapat menghapus file di bawah ini (folder harus tetap ada)
Langkah selanjutnya adalah setup Anaconda virtual environment untuk menjalankan tensorflow-gpu. Dari windows search, cari “Anaconda prompt” dan jalankan sebagai administrator.
Selanjutnya kita akan membuat environment bernama “tensorflow1” dengan cara mengeksekusi perintah:
C:\> conda create -n tensorflow1 pip python=3.5
Lalu aktivasi environment “tensorflow1” dan upgrade pip
C:\> activate tensorflow1
(tensorflow1) C:\>python -m pip install --upgrade pip
Selanjutnya install tensorflow-gpu dalam environment tersebut dengan mengeksekusi:
(tensorflow1) C:\> pip install --ignore-installed --upgrade tensorflow-gpu==1.13.1
Lalu kita harus install beberapa paket lainnya yang dibutuhkan oleh tensorflow yaitu:
(tensorflow1) C:> conda install -c anaconda protobuf
(tensorflow1) C:> pip install pillow
(tensorflow1) C:> pip install lxml
(tensorflow1) C:> pip install Cython
(tensorflow1) C:> pip install contextlib2
(tensorflow1) C:> pip install jupyter
(tensorflow1) C:> pip install matplotlib
(tensorflow1) C:> pip install pandas
(tensorflow1) C:> pip install opencv-python
Variable PYTHONPATH harus ditentukan dan mengarah kepada direktori \models, \models\research, dan \models\research\slim dengan cara mengeksekusi perintah:
(tensorflow1) C:> set PYTHONPATH=C:\tensorflow1\models;C:\tensorflow1\models\research;C:\tensorflow1\models\research\slim
Catatan: Kita harus selalu setup ulang PYTHONPATH setiap kali keluar dari virtual environment “tensorflow1”. Untuk memastikan bahwa path telah sesuai, kita dapat memeriksanya dengan perintah “echo %PYTHONPATH%”
Selanjutnya adalah mengkompilasikan file protobuf yang diperlukan untuk parameter model dan konfigurasi training pada tensorflow.
Pada Anaconda Command prompt, arahkan directory ke \models\research:
(tensorflow1) C:\> cd C:\tensorflow1\models\research
Lalu, copy dan paste perintah ini:
protoc --python_out=. .\object_detection\protos\anchor_generator.proto .\object_detection\protos\argmax_matcher.proto .\object_detection\protos\bipartite_matcher.proto .\object_detection\protos\box_coder.proto .\object_detection\protos\box_predictor.proto .\object_detection\protos\eval.proto .\object_detection\protos\faster_rcnn.proto .\object_detection\protos\faster_rcnn_box_coder.proto .\object_detection\protos\grid_anchor_generator.proto .\object_detection\protos\hyperparams.proto .\object_detection\protos\image_resizer.proto .\object_detection\protos\input_reader.proto .\object_detection\protos\losses.proto .\object_detection\protos\matcher.proto .\object_detection\protos\mean_stddev_box_coder.proto .\object_detection\protos\model.proto .\object_detection\protos\optimizer.proto .\object_detection\protos\pipeline.proto .\object_detection\protos\post_processing.proto .\object_detection\protos\preprocessor.proto .\object_detection\protos\region_similarity_calculator.proto .\object_detection\protos\square_box_coder.proto .\object_detection\protos\ssd.proto .\object_detection\protos\ssd_anchor_generator.proto .\object_detection\protos\string_int_label_map.proto .\object_detection\protos\train.proto .\object_detection\protos\keypoint_box_coder.proto .\object_detection\protos\multiscale_anchor_generator.proto .\object_detection\protos\graph_rewriter.proto .\object_detection\protos\calibration.proto .\object_detection\protos\flexible_grid_anchor_generator.proto
Perintah diatas akan menghasilkan python file xxx_pb2.py dari setiap xxx.proto di dalam folder \object_detection\protos
Setelah itu, eksekusi perintah dari direktori
C:\tensorflow1\models\research:
(tensorflow1) C:\tensorflow1\models\research> python setup.py build
(tensorflow1) C:\tensorflow1\models\research> python setup.py install
Kita telah menyiapkan API Tensorflow Object Detection dan kita butuh mengumpulkan banyak gambar untuk di training tensorflow. Pada tutorial ini kita akan menggunakan kemasan botol plastic dan kaleng pada minuman yang berbeda merk.
Tensorflow membutuhkan ratusan objek gambar untuk di train agar mendapatkan hasil deteksi objek yang bagus.
Objek yang akan kita kenali ada enam macam jenis spesimen, yaitu: botol plastic (Aqua, Prima dan Le Minerale) serta kemasan minuman kaleng (Sprite, Coca-cola dan Pocari Sweat).
Pastikan ukuran gambar tidak terlalu besar, oleh karena itu saya buatkan Python script untuk membuat gambar lebih kecil dan memiliki ukuran yang sama
from PIL import Image
import os, sys
path = r"C:\xxx\xxx\xxxxxx\\"
dirs = os.listdir( path )
def resize():
i = 1
for item in dirs:
if os.path.isfile(path+item):
im = Image.open(path+item)
f, e = os.path.splitext(path+item)
imResize = im.resize((720,540), Image.ANTIALIAS)
imResize.save('Image_'+str(i)+'.jpg', 'JPEG', quality=90)
i=i+1
print("done image " + str(i))
resize()
Setelah kita memiliki gambar yang diinginkan, pisahkan menjadi dua bagian. 20% masuk ke dalam folder \object_detection\images\test sisanya (80%) pindahkan ke dalam \object_detection\images\train.
Setelah semua terkumpul, sekarang saatnya untuk memberi label pada setiap gambar. Labelimg adalah software yang mudah digunakan untuk melabeli gambar, dengan instruksi yang jelas dan dapat anda lihat di dalam repository Labelimg Github.
Total semua gambar yang saya beri label adalah 225 gambar. Label gambar tersebut di simpan dalam bentuk .xml file. File xml ini akan digunakan untuk membuat TFRecords yang merupakan salah satu input TensorFlow trainer. Setelah kita memberikan label pada setiap gambar, maka, masing-masing gambar akan memiliki satu .xml file di dalam folder \test dan \train.
Setelah selesai melabeli gambar, sekarang saat nya untuk membuat training tensorflow TFRecords dengan menggunakan script xml_to_csv.py dan generate_tfrecord.py dari link github ini.
Pertama-tama, file .xml akan digunakan untuk membuat file .csv yang meliputi semua informasi gambar pada folder train dan test. Eksekusi perintah dari folder \object_detection:
(tensorflow1) C:\tensorflow1\models\research\object_detection> python xml_to_csv.py
Perintah tersebut akan menghasilkan train_labels.csv dan test_labels.csv yang berada di dalam folder \object_detection\images.
Selanjutnya buka file generate_tfrecord.py dengan menggunakan text editor, lalu ubah label map pada baris 31.
def class_text_to_int(row_label):
if row_label == 'botol plastik-Aqua':
return 1
elif row_label == 'botol plastik-Prima':
return 2
elif row_label == 'botol plastik-Le Minerale':
return 3
elif row_label == 'kaleng-CocaCola':
return 4
elif row_label == 'kaleng-Sprite':
return 5
elif row_label == 'kaleng-Pocari Sweat':
return 6
else:
None
Selanjutnya adalah membuat TFRecord dengan mengesekusi dua perintah di bawah ini dari dalam folder \object_detection:
python generate_tfrecord.py --csv_input=images\train_labels.csv --image_dir=images\train --output_path=train.record
python generate_tfrecord.py --csv_input=images\test_labels.csv --image_dir=images\test --output_path=test.record
Hal terakhir yang dilakukan sebelum melakukan training tensorflow adalah membuat label map yang menyesuaikannya dengan konfigurasi training.
Label map memberitahu Tensorflow trainer untuk setiap object, dengan cara mendefinisikan nama kelas ke dalam nomer ID kelas tersebut. Dengan menggunakan text editor, buatlah file dengan nama labelmap.pbtxt di dalam folder:
C:\tensorflow1\models\research\object_detection\training
Untuk menjalankan konfigurasi yang tepat, pipeline training object detection harus disesuaikan. Hal tersebut digunakan untuk mendefinisikan model dan parameter apa yang digunakan. Ini merupakan langkah terakhir sebelum kita menjalankan training.
Masuk ke dalam folder: C:\tensorflow1\models\research\object_detection\samples\configs, lalu copy file faster_rcnn_inception_v2_pets.config
ke dalam folder
C:\tensorflow1\models\research\object_detection\training dan edit sesuai dengan konfigurasi di bawah ini:
Sekarang saatnya kita menjalankan training untuk objek yang dikehendaki. Pada Anaconda Prompt navigasikan ke folder \object_detection, lalu training di mulai dengan mengeksekusi perintah:
python train.py --logtostderr --train_dir=training/ --pipeline_config_path=training/faster_rcnn_inception_v2_pets.config
Jika training ter-setup dengan benar, Tensorflow akan memulai inisiasi training tensorflow. Pada inisialisasi ini dibutuhkan waktu sekitar 30 detik sebelum training dijalankan. Proses training akan terlihat seperti pada gambar di bawah ini:
Setiap step training tensorflow akan terlihat loss yang dihasilkan. Dimulai dari angka tinggi dan terus mengecil. Direkomendasikan untuk terus melakukan training hingga loss di bawah 0.05 dengan steady.
Jumlah loss akan berbeda dari setiap model yang akan di pakai untuk training. Sebagai contoh jika menggunakan MobileNet-SSD, loss akan di mulai dari angka 20 dan terus dilakukan training hingga di bawah angka 2.
Progress dari training tensorflow dapat di lihat melalui TensorBoard. Untuk membukanya, kita harus menjalankan Anaconda Prompt pada window lain, aktivasi environment tensorflow1, lalu setup kembali PYTHONPATH seperti yang telah dijelaskan pada bagian sebelumnya.
Perintah untuk mengeksekusi training adalah:
(tensorflow1) C:\tensorflow1\models\research\object_detection>tensorboard --logdir=training
Perintah di atas akan membuka webpage pada local machine pada alamat (yang akan terlihat setelah eksekusi tensorboard) sesuai dengan nama komputer anda:
Alamat web ini dapat di buka dengan menggunakan web browser apa saja. Tensorboard memberikan informasi dalam bentuk grafik yang menunjukkan progress training tensorflow. Grafik yang perlu diperhatikan adalah Loss, grafik ini menunjukkan loss secara keseluruhan dari klassifier seiring berjalannya waktu.
Training tensorflowtersebut secara berkala akan menyimpan data checkpoint setiap sepuluh menit. Untuk mengentikan training, kita dapat melakukannya dengan menekan CTRL+C pada Anaconda Prompt. Hal yang menarik adalah kita dapat menghentikan nya, lalu menjalankan kembali proses training tanpa harus di mulai dari awal.
Setelah training selesai, langkah terakhir adalah membuat frozen inference graph (file .pb). Pada Anaconda Prompt, navigasikan ke folder \object_detection, lalu eksekusi dengan perintah:
python export_inference_graph.py --input_type image_tensor --pipeline_config_path training/faster_rcnn_inception_v2_pets.config --trained_checkpoint_prefix training/model.ckpt-XXXX --output_directory inference_graph
XXXX adalah angka paling besar pada file “model.ckpt-XXXX” (yang paling up to date).
Perintah diatas akan menghasilkan file frozen_inference_graph.pb di dalam folder \object_detection\inference_graph. File .pb adalah hasil training klasifikasi object detection.
Object detection telah siap untuk digunakan!!! Edje Electronic telah membuat script untuk mendeteksi obyek berupa gambar, video dan live camera.
Sebelum menjalankan Python script tersebut, kita harus memodifikasi variable NUM_CLASSES sesuai dengan jumlah klasifikasi yang telah kita tentukan.
Untuk menjalankan Python Script, kita dapat mengeksekusi perintah “idle” di dalam Anaconda Prompt dengan menggunakan “tensorflow1” environment. Setelah Python idle window terbuka, lalu kita dapat membuka file untuk mendeteksi obyek, lalu di klik run. Pada contoh ini, kita akan menggunakan webcam untuk mendeteksi objek.
Sekian tutorial yang cukup panjang ini. Bila anda tertarik untuk menggunakan raspberry pi untuk mendeteksi object. Anda dapat melihatnya pada link ini.
Voila!! Selamat mencoba
https://github.com/EdjeElectronics/TensorFlow-Object-Detection-API-Tutorial-Train-Multiple-Objects-Windows-10
https://www.tensorflow.org/install/source#tested_build_configurations
https://docs.nvidia.com/deeplearning/sdk/cudnn-install/index.html
https://github.com/tensorflow/models/tree/r1.13.0
https://github.com/tensorflow/models/blob/master/research/object_detection/g3doc/detection_model_zoo.md
https://github.com/tzutalin/labelImg
https://github.com/datitran/raccoon_dataset
Tutorial ini berisi bagaimana cara installasi Raspberry Pi Object Detection agar dapat mendeteksi object menggunakan raspberry pi 4 dengan camera.
Tutorial instalasi Tensorflow pada Raspberry Pi4 ini berdasarkan Edje Electronics.
Sepanjang saya mencari tutorial mengenai tensorflow, tutorial dari Edje Electronics adalah yang paling mudah diikuti dan di mengerti. Maka dari itu alangkah lebih baik untuk melihat tutorial yang disajikan oleh Edje Electonics dan subscribe channel nya untuk mengetahui project-project selanjutnya yang ia buat.
Sebelum memulai tutorial, alat-alat yang saya gunakan, yaitu:
Tutorial ini di tulis pada tanggal 14/10/2019
Tutorial ini berisi bagaimana cara installasi Tensorflow Object Detection API pada Raspberry Pi 4 agar dapat mendeteksi objek. Dengan mengikuti alur selangkah-demi selangkah, diharapkan anda dapat menggunakan Raspberry Pi untuk mendeteksi suatu object dari camera secara langsung dengan menggunakan kamera USB ataupun Picamera. Anda dapat menyesuaikan tutorial ini kepada object yang ingin anda deteksi secara spesifik.
Buka command terminal, lalu eksekusi perintah:
sudo apt-get update
sudo apt-get dist-upgrade
pip3 install tensorflow
Tensorflow membutuhkan paket tambahan “LibAtlas” agar berfungsi dengan baik
sudo apt-get install libatlas-base-dev
Install beberapa dependencies yang dibutuhkan untuk menjalankan tensor flow seperti tertera dalam repositories Tensorflow instruksi installasi. Diantaranya:
sudo pip3 install pillow lxml jupyter matplotlib cython
sudo apt-get install python-tk
Selesai untuk instalasi Tensorflow, selanjutnya adalah OpenCV
OpenCV digunakan untuk mendeteksi object yang relative mudah dan sedikit error.
Agar OpenCV dapat bekerja dengan baik pada Raspberry Po. Ada beberapa dependencies yang harus di install menggunakan “apt-get”, yaitu:
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng12-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install qt4-dev-tools libatlas-base-dev
Tensorflow object detection menggunakan Protobuff, yaitu Google Protocol Buffer data format.
sudo apt-get install protobuf-compiler
Untuk memastikan terinstall dengan benar, maka perlu di cek dengan cara protoc –-version
Sehingga akan muncul tulisan libprotoc 3.6.1 atau versi yang terbaru.
Kita telah menginstall semua packages yang dibutuhkan untuk menjalankan Tensorflow, selanjutnya kita membutuhkan setup direktori Tensorflow. Kita akan membuat direktori tensorflow1:
mkdir tensorflow1
cd tensorflow1
Lalu, download repository tensorflow dari Github:
git clone --recurse-submodules https://github.com/tensorflow/models.git
Selanjutnya adalah memodifikasi PYTHONPATH environment. Hal ini berguna agar PYTHONPATH selalu ter-setup setiap kali terminal window terbuka.
sudo nano ~/.bashrc
Arahkan kursor ke bagian akhir file, dan pada baris terakhir tambahkan baris:
export PYTHONPATH=$PYTHONPATH:/home/pi/tensorflow1/models/research:/home/pi/tensorflow1/models/research/slim
Setelah itu, simpan dan keluar dari file tersebut. Keluar command terminal dan buka kembali.
Selanjutnya, kita membutuhkan Protoc untuk mengkompilasikan file Protocol Buffer (.proto) yang digunakan oleh Object Detection API. File tersebut ada dalam direktori “/research/object_detection/protos”, namun kita harus mengesekusi perintahnya dari direktori /research:
cd /home/pi/tensorflow1/models/research
protoc object_detection/protos/*.proto --python_out=.
Perintah di atas mengkonversikan seluruh file yang memiliki ekstensi “.proto” menjadi “_pb2.py”.
Selanjutnya, pergi ke direktori “object_detection”
cd /home/pi/tensorflow1/models/research/object_detection
Sekarang, kita akan download object detection model dari TensorFlow detection model zoo. Model zoo ini adalah koleksi dari Google untuk model yang telah di training dan memiliki kecepatan komputasi dan akurasi yang berbeda. Raspberry Pi memiliki processor yang relative lemah, oleh karena itu kita membutuhkan model yang menggunakan kekuatan processing yang kecil. Walaupun model berjalan dengan cepat, namun, memiliki tingkat akurasi yang rendah. Untuk tutorial kali ini kita akan menggunakan SSDLite-MobileNet, dimana model tersebut adalah yang paling cepat.
Google selalu mengeluarkan model terbaru dengan kecepatan dan performa yang lebih baik seiring waktu. Oleh sebab itu, dapat mengunjungi nya secara berkala.
Download SSDLite-MobileNet dengan cara:
wget http://download.tensorflow.org/models/object_detection/ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
tar -xzvf ssdlite_mobilenet_v2_coco_2018_05_09.tar.gz
Ok, sekarang model di dalam direktori “object_detection” telah siap untuk digunakan. Selanjutnya adalah tahap terakhir, yaitu mendeteksi objek
Akhirnya kita sampai pada bagian yang sangat menyenangkan yaitu mendeteksi object menggunakan kamera pada Raspberry Pi. Skrip Python pada tutorial ini adalah “Object_detection_picamera.py”. Secara umum, script ini memerintahkan untuk mengarahkan path kepada model dan labelmap, lalu memasukan model ke dalam memori, initialisasi Picamera dan memulai deteksi objek pada video frame dari Picamera.
Pastikan kita telah mengaktifasikan Camera pada Raspberry Pi Configuration.
Download “Object_detection_picamera.py” ke dalam direktori object_detection dari github EdjeElectronics dengan cara:
wget https://raw.githubusercontent.com/EdjeElectronics/TensorFlow-Object-Detection-on-the-Raspberry-Pi/master/Object_detection_picamera.py
Jalankan Script:
python3 Object_detection_picamera.py
Secara default, script akan mengesekusi perintah menggunakan Picamera, jika kita menggunakan USB camera, maka commandnya menjadi:
python3 Object_detection_picamera.py --usbcam
Voila!!! Sekarang anda dapat mendeteksi object.
Untuk mendeteksi objek sesuai dengan yang diinginkan anda dapat lihat pada link ini.
Kita dapat menggunakan kustom model yang telah di training sesuai dengan object yang hendak kita deteksi. Dengan cara memasukkan frozen inference graph ke dalam direktori object_detection dan mengubah path model tersebut di dalam script. Setelah kita memiliki model tertentu, simpan file tersebut di dalam directory object_detection dan label_map.pbtxt di dalam direktori object_detection/data. Tutorial untuk ini dapat di lihat dari video Edje Electronic yang lain di link youtube.
Terima kasih telah membaca tutorial singkat ini.
Semoga bermanfaat untuk anda.
Pada tutorial kali ini kita akan di bahas bagaimana sensor ultrasonic bekerja, dan digunakan pada Arduino Board untuk mengukur jarak dengan sensor tersebut.
Sensor ultrasonic memancarkan suara pada 40 kHz melalui media udara. Jika ada suatu obyek yang menghalangi jalur nya, maka gelombang suara ini akan terpantul dan kembali kepada modul sensor tersebut. Dengan mengetahui waktu dan kecepatan udara, maka kita dapat menghitung jarak antara letak sensor dan benda di depan nya.
Kali ini saya akan membahas mengenai ultrasonic sensor dan model yang telah saya gunakan, diantaranya:
1. HC-SR04
2. US - 015
3. JSN-Sr04t
Perbandingan antara ketiga sensor diatas dapat di lihat pada tabel di bawah ini:
Komponen-komponen yang digunakan:
1. Arduino Uno
2. Ultrasonic Sensor
3. Breadboard
4. Kabel Jumper
Ke empat modul ultrasonic tersebut memiliki 4 pin, yaitu: Ground, Vcc, Trig dan Echo. Pin Ground dan Vcc pada modul sensor dikoneksikan pada pin Ground dan 5 Volts pin Arduino, sedangkan Trig dan Echo dipasangkan dengan pin I/O manapun pada Arduino.
#include <Ultrasonic.h>
///////////Anda dapat mengubah nomer pin berdasarkan preferensi///////////
Ultrasonic ultrasonic(11, 12); /// Ini adalah nomer pin (Trigger, Echo) yang terpasang pada arduino
void setup() {
Serial.begin(9600);
}
void loop() {
Serial.print("Jarak dalam cm: ");
Serial.println(ultrasonic.distanceRead());
delay(1000);
}
Code di atas menggunakan library Ultrasonic yang dapat di akses melalui:
Ultrasonic Library
Dengan mengunakan library ini, coding yang panjang untuk mendefinisikan pengukuran jarak ultrasonic menjadi singkat. Library tersebut dapat digunakan untuk ketiga jenis sensor yang ada di atas.
Pada tutorial ini anda telah dapat mengukur jarak dengan menggunakan ultrasonic sensor. Semoga artikel ini bermanfaat untuk anda jika ingin mengaplikasikan sensor ini pada project-project yang lebih kreatif.
Terima kasih telah membaca tutorial dari saya, selalu stay tuned pada halaman utama web ini agar anda dapat melihat tutorial-tutorial lain lainnya. A Bientot!!!
Halo para pembaca budiman, kali ini kita akan membahas mengenai bagaimana mengukur temperature dan kelembaban udara dengan menggunakan Nodemcu board.
Nodemcu sangat banyak digunakan oleh para maker dan inovator untuk memulai project yang berkaitan dengan Internet of Things (IoT) karena harga yang sangat terjangkau dan ukuran yang praktis.
Sebelum memulai penjelasan singkat ini, ada beberapa module atau sensor yang harus anda persiapkan diantaranya adalah:
1. Micro usb cable (untuk programming board)
2. NodeMCU (module microcontroller)
3. DHT11 (sensor temperature dan kelembaban)
Setelah semua terkumpul, selanjutnya adalah mengkoneksikan kabel jumper dari nodeMCU ke sensor DHT11 seperti pada konfigurasi gambar di bawah ini:
Untuk programming modul Nodemcu ini, diperlukan arduino IDE untuk menulis sketch dan meng-uploadnya kepada microcontroller.
Perlu diperhatikan bahwa module ini termasuk kepada ESP8266 family, sehingga sebelum memulai programming harus dipastikan bahwa library dan daftar board sudah terpasang pada arduino IDE anda. Anda dapat mengikuti tutorial pada link ini.
Script yang di tulis pada arduino IDE adalah:
// Import library yang diperlukan
#include "DHT.h"
// Tentukan pin untuk data
#define DHTPIN D8
// type sensor menggunakan DHT11
#define DHTTYPE DHT11
// Initialisasi sensor
DHT dht(DHTPIN, DHTTYPE);
void setup() {
// Start Serial
Serial.begin(115200);
delay(10);
// Init DHT
dht.begin();
}
void loop() {
// Membaca temperature dan kelembaban
float h = dht.readHumidity();
// Read temperature as Celsius
float t = dht.readTemperature();
delay(1000);
// Menampilkan data di serial Monitor
Serial.print("Temperature :");
Serial.print(t);
Serial.println("C");
Serial.print("Humidity :");
Serial.print(h);
Serial.println("%");
delay(10);
// Update setiap 1000ms (1 detik) agar pembacaan stabil dahulu
delay(1000);
}
Setelah upload code diatas lalu arahkan ke Tools>Serial Monitor (Ctrl+Shift+M). Jangan lupa untuk memastikan Upload speed "115200", Board "NodeMCU 1.0 (ESP-12E Module), dan PORT "COM..." berdasarkan com port yang terdeteksi oleh Arduino IDE.
Hasil dari pengukuran akan seperti gambar di bawah ini
Pada tutorial kali ini, anda telah memahami konsep sederhana bagaimana cara mengukur temperature dan humidity dengan menggunakan nodemcu.
Jika anda ingin mengikuti tutorial lebih lanjut mengenai IoT anda dapat melihat pada link ini.
Sekian tutorial kali ini dan selamat menikmati dan semoga bermanfaat untuk anda.
Terima kasih
Tutorial kali ini akan membahas mengenai cara setup ESP8266 pada arduino IDE. Sebelum memulai ada baiknya kita berkenalan terlebih dahulu dengan module ESP8266 yang sangat populer untuk mempelajari daser atau perkenalan dengan Internet of Things (IoT).
ESP8266 adalah modul Arduino tambahan yang memiliki fitur wifi. Modul tersebut sangat banyak digunakan untuk project Internet of Things (IoT) dengan keunggulan sangat praktis dan sangat murah. Selain itu, module ini pun dapat di program menggunakan Arduino IDE. Banyak sekali jenis board yang sudah terintegrasikan dengan module ESP8266, sehingga tidak perlu melakukan konfigurasi lagi menggunakan Arduino Uno. Contohnya adalah Wemos, NodeMCU, dll.
Untuk tutorial-tutorial selanjutnya saya akan fokus menggali kemampuan board yang memilik base ESP8266 karena kesederhanaannya untuk aplikasi IoT.
ESP8266 ini dapat anda beli di link Bukalapak ini.
Untuk menginstall ESP8266 ada beberapa tahapan yang harus dilakukan, diantaranya:
1. Buka window "Preferences" pada Arduino ide. File > Preferences.
2. Masukan link "http://arduino.esp8266.com/stable/package_esp8266com_index.json" ke kolom "Additional Boards Manager URLs" seperti tertera pada gambar di bawah ini
3. Buka "Boards Manager...". Tools > Board > Board Manager...
4. Scroll ke bawah hingga menemukan esp8266 seperti pada gambar di bawah ini, lalu klik "install" dan voila!!! ESP8266 siap untuk digunakan..
Pada tutorial ini anda telah mengetahui bagamiana cara setup ESP8266 pada arduino library dan apa saja yang dibutuhkan sebelum memulai project inovatif yang akan anda lakukan.
Terima kasih telah mengunjungi artikel singkat ini. Jika anda tertarik mengenai topik IoT anda dapat melihat kumpulan project lain pada link ini.
Tetap berkreasi dan berinovasi.