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.
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
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.
- Diskusi umum dan tanya jawab praktik: https://t.me/edukasielektronika
- Kendala spesifik dan kasus tertentu: http://bit.ly/Chatarduino






0 Komentar