Panduan · 15 mnt baca

Raspberry Pi vs Arduino: Perbedaan Utama dan Mana yang Harus Dipilih

Raspberry Pi vs Arduino: komputer Linux vs mikrokontroler dibandingkan dari waktu boot, daya, GPIO, input analog, bahasa, dan harga, lengkap dengan pilihan proyek dan kode.

Perbedaan Raspberry Pi dan Arduino muat dalam satu kalimat: Raspberry Pi adalah komputer seukuran kartu kredit yang menjalankan sistem operasi Linux, sedangkan Arduino adalah board mikrokontroler yang menjalankan satu program yang kamu upload, berulang-ulang. Kamu bisa mencolokkan keyboard, mouse, dan monitor ke Pi, menjelajah web, mengolah gambar kamera dengan Python, atau menjalankan server kecil di rumah. Arduino mulai bekerja begitu diberi daya, membaca sensor dengan presisi mikrodetik, menggerakkan motor dan LED tanpa pernah tersendat, dan bisa berjalan dengan baterai selama berhari-hari.

Singkatnya, Raspberry Pi adalah pilihan yang lebih baik untuk proyek yang butuh kamera, pengolahan gambar, antarmuka grafis, atau layanan jaringan, sedangkan Arduino unggul ketika kamu butuh sensor, motor, pengaturan waktu yang presisi, dan daya rendah. Di panduan ini kita membandingkan kedua platform dengan angka nyata: waktu boot, konsumsi daya, GPIO dan input analog, bahasa pemrograman, perilaku real-time, dan harga. Setelah itu kita tunjukkan dalam tabel mana yang dipilih untuk proyek apa, memberimu contoh kode yang menjalankan keduanya bersama lewat kabel USB, dan menjelaskan posisi Raspberry Pi Pico, yang meskipun namanya begitu, jauh lebih dekat ke Arduino.

Board mikrokontroler Arduino Uno R3
Arduino Uno R3: tidak ada sistem operasi di dalamnya; ATmega328P 16 MHz langsung menjalankan satu program yang kamu upload begitu daya masuk.

Apa itu Raspberry Pi, dan apa itu Arduino?

Raspberry Pi adalah komputer papan tunggal (SBC) yang dikembangkan oleh Raspberry Pi Foundation di Inggris. Raspberry Pi 5 punya prosesor Arm Cortex-A76 empat inti 2,4 GHz, RAM 1 sampai 16 GB, dua output HDMI 4K, USB 3.0, Gigabit Ethernet, Wi-Fi, dan Bluetooth. Alih-alih hard disk, ia memakai kartu microSD (atau SSD NVMe di board tambahan) dan menjalankan Raspberry Pi OS yang berbasis Debian. Dengan kata lain, ia adalah saudara kecil dan murah dari komputer desktopmu; satu-satunya bedanya adalah header GPIO 40 pin di sepanjang tepinya yang memungkinkanmu menghubungkan LED, tombol, dan sensor secara langsung.

Sebaliknya, Arduino adalah platform mikrokontroler open source yang lahir di Italia. Board-nya yang paling umum, Arduino Uno R3, dibangun di sekitar ATmega328P 8-bit yang berjalan di 16 MHz: prosesor, RAM 2 KB, memori program 32 KB, dan konverter analog ke digital semuanya ada di dalam satu chip kecil. Tidak ada sistem operasi, tidak ada sistem file, dan tidak ada output video. Kode yang kamu tulis di Arduino IDE di komputermu dikompilasi dan disimpan di memori flash board; setiap kali board menyala, setup() berjalan sekali lalu loop() berjalan terus-menerus. Untuk mengenal platform ini lebih jauh, baca Apa Itu Arduino?.

Jawaban cepat: yang mana untuk situasi apa?

SituasimuPilihanKenapa?
Kamu baru mulai belajar elektronikaArduino UnoSederhana, tangguh, langsung bekerja dengan modul 5 V
Kamera, pengenalan wajah atau objekRaspberry PiDaya olah, RAM, dukungan OpenCV dan kamera
Mobil robot, servo, motor stepperArduinoPengaturan waktu yang presisi tanpa gangguan
Web server, database, hub rumah pintarRaspberry PiLinux, layanan jaringan, penyimpanan
Sensor yang berjalan dengan baterai berhari-hariArduino atau PicoKonsumsi dalam miliwatt, bukan watt
Perangkat yang dipakai dengan layar, keyboard, dan mouseRaspberry PiDesktop, browser, HDMI
Belajar Python dan mengendalikan hardwareRaspberry Pi Pico atau Raspberry PiMicroPython atau Python penuh
Pengolahan gambar dan kontrol motor sekaligusRaspberry Pi + ArduinoPi yang memutuskan, Arduino yang menjalankan

Tabel perbandingan: Raspberry Pi 5, Arduino Uno, dan Raspberry Pi Pico

