Cara Membuat Virtual Pet Picotamachibi pada Raspberry Pi Pico dengan MicroPython

Picotamachibi adalah proyek virtual pet sederhana berbasis Raspberry Pi Pico yang memungkinkan pengguna berinteraksi dengan karakter digital melalui program MicroPython. Terinspirasi dari konsep Tamagotchi, virtual pet ini memiliki beberapa kondisi seperti kesehatan, rasa lapar, kebahagiaan, dan energi yang dapat berubah berdasarkan tindakan pengguna. Pada proyek ini, kita tidak menggunakan OLED atau LCD. Karakter virtual pet akan ditampilkan langsung pada Shell Thonny dalam bentuk teks dan ASCII art. Dengan demikian, proyek ini cocok untuk pemula yang ingin belajar membuat project Raspberry Pi Pico dengan MicroPython tanpa membutuhkan banyak komponen.

Apa Itu Picotamachibi?

Picotamachibi merupakan konsep virtual pet yang dibuat menggunakan Raspberry Pi Pico. Istilah tersebut dapat dipahami sebagai gabungan antara Pico dan konsep Tamagotchi, yaitu hewan peliharaan digital yang harus dirawat oleh pengguna. Berbeda dengan virtual pet berbasis aplikasi smartphone, Picotamachibi berjalan langsung pada mikrokontroler Raspberry Pi Pico. Pada versi sederhana ini, Raspberry Pi Pico bertugas menjalankan program yang mengatur:

- Karakter virtual pet.

- Status kesehatan.

- Rasa lapar.

- Tingkat kebahagiaan.

- Energi.

- Pilihan aktivitas.

- Interaksi pengguna melalui Shell Thonny.

Karakter tidak ditampilkan menggunakan layar fisik. Sebagai gantinya, Shell pada Thonny IDE digunakan sebagai tampilan virtual pet.

Mengapa Menggunakan Raspberry Pi Pico?

Raspberry Pi Pico merupakan mikrokontroler yang cukup untuk membuat proyek virtual pet sederhana. Program dapat dibuat menggunakan MicroPython, sehingga pengguna tidak harus menggunakan bahasa pemrograman yang terlalu kompleks. Pada proyek ini, Raspberry Pi Pico digunakan untuk menjalankan logika virtual pet. Ketika pengguna memilih sebuah aktivitas, program akan mengubah status karakter dan menampilkan kondisi terbarunya pada Shell.Contohnya, ketika memilih aktivitas makan:

 

🍎 Picotamachibi sedang makan...


Hunger +20

 

Sedangkan ketika memilih bermain:

 

🎮 Picotamachibi sedang bermain...


Happiness +20

Energy -10

 

Dengan konsep tersebut, Raspberry Pi Pico dapat digunakan untuk mempelajari dasar pemrograman interaktif.

Komponen yang Dibutuhkan

Proyek virtual pet Raspberry Pi Pico versi sederhana ini tidak membutuhkan banyak komponen.


Komponen

Jumlah

Fungsi

Raspberry Pi Pico

1

Menjalankan program

Kabel USB

1

Menghubungkan Pico ke komputer

Komputer/Laptop

1

Menjalankan Thonny

Thonny IDE

1

Menulis dan menjalankan MicroPython


Tidak diperlukan OLED, LCD, sensor, atau modul tambahan. Semua output virtual pet akan ditampilkan melalui Shell Thonny.

Cara Kerja Virtual Pet Picotamachibi

Sistem Picotamachibi bekerja menggunakan konsep status atau state. Virtual pet memiliki beberapa nilai yang menunjukkan kondisinya. Contohnya:

Health    : 100

Hunger    : 50

Happiness : 70

Energy    : 80

Nilai tersebut akan berubah ketika pengguna melakukan aktivitas tertentu.

Contoh perubahan status


Aktivitas

Health

Hunger

Happiness

Energy

Makan

+5

+20

+5

+5

Bermain

0

-10

+20

-15

Tidur

+5

-5

0

+30


Nilai kemudian dibatasi agar tidak melebihi 100 atau turun di bawah 0. Dengan sistem sederhana tersebut, virtual pet akan terasa lebih hidup karena kondisinya dapat berubah berdasarkan interaksi pengguna.

Membuat Program Picotamachibi dengan MicroPython

1. Membuka Thonny IDE

- Hubungkan Raspberry Pi Pico ke komputer menggunakan kabel USB.

- Buka Thonny IDE.

- Pastikan interpreter yang digunakan MicroPython (Raspberry Pi Pico).

- Setelah Pico terhubung, program dapat ditulis pada editor Thonny.

2. Membuat Karakter Virtual Pet

