Jumat, 28 Juli 2023

Membuat Arduboy menggunakan Arduino Nano/Uno OLED I2C

ArduBoy versi Slimboy
ArduBoy versi Slimboy

Dulu saya pernah melihat sebuah proyek yang bernama Arduboy yaitu sebuah game yang dibuat oleh komunitas Arduboy dengan arduino sebagai otaknya dan ditampilkan pada display oled spi 1.3 inchi dan saya pun tertarik untuk mencobanya kemudian setelah mendapatkan library dan kode program salah satu game nya saya coba upload ke arduino Uno dan hasilnya ternyata error. setelah saya cari tahu penyebabnya didapatkan lah bahwa Arduboy ini berjalan pada arduino pro micro bukan pada arduino Uno yang saya pakai karena arduino pro micro ini memakai mikrokontroler mega32u4 bukan atmega328 seperti pada arduino Uno. Akhirnya karena tidak punya arduino pro micro sayapun tidak jadi membuat nya.


Arduboy
ArduBoy

Seiring berjalannya waktu saya bertemu kembali dengan proyek Arduboy ini namun dengan informasi yang sangat menarik yaitu ada porting untuk arduino nano dan display oled i2c dengan memakai istilah slimboy, sayapun kembali tertarik ingin mencobanya karena bahan-bahannya kebetulan tersedia.


Saya coba terlebih dahulu pada minimum sistem atmega328 yang saya miliki dan akhirnya sayapun sudah bisa merasakan permainan Arduboy pada arduino yang memakai mikrokontroler atmega328 seperti arduino nano ataupun arduino Uno.


Baca juga : Membuat Weather Station ESP8266 (ESP-01) 


Nah karena game Arduboy sudah dapat berjalan lancar pada arduino yang memakai mikrokontroler atmega328, maka sayapun mulai mendesain layout dari skema Arduboy versi slimboy yang biasa kita lihat pada library nya sehingga hasilnya seperti gambar di bawah ini.


Skema Arduboy versi Slimboy
Skema Arduboy versi Slimboy

Layout Arduboy versi Slimboy
Layout Arduboy versi Slimboy

Jika kamu ingin membuatnya tanpa ribet membuat ulang layoutnya silakan download file gerber pada tautan ini

Setelah selesai membuat desain layout Arduboy versi slimboy selanjutnya saya cetak menjadi pcb di situs pcbway.com dengan hanya 5 dolar kita sudah bisa mendapatkan pcb sebanyak 5 bahkan sampai 10 keping pcb dengan kualitas yang sangat bagus, tak sampai disitu, kita akan mendapatkan saldo untuk biaya cetak pcb saat kita pertama kali mendaftar akun pcbway klik pada tautan tersebut.


Pcbway.com
PCBWay.com

Free 5 dollars
Free 5 dollars

Proses pembuatan pcb sekitar 2 hari dan proses pengiriman sekitar 3 hari pcb Arduboy versi slimboy pun sudah biasa saya dapatkan dan sudah tak sabar ingin segera merakitnya dan setelah dirakit hasilnya sudah bisa dilihat seperti gambar di bawah ini.


Top PCB Arduboy
Top PCB Arduboy

Bottom PCB Arduboy
Bottom PCB Arduboy

ArduBoy versi Slimboy
ArduBoy versi Slimboy

Sekarang kita download dulu library arduboy versi Arduino Nano pada github ini

https://github.com/harbaum/Arduboy2

Download library tersebut kemudian instal pada Arduino IDE dengan cara klik tab Sketch - Include Library - Add zip library lalu pilih library slimboy yang telah didownload tadi. 

Dan untuk kumpulan game nya silakan download game - game dari developer TeamARG pada tautan berikut ini. 

https://github.com/orgs/Team-ARG-Museum/repositories?page=1


Untuk proses dokumentasi tutorial hingga pengetesan beberapa game bisa dilihat pada video berikut ini. 



Senin, 10 Juli 2023

Membuat Weather Station ESP8266 (ESP-01)

 

OLED & ESP-01
OLED & ESP-01

Saat saya mendapatkan modul ESP-01 dan display OLED dari PCBWay, Saya mencari ide proyek yang menggunakan kedua modul tersebut melalui video YouTube maupun melalui website kemudian saya menemukan sebuah proyek github yang bernama Weather Station ESP8266 dari ThingPulse berupa sebuah library untuk digunakan pada Arduino IDE. Jadi kode programnya diambil dari example library weather station ESP8266 yang bernama WeatherStationDemo namun karena saya menggunakan ESP-01 maka pinout untuk display OLED IIC untuk koneksi SDA dan SCL nya harus diubah dari D3 dan D4 menjadi 2 dan 0.


Kode program Weather station ESP8266 ini tidak dapat langsung digunakan tanpa mengisi parameter yang diperlukan diantaranya, SSID Wi-Fi dan passwordnya agar ESP-01 dapat terhubung dengan internet, kemudian API key dan ID kota saat ini yang dapat kita peroleh dari situs openweathermap.org untuk mendapatkan data prakiraan cuaca saat ini dan tiga hari kedepan dari situs tersebut dan Time Zone. Nah parameter itu sudah tinggal kita isikan didalam kode program WeatherStationDemo tadi. 


1. SSID 