FiturRaspberry Pi 5Arduino Uno R3Raspberry Pi Pico
JenisKomputer papan tunggalBoard mikrokontrolerBoard mikrokontroler
ProsesorBCM2712, Cortex-A76 4 inti, 2,4 GHzATmega328P, 8-bit, 16 MHzRP2040, Cortex-M0+ 2 inti, 133 MHz
RAM1, 2, 4, 8, atau 16 GB2 KB264 KB
PenyimpananKartu microSD atau SSD NVMeFlash 32 KBFlash 2 MB
Sistem operasiRaspberry Pi OS (Linux)Tidak adaTidak ada
Waktu bootSekitar 15–40 detikKurang dari 1 detikKurang dari 1 detik
Konsumsi dayaSekitar 3 W ketika idle, 7–8 W ketika dibebaniSekitar 0,25 W (50 mA)Sekitar 0,1 W (20–25 mA)
Catu dayaUSB-C, disarankan 5 V 5 AUSB 5 V atau barrel jack 7–12 VUSB 5 V atau 1,8–5,5 V di VSYS
Tegangan logika3,3 V (tidak tahan 5 V)5 V3,3 V (tidak tahan 5 V)
GPIO28 GPIO di header 40 pin20 (14 digital + 6 analog)26
Input analog (ADC)Tidak ada (butuh ADC eksternal)6 kanal, 10-bit3 kanal, 12-bit
PWM hardwareDi 4 pin (GPIO 12, 13, 18, 19)6 pinDi semua GPIO, 16 kanal
NirkabelWi-Fi 5 + Bluetooth 5.0Tidak adaTidak ada (Wi-Fi + Bluetooth di Pico W)
Video dan audio2 × HDMI 4K, 2 konektor kameraTidak adaTidak ada
PemrogramanPython, C/C++, Node.js, dan hampir semua bahasa LinuxArduino C/C++MicroPython, C/C++ SDK, Arduino
Real-timeTidak (penjadwalan Linux)Ya, tingkat mikrodetikYa, bahkan lebih halus dengan PIO
Daya putus tiba-tibaKartu SD bisa rusakTidak masalahTidak masalah
Harga resmi (Oktober 2026)Mulai $45 (1 GB) sampai lebih dari $300 (16 GB)Asli sekitar $25–30, klon $5–10$4 (Pico W $6, Pico 2 $5)

Catatan singkat soal harga: karena biaya chip memori LPDDR4 yang dipakai di Raspberry Pi 4 dan 5 melonjak akibat permintaan dari pusat data AI, Raspberry Pi sudah beberapa kali menaikkan harga sejak Desember 2025; per Oktober 2026, Pi 5 2 GB dijual dengan harga resmi $77,50. Pi Zero 2 W, yang memakai memori lebih lama, tetap di $15. Di luar itu, Pi butuh kartu microSD, catu daya USB-C 27 W, dan idealnya pendingin, yang menambah $20–30 lagi ke total biaya. Arduino Uno atau Pico hanya butuh kabel USB.

Perbedaan mendasar antara komputer Linux dan mikrokontroler

Di Raspberry Pi, program Python yang kamu tulis hanyalah satu dari ratusan proses yang dikelola Linux secara bersamaan. Kernel membagikan prosesor secara bergiliran ke koneksi jaringan, layar, perangkat USB, layanan latar belakang, dan programmu. Itu susunan yang sangat kuat: kamu bisa mencatat ke file, menjalankan web server dan stream kamera secara bersamaan, dan mengedit kodemu lewat SSH dari ruangan lain. Di Arduino, satu-satunya yang berjalan di prosesor adalah kodemu. Tanpa sistem operasi di tengahnya, panggilan digitalWrite mengubah pin dalam beberapa mikrodetik, dan butuh waktu yang sama setiap kali. Dalam praktiknya, perbedaan ini berarti:

  • Multitasking: Pi menjalankan browser, skrip Python, dan database sekaligus; Arduino menjalankan satu loop(), dan kamu sendiri yang menjadwalkan beberapa tugas dengan millis().
  • Penyimpanan: Di Pi kamu bisa menyimpan foto, log, dan database berukuran gigabyte; di Uno programmu harus muat di 32 KB dan variabelmu di RAM 2 KB.
  • Jaringan: Pi langsung bisa terhubung ke internet lewat Wi-Fi dan Ethernet; Uno tidak punya koneksi jaringan, jadi kamu butuh ESP32 atau modul tambahan.
  • Perawatan: Karena Pi adalah komputer, ia butuh update, kata sandi pengguna, dan sedikit perhatian soal keamanan; kode cukup kamu upload sekali ke Arduino dan board itu tetap bekerja dengan cara yang sama selama bertahun-tahun.
  • Ketika ada masalah: Kalau sebuah program crash di Pi, sistemnya tetap hidup dan kamu bisa membaca pesan error-nya; kalau kode macet di Arduino, board diam-diam berhenti, tetapi watchdog timer bisa me-reset-nya secara otomatis.

Waktu boot dan daya yang putus tiba-tiba

Ketika kamu memberi daya ke Arduino, programmu mulai dalam waktu kurang dari satu detik; bahkan ketika kamu menekan tombol reset, bootloader hanya menunggu sebentar. Raspberry Pi memuat bootloader-nya dulu, lalu kernel Linux dan layanan-layanannya; tergantung model dan kecepatan kartu SD, butuh 15–40 detik untuk sampai ke desktop. Itu penting untuk perangkat yang harus langsung bekerja setelah listrik padam, seperti bel pintu, alarm, atau sistem penyiraman. Mematikannya bahkan lebih kritis: Linux terus-menerus menulis ke kartu SD, dan kalau daya putus di tengah proses menulis, sistem file bisa rusak dan Pi mungkin tidak bisa boot lagi. Karena program Arduino tersimpan tanpa berubah di memori flash, kamu bisa mencabut stekernya kapan saja.