Karakter dapat dibuat menggunakan ASCII art sehingga tidak membutuhkan OLED. Contohnya:

 

  /\_/\

  ( o.o )

   > ^ <

 

Karakter tersebut kemudian ditampilkan menggunakan fungsi print().

Kode Program Picotamachibi

Berikut kode lengkap versi sederhana Picotamachibi pada Raspberry Pi Pico menggunakan MicroPython.

 

import time


# ==========================

# STATUS VIRTUAL PET

# ==========================


health = 100

hunger = 50

happiness = 70

energy = 80



# ==========================

# MENAMPILKAN PET

# ==========================


def tampilkan_pet():

    print("\n")

    print("=" * 35)

    print("        PICOTAMACHIBI")

    print("=" * 35)


    print("""

       /\\_/\\

      ( o.o )

       > ^ <

    """)


    print("Health    :", health)

    print("Hunger    :", hunger)

    print("Happiness :", happiness)

    print("Energy    :", energy)


    print("=" * 35)



# ==========================

# MEMBERI MAKAN

# ==========================


def makan():

    global hunger, health, happiness, energy


    print("\n🍎 Picotamachibi sedang makan...")


    hunger += 20

    health += 5

    happiness += 5

    energy += 5


    if hunger > 100:

        hunger = 100


    if health > 100:

        health = 100


    if happiness > 100:

        happiness = 100


    if energy > 100:

        energy = 100


    time.sleep(1)



# ==========================

# BERMAIN

# ==========================


def bermain():

    global hunger, happiness, energy


    print("\n🎮 Picotamachibi sedang bermain...")


    happiness += 20

    hunger -= 10

    energy -= 15


    if happiness > 100:

        happiness = 100


    if hunger < 0:

        hunger = 0


    if energy < 0:

        energy = 0


    time.sleep(1)



# ==========================

# TIDUR

# ==========================


def tidur():

    global health, hunger, energy


    print("\n💤 Picotamachibi sedang tidur...")


    energy += 30

    health += 5

    hunger -= 5


    if energy > 100:

        energy = 100


    if health > 100:

        health = 100


    if hunger < 0:

        hunger = 0


    time.sleep(1)



# ==========================

# MENU

# ==========================


while True:


    tampilkan_pet()


    print("\nPilih aktivitas:")

    print("1. Makan")

    print("2. Bermain")

    print("3. Tidur")

    print("4. Lihat Status")

    print("5. Keluar")


    pilihan = input("\nMasukkan pilihan: ")


    if pilihan == "1":

        makan()


    elif pilihan == "2":

        bermain()


    elif pilihan == "3":

        tidur()


    elif pilihan == "4":

        tampilkan_pet()

        input("\nTekan Enter untuk kembali...")


    elif pilihan == "5":

        print("\nPicotamachibi mengucapkan selamat tinggal!")

        break


    else:

        print("\nPilihan tidak tersedia!")

        time.sleep(1)

 

Penjelasan Program

1. Membuat Status Virtual Pet

Bagian berikut digunakan untuk menentukan kondisi awal karakter:

 

health = 100

hunger = 50

happiness = 70

energy = 80

 

Artinya, ketika program pertama kali dijalankan, Picotamachibi memiliki: 

- Health sebesar 100.

- Hunger sebesar 50.

- Happiness sebesar 70.

- Energy sebesar 80.

Nilai tersebut dapat berubah selama pengguna berinteraksi dengan virtual pet.

2. Menampilkan Karakter

Fungsi tampilkan_pet() digunakan untuk menampilkan karakter dan statusnya.

 

def tampilkan_pet():

 

Kemudian program menggunakan print() untuk menampilkan ASCII art:

 

  /\_/\

  ( o.o )

   > ^ <

 

Karena menggunakan Shell Thonny sebagai display, kita tidak membutuhkan layar OLED.

3. Fungsi Makan

Fungsi makan() akan meningkatkan beberapa status virtual pet.

 

hunger += 20

health += 5

happiness += 5

energy += 5

 

Dengan demikian, aktivitas makan tidak hanya mengurangi rasa lapar, tetapi juga dapat meningkatkan kesehatan, kebahagiaan, dan energi.

4. Fungsi Bermain

Ketika pengguna memilih bermain:

 

happiness += 20

hunger -= 10

energy -= 15

 

Kebahagiaan meningkat, tetapi energi dan kondisi lapar ikut berubah.

Hal ini membuat virtual pet memiliki hubungan antarstatus sehingga interaksi menjadi lebih menarik.

5. Fungsi Tidur

Fungsi tidur() digunakan untuk memulihkan energi.

 

energy += 30

health += 5

hunger -= 5

 