Agar ESP-01 terhubung dengan internet maka didalam kode program WeatherStationDemo tadi sudah disediakan isian untuk SSID Wi-Fi yang kita pakai, kita hanya perlu mengisikan nama SSID dan Password nya. Jadi nantinya ketika weather station yang kita buat pertama kali dihidupkan akan langsung otomatis menyambung dengan Wi-Fi yang kita masukkan SSID nya tadi. 


2. API key


Openweathermap API Key
Openweathermap API Key

Untuk mendapatkan API key dari openweathermap.org maka kita harus daftar akun dulu pada tautan ini, https://docs.thingpulse.com/how-tos/openweathermap-key/ scroll lalu pilih get API key versi gratis, lalu isi email dan password baru, centang yang diperlukan lalu klik tombol "Create Account", stelah akun dibuat maka klik tab API key, nah kode API key tersebut yang harus kita isikan pada baris kode program berikut ini. 

String OPEN_WEATHER_MAP_APP_ID = "kode unik API key"


3. Kode kota


Openweathermap Kolom pencarian kota
Kolom pencarian kota

Openweathermap Location ID
Openweathermap Location ID

Selanjutnya buka situs openweathermap.org lalu ketikkan nama kota kita saat ini yang ingin kita tampilkan data cuaca nya pada kolom pencarian lalu klik tombol cari sehingga akan menghasilkan nama kota yang kita ketik beserta negaranya, kalau sesuai tinggal kita pilih maka data cuaca akan langsung di tampikan. 

Pada kolom address bar openweathermap.org/city/kodeKota copy kodenya berupa angka paling akhir setelah slash lalu paste pada baris kode program berikut ini. 

String OPEN_WEATHER_MAP_LOCATION_ID = "kodeKota"


4. Bahasa

Bahasa dari keterangan yang ditampilkan untuk informasi cuaca defaultnya adalah bahasa inggris, jika ingin ditampilkan dalam bahasa Indonesia maka kodenya harus diubah menjadi "id" pada baris kode program berikut ini. 

String OPEN_WEATHER_MAP_LANGUAGE = "id"


5. Time Zone

Selain menampilkan prakiraan cuaca, proyek ini juga menampilkan waktu berbasis NTP, maka dari itu agar waktunya sesuai dengan negara kita saat ini maka pengaturan zona waktu atau time zone nya juga harus disesuaikan, untuk Indonesia maka time zone nya adalah +7.


Baca juga : Membuat OLED Oscilloscope Arduino (GOscilloscope) 


Setelah selesai pengisian parameter yang dibutuhkan diatas maka tinggal klik tombol upload, namun perlu diingat bahwa kita perlu menambahkan board ESP8266 dulu sebelumnya jadi ketika kita pilih board untuk ESP-01 maka sudah tersedia pada tab Tools - Board - ESP8266 dan pilih generic ESP8266 Module seperti pada gambar dibawah ini. 


Board ESP8266
Board ESP8266

Selanjutnya tinggal kita membuat rangkaiannya yang hanya berupa ESP-01 dan display OLED dan cukup ditenagai baterai lithium ion saja, namun tentunya karena tegangan kerja dari ESP-01 maksimal 3.6V atau tegangan kerja normalnya adalah 3.3V maka kita perlu menambahkan IC regulator AMS1117 3.3V, Berikut ini skema atau koneksi wiring dari weather station yang telah saya buat.


Skema Weather Station ESP-01
Skema Weather Station ESP-01

Nah dari skema tersebut kemudian saya desain layoutnya seminimal mungkin bentuknya, dengan bagian pinggirnya menyerupai bentuk puzzle sehingga nantinya ketika sudah menjadi pcb, sisa pcb lainnya dapat disusun menjadi sebuah kubus untuk dijadikan sebagai casing atau tempat rangkaian utama dipasang.


Layout Weather Station ESP-01
Layout Weather Station ESP-01

Setelah layout siap cetak maka saya langsung membuat pesanan pcb ke situs PCBWay, karena untuk membentuk sebuah pcb berbentuk kubus setidaknya membutuhkan 6 keping pcb, maka dari itu saya seperti biasanya pesan 10 pcs PCB hanya dengan membayar 5 dolar saja. Selain bisa pesan PCB, di PCBWay saya juga pesan modul ESP-01 dan display OLED nya, jadi untuk proyek ini semua komponennya saya pesan dari PCBWay. Selain harganya yang bersahabat, proses pembuatan pcb nya juga cepat berikut pelayan yang baik. Ditambah jika belum pernah melakukan pemesanan pcb di PCBWay maka ketika mendaftar akun PCBWay kamu akan mendapatkan saldo welcome bonus yang bisa dipakai untuk biaya cetak pcb di PCBWay, jadi jika kamu berencana membuat pcb di PCBWay silakan daftar akun PCBWay sekarang juga melalui tautan ini.


PCBWay.com
PCBWay.com

Daftar akun PCBWay
Daftar akun PCBWay

Setelah desain pcb saya cetak di PCBWay.com, maka seminggu kemudian sudah saya terima dan hasilnya bisa kamu lihat pada gambar dibawah ini.


PCB Weather Station ESP-01 bagian Depan
PCB Weather Station ESP-01 bagian Depan

PCB Weather Station ESP-01 bagian Belakang
PCB Weather Station ESP-01 bagian Belakang

Kemudian setelah dirakit hasilnya bisa dilihat pada video dibawah ini, berikut penjelasan cara mengisi parameter yang diperlukan seperti yang saya jelaskan diatas agar bisa lebih dipahami baik melalui tulisan maupun video tutorial, mari kita simak sama-sama videonya berikut ini.