Jangan mematikan Raspberry Pi dengan mencabut stekernya; jalankan dulu sudo poweroff atau pilih Shutdown dari desktop, lalu tunggu beberapa detik. Kalau kamu membuat perangkat yang akan sering dicabut, kamu bisa membuat sistemnya read-only dengan opsi Overlay File System di bawah Performance Options di raspi-config. Pakai catu daya USB-C 5 V 5 A (27 W) untuk Pi 5; dengan catu daya yang lemah, kamu akan melihat peringatan tegangan rendah, vcgencmd get_throttled akan mengembalikan nilai selain 0x0, dan board bisa reboot ketika dibebani.

Konsumsi daya dan berjalan dengan baterai

Soal daya, perbedaannya 10 sampai 30 kali lipat. Raspberry Pi 5 memakai sekitar 3 W ketika idle dan 7–8 W ketika CPU dibebani penuh, dan lebih banyak lagi begitu kamu menambahkan drive USB dan kamera. Arduino Uno menarik sekitar 50 mA, atau 0,25 W di 5 V, dan Pico sekitar 0,1 W. Tabel di bawah menunjukkan perkiraan lama pemakaian dengan power bank 10.000 mAh. Hitungannya begini: 10.000 mAh di label mengacu pada sel 3,7 V, yaitu sekitar 37 Wh; setelah kerugian konversi ke 5 V, sekitar 30 Wh yang bisa dipakai. Bagi angka itu dengan konsumsi board dalam watt. Untuk rangkaianmu sendiri, pakai kalkulator umur baterai.

BoardKonsumsi umumDengan power bank 10.000 mAh
Raspberry Pi 5 (idle)Sekitar 3 WSekitar 10 jam
Raspberry Pi 5 (beban penuh)7–8 WSekitar 4 jam
Raspberry Pi Zero 2 WSekitar 0,6 WSekitar 2 hari
Arduino Uno R3Sekitar 0,25 WSekitar 5 hari
Raspberry Pi PicoSekitar 0,1 WSekitar 12 hari (kalau power bank tetap menyala)
Arduino Pro Mini dalam mode sleep (LED dan regulator dilepas)Tingkat mikroampereBerbulan-bulan langsung dengan baterai
Sebagian besar power bank mati sendiri ketika arus turun di bawah 50–100 mA, jadi perangkat berdaya rendah yang dibuat dengan Pico atau Arduino bisa padam setelah beberapa detik. Untuk proyek seperti ini, pakai baterai langsung, sel 18650, atau power bank dengan mode “always on”. Untuk sensor nirkabel yang harus berjalan berbulan-bulan dengan baterai, deep sleep ESP32 juga pilihan yang bagus.

Pin GPIO dan input analog

Header 40 pin Raspberry Pi punya 28 GPIO; GPIO 0 dan 1 dicadangkan untuk EEPROM ID board HAT dan biasanya dibiarkan saja. Pin-pin ini bekerja di 3,3 V, tidak tahan 5 V, dan hanya bisa memberi beberapa miliampere per pin (paling besar sekitar 16 mA); kamu bisa menyalakan LED lewat resistor seri, tetapi sebaiknya tidak menggerakkan kumparan relay atau motor secara langsung. Kekurangan terbesarnya adalah tidak adanya input analog: tidak ada padanan analogRead di Pi, jadi membaca sensor analog seperti potensiometer, LDR, atau sensor kelembapan tanah butuh chip ADC eksternal. Arduino Uno punya 6 input analog, dan hampir semua sensor 5 V bisa langsung tersambung ke sana.

TopikRaspberry PiArduino UnoRaspberry Pi Pico
Level logika3,3 V5 V3,3 V
Arus per pinBeberapa mA, paling besar sekitar 16 mADisarankan 20 mA, maksimum mutlak 40 mADefault 4 mA, bisa diatur sampai 12 mA
Pembacaan analogTidak ada; butuh MCP3008 atau ADS1115analogRead(), 0–1023ADC(26).read_u16(), 0–65535
PWMHardware di 4 pin, software di sisanyaanalogWrite() di 6 pinHardware di setiap pin
Penomoran pinNomor GPIO berbeda dari pin fisik (GPIO17 = pin 11)Nomor yang tercetak di boardNomor GP (GP15 = pin 20)
Modul 5 V seperti HC-SR04Butuh pembagi teganganLangsungButuh pembagi tegangan

Ada dua cara menghubungkan sensor analog ke Pi. Cara pertama adalah modul ADC seperti MCP3008 8 kanal 10-bit di SPI atau ADS1115 4 kanal 16-bit di I2C; library gpiozero langsung mendukung MCP3008. Cara kedua adalah menghubungkan sensor ke Arduino atau Pico lalu mengirim hasil bacaannya ke Pi lewat USB; kodenya kami berikan di bawah. Cara kerja pembacaan analog bisa kamu temukan di Apa Itu ADC?, dan peta pin board-board ini di alat Pinout.

Bahasa pemrograman dan lingkungan pengembangan

Arduino diprogram dengan bahasa Arduino yang berbasis C/C++: kamu menulis kode di Arduino IDE di komputermu, lalu kode itu dikompilasi dan di-upload ke board lewat USB. Di Raspberry Pi, kode ditulis dan dijalankan di Pi itu sendiri, tanpa langkah upload terpisah. Bahasa yang paling populer adalah Python, dan Raspberry Pi OS sudah dilengkapi editor Thonny dan library gpiozero. Kamu juga bisa memakai bahasa apa pun yang berjalan di Linux, seperti C, C++, Node.js, Go, atau Java. Begini tampilan program “nyalakan LED selama tombol ditekan” dengan Python di Pi:

Python
1from gpiozero import LED, Button
2from signal import pause
3
4led = LED(17)       # GPIO17 = fiziksel pin 11 / GPIO17 = physical pin 11
5buton = Button(27)  # GPIO27 = fiziksel pin 13, dahili pull-up açık / physical pin 13, internal pull-up on
6
7buton.when_pressed = led.on    # Basınca LED yanar / LED on when pressed
8buton.when_released = led.off  # Bırakınca söner / LED off when released
9
10pause()  # Programı açık tut, olayları bekle / keep running and wait for events

Pasang tombol di antara GPIO27 dan GND, dan LED ke GPIO17 lewat resistor 220 Ω; kelas Button menyalakan resistor pull-up internal dengan sendirinya. Simpan file sebagai buton_led.py lalu jalankan dengan mengetik python3 buton_led.py di terminal. Catatan: di Raspberry Pi 5, GPIO ditangani oleh chip RP1 yang baru, jadi library lama RPi.GPIO tidak bekerja dan gagal dengan “RuntimeError: Cannot determine SOC peripheral base address”; pakai gpiozero untuk proyek baru. Kalau pip install gagal dengan “externally-managed-environment” di Raspberry Pi OS terbaru, instal paketnya dengan sudo apt install python3-... atau buat virtual environment (venv). Di Raspberry Pi Pico, kamu memakai pengetahuan Python yang sama dengan MicroPython.

Perilaku real-time: kenapa Arduino untuk motor dan sensor?

Karena Linux membagi prosesor di antara program-program, kode Python-mu sesekali bisa dijeda beberapa milidetik, dan kamu tidak bisa memperkirakan kapan itu terjadi. Untuk halaman web hal ini tidak berpengaruh, tetapi menjadi masalah serius untuk hardware yang bergantung pada pengaturan waktu. Beberapa contoh konkret:

  • Sensor jarak HC-SR04: Suara butuh sekitar 58 µs untuk pulang-pergi per 1 cm jarak. Kalau jeda 100 µs menyusup ketika kamu mengukur waktu gema, hasil bacaannya meleset 1,7 cm; di Pi, penyimpangan seperti ini sering terjadi.
  • Motor servo: Posisi servo ditentukan oleh pulsa 1–2 ms dalam sinyal 50 Hz, dan 1 derajat setara dengan kira-kira 5,5 µs. Servo yang digerakkan dengan PWM software di Pi bergetar; di Arduino servo itu diam tenang.
  • LED strip WS2812B: Setiap bit berlangsung 1,25 µs dan pengaturan waktunya butuh akurasi 0,15 µs; Pi hanya bisa melakukannya dengan hardware SPI atau PWM plus DMA, sedangkan Arduino atau Pico bisa langsung menggerakkannya.
  • Motor stepper dan encoder: Ribuan pulsa langkah per detik atau sinyal encoder yang cepat bisa ditangkap tanpa ada yang terlewat di Arduino dengan memakai interrupt.
Kalau kamu benar-benar butuh pengaturan waktu yang presisi di Pi, pakai pin PWM hardware (GPIO 12, 13, 18, 19) atau board driver servo PCA9685 16 kanal. Solusi yang lebih rapi adalah menyerahkan urusan waktu ke Arduino atau Pico dan hanya bertukar perintah dengan Pi; blok PIO di Pico memang dirancang persis untuk ini (lihat PIO dan dua inti Pico).

Yang mana untuk proyek apa?

ProyekBoard terbaikKenapa?
Kamera yang mengenali wajah atau objekRaspberry Pi 5OpenCV, Picamera2, akselerator AI
Kamera keamanan Wi-Fi, mengirim fotoESP32-CAM atau Raspberry Pi Zero 2 WESP32-CAM cukup untuk jepretan sederhana, Pi untuk streaming dan merekam
Robot penghindar rintangan atau pengikut garisArduinoLoop yang presisi tanpa gangguan untuk sensor dan motor
Robot yang bernavigasi dengan kameraRaspberry Pi + ArduinoPi melihat dan memutuskan, Arduino menggerakkan motor
Penyiraman tanaman otomatisArduino atau ESP32Sensor kelembapan analog, daya rendah, langsung menyala
Hub rumah pintar (Home Assistant)Raspberry PiServer yang selalu menyala, database, antarmuka web
Stasiun cuacaESP32 atau Pico WWi-Fi dan daya rendah sekaligus
Konsol game retro, media playerRaspberry PiHDMI, audio, gamepad USB
Data logger bertenaga bateraiArduino Pro Mini atau PicoKonsumsi sangat rendah dalam mode sleep
Kelas elektronika, rangkaian pertamaArduino Uno5 V, pin tangguh, banyak contoh