Energi bertambah, kesehatan sedikit meningkat, sedangkan hunger berkurang.

Tampilan Picotamachibi di Shell

Setelah program dijalankan, Shell Thonny akan menampilkan tampilan seperti berikut:

 

===================================

        PICOTAMACHIBI

===================================


       /\_/\

      ( o.o )

       > ^ <


Health    : 100

Hunger    : 50

Happiness : 70

Energy    : 80


===================================


Pilih aktivitas:

1. Makan

2. Bermain

3. Tidur

4. Lihat Status

5. Keluar


Masukkan pilihan:

 


Misalnya pengguna memasukkan:

 

Masukkan pilihan: 1


Maka Shell akan menampilkan:

 

🍎 Picotamachibi sedang makan...

  

Kemudian pada tampilan berikutnya nilai status akan berubah.

 



Mengapa Menggunakan Shell Thonny?

Menggunakan Shell sebagai output memiliki beberapa keuntungan, terutama untuk pemula Raspberry Pi Pico.

1. Tidak membutuhkan OLED

Pengguna tidak perlu membeli OLED SSD1306 untuk mencoba proyek ini.

2. Wiring lebih sederhana

Tidak ada kabel SDA, SCL, VCC, dan GND untuk OLED.

3. Fokus pada pemrograman

Pengguna dapat lebih fokus mempelajari:

- Variabel.

- Fungsi.

- if-else.

- while.

- Input.

- Output.

- Perubahan nilai.

- Logika interaksi.

4. Cocok untuk eksperimen

Setelah konsepnya berhasil, proyek dapat dikembangkan lagi dengan menambahkan komponen fisik.

Pengembangan Picotamachibi

Versi yang dibuat pada artikel ini merupakan versi dasar. Setelah berhasil menjalankannya, proyek dapat dikembangkan menjadi lebih menarik.

1. Menambahkan Push Button

Shell dapat diganti atau dilengkapi dengan push button.

Misalnya:

Button 1 → Makan

Button 2 → Bermain

Button 3 → Tidur

Dengan demikian, pengguna tidak perlu mengetik pilihan pada Shell.

2. Menambahkan Buzzer

Buzzer dapat digunakan untuk memberikan suara ketika virtual pet melakukan aktivitas tertentu. Contohnya:

Makan → bunyi pendek

Bermain → bunyi dua kali

Tidur → bunyi panjang

Hal ini membuat proyek Raspberry Pi Pico virtual pet terasa lebih interaktif.

3. Menambahkan OLED

Jika suatu saat memiliki OLED, output Shell dapat dipindahkan ke layar OLED. Karakter ASCII kemudian dapat diganti dengan pixel art atau bitmap sehingga tampilannya lebih menyerupai Tamagotchi. Jadi, versi Shell yang dibuat pada artikel ini dapat dianggap sebagai versi dasar sebelum menggunakan display fisik.

Ide Fitur Tambahan

Beberapa fitur yang dapat ditambahkan pada Picotamachibi antara lain:

1. Sistem Waktu

Status pet dapat berubah secara otomatis setelah beberapa waktu. Misalnya:

Setiap 1 menit:

Hunger - 5

Energy - 3

2. Sistem Kematian

Jika health mencapai 0, program dapat menampilkan:

 

x_x


Picotamachibi sudah tidak sehat.

Berikan perawatan lebih baik!

3. Sistem Level

Tambahkan pengalaman:

Level : 1

EXP   : 80/100

Setelah EXP mencapai 100, virtual pet naik level.

4. Beberapa Karakter

Pengguna dapat memilih karakter:

- Cat

- Dog

- Rabbit

Masing-masing karakter dapat memiliki ASCII art yang berbeda.

Kelebihan Virtual Pet Picotamachibi

- Menggunakan Raspberry Pi Pico biasa.

- Tidak membutuhkan OLED.

- Tidak membutuhkan sensor.

- Komponen yang diperlukan sangat sedikit.

- Cocok untuk pemula.

- Menggunakan MicroPython.

- Bisa langsung dijalankan melalui Thonny.

- Dapat dikembangkan menjadi proyek yang lebih kompleks.

Kekurangan Virtual Pet Picotamachibi

- Tampilan masih berupa teks.

- Belum memiliki animasi grafis.

- Interaksi masih menggunakan keyboard.

- Tidak bisa digunakan secara portable tanpa komputer.

 

Baca juga: Membuat Cute LED Robot dengan Raspberry Pi Pico dan MicroPython di Thonny Shell

 

 

 

Dalam praktik, hasil dan kendala yang ditemui bisa berbeda tergantung perangkat, konfigurasi, versi library, dan sistem yang digunakan.

Posting Komentar

0 Komentar