Kamera dan pengolahan gambar adalah bidang terkuat Raspberry Pi. Camera Module 3 12 MP dengan autofokus tersambung ke konektor kamera board lewat kabel pita; kamu bisa mengambil foto dengan rpicam-still -o photo.jpg dan melakukan deteksi gerakan, pelacakan warna, pembacaan kode QR, atau pengenalan wajah dengan Python memakai library Picamera2 dan OpenCV. Untuk model AI yang lebih berat, kamu bisa menambahkan board akselerator seperti AI HAT+ atau memakai AI Camera, yang mengolah gambar di dalam kamera itu sendiri. Konektor kamera Raspberry Pi 5 lebih kecil (22 pin) daripada di model lama, jadi kamera lama butuh kabel adaptor yang sesuai. RAM 2 KB di Arduino Uno bahkan tidak cukup untuk menampung satu foto kecil; kalau kamu hanya ingin mengambil gambar dan mengirimkannya ke Telegram, ESP32-CAM yang murah adalah jalan tengah yang bagus.

Namun soal sensor dan motor, Arduino praktis tidak punya saingan. Karena bekerja di 5 V, sebagian besar modul di pasaran, seperti HC-SR04, modul relay, driver motor L298N, dan LCD karakter, bisa tersambung tanpa rangkaian tambahan, dan shield driver motor, relay, serta sensor bisa langsung ditancapkan di atas board. Di mobil robot, Arduino membaca sensor jarak puluhan kali per detik dan menghentikan motor begitu melihat rintangan; waktu reaksi itu tidak pernah bergantung pada seberapa sibuk sebuah sistem operasi. Motor servo dan motor stepper berjalan mulus di Arduino karena alasan yang sama.

HC-SR04
HC-SR04
Servo SG90
Servo SG90
L298N
L298N
DHT11
DHT11

Memakai keduanya bersama: Raspberry Pi + Arduino

Di sebagian besar proyek tingkat lanjut, solusi terbaiknya adalah memakai keduanya. Bayangkan seperti tubuh manusia: Raspberry Pi adalah otak; ia mengolah kamera, terhubung ke internet, menyimpan catatan, dan mengambil keputusan. Arduino adalah sumsum tulang belakang dan otot; ia membaca sensor, menggerakkan motor, dan dalam keadaan darurat bereaksi secara refleks tanpa bertanya ke Pi. Di mobil robot berkamera, misalnya, Pi menemukan garis di gambar dan mengirim perintah “belok kiri”; Arduino menerjemahkannya menjadi kecepatan motor dan berhenti sendiri kalau muncul rintangan. Cara umum menghubungkan kedua board ini adalah:

KoneksiBagaimana?Yang perlu diperhatikan
Serial USB (paling mudah)Colokkan Arduino ke port USB di Pi; ia muncul sebagai /dev/ttyACM0 atau /dev/ttyUSB0Pi sekaligus memberi daya ke Arduino, tidak perlu level shifter
UART (GPIO 14 dan 15)TX Pi → RX Arduino, TX Arduino → RX Pi, GND bersamaButuh pembagi tegangan untuk sinyal TX 5 V dari Arduino
I2CPi sebagai master, Arduino sebagai slave di alamat seperti 0x08Disarankan memakai level shifter
Wi-Fi / MQTTESP32 mengirim hasil bacaan lewat jaringan ke broker MQTT di PiTanpa kabel, tetapi ada sedikit latensi jaringan
  1. Upload kode Arduino di bawah ke board dari komputermu (kamu juga bisa meng-upload-nya dari Pi dengan arduino-cli).
  2. Hubungkan Arduino ke Pi dengan kabel USB dan cari nama port-nya dengan mengetik ls /dev/ttyACM* /dev/ttyUSB* di terminal. Uno asli biasanya muncul sebagai /dev/ttyACM0, sedangkan klon dengan chip CH340 sebagai /dev/ttyUSB0.
  3. Kalau library pyserial belum terinstal, instal dengan sudo apt install python3-serial.
  4. Kalau user-mu tidak bisa mengakses port serial, ketik sudo usermod -a -G dialout $USER, lalu logout dan login lagi.
  5. Simpan kode Python sebagai pi_arduino.py dan jalankan dengan python3 pi_arduino.py; kalau Serial Monitor Arduino IDE sedang terbuka, tutup dulu.
C++ (Arduino IDE)
1// Arduino Uno: A0 değerini Pi'ye gönderir, Pi'den gelen komutla LED'i yönetir
2// Arduino Uno: sends the A0 reading to the Pi and drives the LED on the Pi's command
3const int SENSOR_PIN = A0;      // LDR ya da potansiyometre / LDR or potentiometer
4const int LED_PIN = 13;         // Dahili LED / built-in LED
5unsigned long sonGonderim = 0;  // Son gönderim zamanı / time of the last send
6
7void setup() {
8  Serial.begin(115200);         // Pi tarafıyla aynı hız / same baud rate as the Pi
9  pinMode(LED_PIN, OUTPUT);
10}
11
12void loop() {
13  // Pi'den komut geldi mi? / has a command arrived from the Pi?
14  if (Serial.available()) {
15    String komut = Serial.readStringUntil('\n');  // Satır sonuna kadar oku / read up to the newline
16    komut.trim();                                  // Boşluk ve \r karakterlerini sil / strip spaces and \r
17    if (komut == "LED1") digitalWrite(LED_PIN, HIGH);
18    else if (komut == "LED0") digitalWrite(LED_PIN, LOW);
19  }
20
21  // 500 ms'de bir ölçüm gönder, loop'u bekletmeden / send a reading every 500 ms without blocking
22  if (millis() - sonGonderim >= 500) {
23    sonGonderim = millis();
24    int deger = analogRead(SENSOR_PIN);  // 0-1023
25    Serial.print("A0:");
26    Serial.println(deger);               // Örnek: A0:512 / example: A0:512
27  }
28}
Python
1import time
2import serial  # sudo apt install python3-serial
3
4# Orijinal Uno: /dev/ttyACM0, CH340'lı klon: /dev/ttyUSB0 / genuine Uno: /dev/ttyACM0, CH340 clone: /dev/ttyUSB0
5ser = serial.Serial("/dev/ttyACM0", 115200, timeout=1)
6time.sleep(2)             # Port açılınca Arduino yeniden başlar / opening the port resets the Arduino
7ser.reset_input_buffer()  # Eski verileri temizle / drop stale data
8
9ESIK = 300                # Karanlık eşiği, sensörüne göre ayarla / darkness threshold, tune it for your sensor
10led_durum = None
11
12while True:
13    satir = ser.readline().decode("utf-8", errors="ignore").strip()
14    if not satir.startswith("A0:") or not satir[3:].isdigit():
15        continue          # Boş ya da yarım satırı atla / skip empty or partial lines
16    deger = int(satir[3:])
17    print("Sensor:", deger)
18
19    yeni = "LED1" if deger < ESIK else "LED0"  # Karanlıkta LED'i yak / LED on in the dark
20    if yeni != led_durum:                      # Yalnız değişince gönder / send only on change
21        ser.write((yeni + "\n").encode())
22        led_durum = yeni

Setiap 500 ms Arduino mengirim baris seperti “A0:512” dan mendengarkan perintah “LED1” atau “LED0” yang diakhiri baris baru; karena memakai millis(), menunggu perintah tidak pernah menunda pengukuran. Di sisi Python, baris time.sleep(2) itu penting: ketika Pi membuka port serial, Arduino otomatis ter-reset, dan apa pun yang dikirim dalam dua detik pertama akan hilang. Sesuaikan ambang 300 dengan sensormu sendiri; tergantung arah pemasangan LDR-mu, nilainya bisa naik atau turun dalam gelap. Untuk komunikasi serial lebih lanjut, lihat komunikasi serial Arduino dan Python dan Apa Itu UART?.

Kalau kamu menghubungkan Arduino ke pin GPIO 14 (TX) dan GPIO 15 (RX) di Pi alih-alih lewat USB, jalur TX Arduino mengeluarkan 5 V dan bisa merusak pin RX Pi. Pasang pembagi tegangan di antaranya: dengan 1 kΩ seri dari TX Arduino dan 2 kΩ di antara RX Pi dan GND, kamu mendapat 5 × 2 / (1 + 2) = 3,33 V. Arduino biasanya bisa membaca sinyal TX 3,3 V dari Pi dengan benar; untuk I2C dan SPI, pakai konverter level logika.

Posisi Raspberry Pi Pico: namanya Raspberry Pi, sifatnya mikrokontroler

Inilah sumber kebingungan yang paling umum. Meskipun dibuat oleh Raspberry Pi, Raspberry Pi Pico bukan komputer, melainkan board mikrokontroler seperti Arduino: tidak punya sistem operasi, langsung menyala, memakai sekitar 0,1 W, dan berjalan secara real-time. Jantungnya adalah chip RP2040 dua inti yang dirancang sendiri oleh Raspberry Pi (Pico 2 memakai RP2350 150 MHz). Dibandingkan Arduino Uno, RAM-nya jauh lebih besar (264 KB), ADC-nya 12-bit, dan ia punya blok PIO untuk tugas yang kritis soal waktu, serta bisa diprogram dengan MicroPython, C/C++, atau Arduino IDE. Dengan harga $4, ia lebih murah daripada Arduino Uno, tetapi karena bekerja di 3,3 V, kamu harus berhati-hati dengan modul 5 V. Untuk detailnya, baca Apa Itu Raspberry Pi Pico?.

Board mikrokontroler Raspberry Pi Pico
Raspberry Pi Pico: meskipun bernama Raspberry Pi, ia tidak menjalankan sistem operasi; seperti Arduino, ia adalah board mikrokontroler 3,3 V yang menjalankan satu program.

Keunggulan terbesar Pico dalam perbandingan ini adalah ia bekerja di level 3,3 V yang sama dengan Raspberry Pi: kamu bisa menyambungkan pin UART-nya langsung ke Pi tanpa level shifter, atau mencolokkannya ke USB dan memakainya persis seperti Arduino. Kode MicroPython di bawah mengirim data dengan format “A0:nilai” yang sama seperti kode Arduino di atas dan mendengarkan perintah LED yang sama, jadi skrip Python di Pi bekerja tanpa satu perubahan pun. Simpan kodenya ke Pico sebagai main.py dengan Thonny, lalu tutup Thonny supaya port serial bebas dipakai skrip di Pi.

MicroPython
1import sys, select, time
2from machine import ADC, Pin
3
4sensor = ADC(26)        # GP26 = ADC0 (fiziksel pin 31) / GP26 = ADC0 (physical pin 31)
5led = Pin(25, Pin.OUT)  # Pico dahili LED; Pico W'de Pin("LED") / onboard LED; use Pin("LED") on Pico W
6poll = select.poll()
7poll.register(sys.stdin, select.POLLIN)  # USB'den gelen veriyi dinle / listen for data over USB
8son = time.ticks_ms()
9
10while True:
11    # Pi'den komut var mı? / is there a command from the Pi?
12    if poll.poll(0):
13        komut = sys.stdin.readline().strip()
14        if komut == "LED1":
15            led.on()
16        elif komut == "LED0":
17            led.off()
18
19    # 500 ms'de bir, Arduino ile aynı biçimde gönder / every 500 ms, same format as the Arduino
20    if time.ticks_diff(time.ticks_ms(), son) >= 500:
21        son = time.ticks_ms()
22        deger = sensor.read_u16() >> 6  # 0-65535 -> 0-1023
23        print("A0:" + str(deger))

Batas di antara keduanya juga makin kabur. Pada 2025 Arduino memperkenalkan Arduino UNO Q, yang menggabungkan kedua dunia dalam satu board: board seukuran Uno ini membawa prosesor Qualcomm empat inti yang menjalankan Debian Linux, berdampingan dengan mikrokontroler STM32U585 yang menjalankan sketch Arduino secara real-time. Dengan kata lain, arsitektur “Pi + Arduino” sekarang muat dalam satu board. Namun logikanya tidak berubah: sisi Linux mengurus jaringan, video, dan aplikasi, sedangkan sisi mikrokontroler mengurus pin dan pengaturan waktu. Siapa pun yang memahami perbedaan di artikel ini akan mendapat jauh lebih banyak manfaat dari board hibrida seperti ini.

Kesalahan dan salah kaprah yang umum

  • “Raspberry Pi Pico adalah Raspberry Pi kecil”: Bukan; Pico tidak menjalankan Linux dan tidak punya output HDMI. Pico adalah mikrokontroler dan masuk kelas yang sama dengan Arduino.
  • Menghubungkan sinyal 5 V ke Pi: Kalau pin ECHO HC-SR04 atau jalur TX Arduino disambungkan langsung ke GPIO, pin itu bahkan prosesornya bisa rusak permanen; pakai pembagi tegangan.
  • Mencari analogRead di Pi: Raspberry Pi tidak punya input analog; pakai MCP3008, ADS1115, atau Arduino maupun Pico sebagai pembantu.
  • Mematikan dengan mencabut steker: Itulah cara tercepat merusak kartu SD; pakai sudo poweroff setiap kali.
  • Menjalankan Pi 5 dengan charger ponsel: Dengan catu daya yang tidak sanggup memberi 5 V 5 A, Pi 5 membatasi total arus port USB menjadi 600 mA dan bisa reboot ketika dibebani.
  • Error “Permission denied: '/dev/ttyACM0'”: User-mu tidak ada di grup dialout; jalankan perintah usermod lalu login lagi. Kalau muncul “Device or resource busy”, ada program lain (Serial Monitor atau Thonny) yang sedang memakai port itu.
  • Menganggap “Arduino sudah ketinggalan zaman, sekarang ada Pi”: Keduanya bukan saingan, melainkan alat untuk pekerjaan yang berbeda; sebagian besar perangkat, dari mesin cuci sampai mobil, sampai sekarang masih berjalan dengan mikrokontroler.
Kalau kamu bingung mau mulai dari mana, pelajari dasar-dasar elektronika dengan Arduino Uno: dengan bekerja memakai LED, tombol, sensor, dan motor, kamu akan melihat sendiri arus, tegangan, dan pengaturan waktu. Ketika kamu punya ide yang butuh kamera, jaringan, atau layar, tambahkan Raspberry Pi; pada tahap itu, apa yang kamu pelajari di Arduino akan membantumu memakai GPIO Pi dengan aman. Ketika memilih board, Arduino Mana yang Sebaiknya Kubeli? dan Arduino atau ESP32? juga akan membantu.

Singkatnya, Raspberry Pi adalah komputer yang berpikir dan melihat, sedangkan Arduino adalah pengendali yang langsung mengubah apa yang dirasakannya menjadi tindakan; proyek yang bagus sering menggabungkan kekuatan keduanya. Di aplikasi BlueGrays kamu akan menemukan puluhan proyek dengan Arduino, ESP32, dan Raspberry Pi Pico, dari LED dan sensor sampai robot dan proyek Wi-Fi, masing-masing dengan skema rangkaian langkah demi langkah dan kode siap pakai, dan kamu bisa mulai dari yang gratis.

Pertanyaan umum

Apa perbedaan Raspberry Pi dan Arduino?

Raspberry Pi adalah komputer papan tunggal yang menjalankan sistem operasi Linux; dengan layar, keyboard, internet, dan kamera, ia dipakai seperti PC. Arduino adalah board mikrokontroler tanpa sistem operasi yang langsung menjalankan satu program yang di-upload secara real-time. Pi unggul dalam komputasi kompleks dan jaringan, Arduino dalam sensor, motor, dan tugas berdaya rendah.

Pemula sebaiknya membeli Raspberry Pi atau Arduino?

Kalau kamu ingin belajar elektronika, mulailah dengan Arduino Uno: board ini langsung bekerja dengan modul 5 V, lebih memaafkan kesalahan, dan punya sangat banyak contoh. Kalau tujuan utamamu adalah Linux, pemrograman Python, kamera, atau proyek server, Raspberry Pi adalah langkah pertama yang lebih baik. Bagi yang suka Python dan ingin belajar mikrokontroler, Raspberry Pi Pico adalah jalan tengah yang murah.

Apakah kode Arduino bisa berjalan di Raspberry Pi?

Tidak secara langsung. Sketch Arduino dikompilasi untuk mikrokontroler seperti ATmega328P; di Raspberry Pi kamu harus menulis ulang logika yang sama dengan Python dan library seperti gpiozero. Namun kamu bisa memakai Raspberry Pi sebagai komputer untuk meng-upload kode ke Arduino dengan arduino-cli.

Apakah Raspberry Pi dan Arduino bisa dipakai bersama?

Bisa. Cara termudah adalah menghubungkan Arduino ke Pi dengan kabel USB dan bertukar data lewat port serial; library pyserial di Python sudah cukup. Dalam susunan ini, Pi mengurus kamera, jaringan, dan keputusan, sedangkan Arduino mengurus sensor dan motor. Kalau kamu menghubungkannya lewat UART atau I2C di pin GPIO, pakai pembagi tegangan atau level shifter karena perbedaan 5 V dan 3,3 V.

Apakah Raspberry Pi Pico termasuk Arduino?

Bukan, tetapi kelasnya sama: seperti Arduino, Pico adalah board mikrokontroler tanpa sistem operasi. Berkat chip RP2040-nya, Pico lebih cepat daripada Uno, punya RAM lebih besar, dan bisa diprogram dengan MicroPython; kamu juga bisa memprogramnya di Arduino IDE kalau lebih suka. Perbedaan utamanya adalah Pico bekerja di 3,3 V, bukan 5 V.

Untuk membuat robot, lebih baik Raspberry Pi atau Arduino?

Untuk robot yang menghindari rintangan, mengikuti garis, atau dikendalikan dengan remote, Arduino sudah cukup dan lebih andal; ia menangani motor dan sensor tanpa jeda. Kalau robotnya perlu mengenali objek dengan kamera, membuat peta, atau dikendalikan lewat internet, kamu butuh Raspberry Pi. Robot tingkat lanjut biasanya memakai keduanya: Pi yang memutuskan dan Arduino yang menggerakkan motor.

Lihat semua proyek
LED Berkedip
#1Pemula

LED Berkedip

"Halo" pertama di dunia elektronika: menyalakan dan mematikan satu LED. Arduino menyalakan dan mematikan LED dengan jeda singkat, sehingga cahayanya berkedip cepat. Kamu melihat dengan cara paling sed

4.6(188)
1127
Kedip LED Bawaan Raspberry Pi Pico (Pico dan Pico W)
#147Pemula

Kedip LED Bawaan Raspberry Pi Pico (Pico dan Pico W)

Proyek pembuka seri Raspberry Pi Pico! Kita mengedipkan LED hijau bawaan untuk memastikan board bekerja; percobaan "Hello World" klasik. TANPA komponen eksternal, hanya Pico dan kabel USB. Kodenya ditulis dalam MicroPython (bahasa resmi dari Raspberry Pi Foundation). Pelajari kelas machine.Pin, mode Pin.OUT, metode led.on()/off(), dan time.sleep() di Thonny IDE, dan ikuti setiap perubahan di output Serial (REPL). Juga pas untuk menguji firmware MicroPython.

5.0(1)
10
Mengukur Intensitas Cahaya dengan LDR
#11Pemula

Mengukur Intensitas Cahaya dengan LDR

Ingin melihat seberapa terang kamarmu dalam bentuk angka? LDR, komponen kecil yang bereaksi terhadap cahaya, mengukur cahaya di sekitarnya, dan Arduino menulis nilainya ke layar komputermu setiap sete

4.6(81)
139
Suhu dan Kelembapan dengan DHT11
#55Menengah

Suhu dan Kelembapan dengan DHT11

Seberapa hangat kamarmu, dan apakah udaranya lembap atau kering? Sensor DHT11 mengukur suhu dan kelembapan, dan Arduino menulis nilainya di layar LCD dua baris, diperbarui setiap beberapa detik. Jika

4.7(47)
73
Pengukuran Jarak HC-SR04 (Tampilan Serial)
#27Pemula

Pengukuran Jarak HC-SR04 (Tampilan Serial)

Sensor HC-SR04 bekerja persis seperti kelelawar yang mencari jalan dalam gelap: ia mengirim suara yang tidak bisa kamu dengar, mendengarkan pantulannya, dan mengukur seberapa jauh benda di depannya. A

4.6(46)
71
Komunikasi Satu Arah Antara 2 Arduino
#57Menengah
Premium

Komunikasi Satu Arah Antara 2 Arduino

Kamu membuat dua Arduino berbicara lewat satu kabel: tekan tombol di satu board dan LED di board lain menyala, tekan lagi dan LED mati. Board pengirim melaporkan tekanan tombol dengan pesan singkat, d

4.4(37)
50
Keyboard Developer Python
#66Menengah
Premium

Keyboard Developer Python

Kalau kamu lelah mengetik pola yang sama berulang-ulang ketika ngoding, keyboard kecil ini dibuat untukmu. Arduino Leonardo tersambung ke komputermu persis seperti keyboard, dan setiap tombol di keypa

4.6(35)
45
Stasiun Penyiraman Pintar
#83Mahir
Premium

Stasiun Penyiraman Pintar

Tukang kebun yang menyiram tanamanmu sendiri, supaya tanaman tidak kering ketika kamu berlibur. Sensor kelembapan tanah mengukur seberapa basah tanahnya; ketika kering, Arduino menyalakan pompa air be

5.0(42)
57