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.

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?
| Situasimu | Pilihan | Kenapa? |
|---|---|---|
| Kamu baru mulai belajar elektronika | Arduino Uno | Sederhana, tangguh, langsung bekerja dengan modul 5 V |
| Kamera, pengenalan wajah atau objek | Raspberry Pi | Daya olah, RAM, dukungan OpenCV dan kamera |
| Mobil robot, servo, motor stepper | Arduino | Pengaturan waktu yang presisi tanpa gangguan |
| Web server, database, hub rumah pintar | Raspberry Pi | Linux, layanan jaringan, penyimpanan |
| Sensor yang berjalan dengan baterai berhari-hari | Arduino atau Pico | Konsumsi dalam miliwatt, bukan watt |
| Perangkat yang dipakai dengan layar, keyboard, dan mouse | Raspberry Pi | Desktop, browser, HDMI |
| Belajar Python dan mengendalikan hardware | Raspberry Pi Pico atau Raspberry Pi | MicroPython atau Python penuh |
| Pengolahan gambar dan kontrol motor sekaligus | Raspberry Pi + Arduino | Pi yang memutuskan, Arduino yang menjalankan |
Tabel perbandingan: Raspberry Pi 5, Arduino Uno, dan Raspberry Pi Pico
| Fitur | Raspberry Pi 5 | Arduino Uno R3 | Raspberry Pi Pico |
|---|---|---|---|
| Jenis | Komputer papan tunggal | Board mikrokontroler | Board mikrokontroler |
| Prosesor | BCM2712, Cortex-A76 4 inti, 2,4 GHz | ATmega328P, 8-bit, 16 MHz | RP2040, Cortex-M0+ 2 inti, 133 MHz |
| RAM | 1, 2, 4, 8, atau 16 GB | 2 KB | 264 KB |
| Penyimpanan | Kartu microSD atau SSD NVMe | Flash 32 KB | Flash 2 MB |
| Sistem operasi | Raspberry Pi OS (Linux) | Tidak ada | Tidak ada |
| Waktu boot | Sekitar 15–40 detik | Kurang dari 1 detik | Kurang dari 1 detik |
| Konsumsi daya | Sekitar 3 W ketika idle, 7–8 W ketika dibebani | Sekitar 0,25 W (50 mA) | Sekitar 0,1 W (20–25 mA) |
| Catu daya | USB-C, disarankan 5 V 5 A | USB 5 V atau barrel jack 7–12 V | USB 5 V atau 1,8–5,5 V di VSYS |
| Tegangan logika | 3,3 V (tidak tahan 5 V) | 5 V | 3,3 V (tidak tahan 5 V) |
| GPIO | 28 GPIO di header 40 pin | 20 (14 digital + 6 analog) | 26 |
| Input analog (ADC) | Tidak ada (butuh ADC eksternal) | 6 kanal, 10-bit | 3 kanal, 12-bit |
| PWM hardware | Di 4 pin (GPIO 12, 13, 18, 19) | 6 pin | Di semua GPIO, 16 kanal |
| Nirkabel | Wi-Fi 5 + Bluetooth 5.0 | Tidak ada | Tidak ada (Wi-Fi + Bluetooth di Pico W) |
| Video dan audio | 2 × HDMI 4K, 2 konektor kamera | Tidak ada | Tidak ada |
| Pemrograman | Python, C/C++, Node.js, dan hampir semua bahasa Linux | Arduino C/C++ | MicroPython, C/C++ SDK, Arduino |
| Real-time | Tidak (penjadwalan Linux) | Ya, tingkat mikrodetik | Ya, bahkan lebih halus dengan PIO |
| Daya putus tiba-tiba | Kartu SD bisa rusak | Tidak masalah | Tidak 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.
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.
| Board | Konsumsi umum | Dengan power bank 10.000 mAh |
|---|---|---|
| Raspberry Pi 5 (idle) | Sekitar 3 W | Sekitar 10 jam |
| Raspberry Pi 5 (beban penuh) | 7–8 W | Sekitar 4 jam |
| Raspberry Pi Zero 2 W | Sekitar 0,6 W | Sekitar 2 hari |
| Arduino Uno R3 | Sekitar 0,25 W | Sekitar 5 hari |
| Raspberry Pi Pico | Sekitar 0,1 W | Sekitar 12 hari (kalau power bank tetap menyala) |
| Arduino Pro Mini dalam mode sleep (LED dan regulator dilepas) | Tingkat mikroampere | Berbulan-bulan langsung dengan baterai |
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.
| Topik | Raspberry Pi | Arduino Uno | Raspberry Pi Pico |
|---|---|---|---|
| Level logika | 3,3 V | 5 V | 3,3 V |
| Arus per pin | Beberapa mA, paling besar sekitar 16 mA | Disarankan 20 mA, maksimum mutlak 40 mA | Default 4 mA, bisa diatur sampai 12 mA |
| Pembacaan analog | Tidak ada; butuh MCP3008 atau ADS1115 | analogRead(), 0–1023 | ADC(26).read_u16(), 0–65535 |
| PWM | Hardware di 4 pin, software di sisanya | analogWrite() di 6 pin | Hardware di setiap pin |
| Penomoran pin | Nomor GPIO berbeda dari pin fisik (GPIO17 = pin 11) | Nomor yang tercetak di board | Nomor GP (GP15 = pin 20) |
| Modul 5 V seperti HC-SR04 | Butuh pembagi tegangan | Langsung | Butuh 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:
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 eventsPasang 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.
Yang mana untuk proyek apa?
| Proyek | Board terbaik | Kenapa? |
|---|---|---|
| Kamera yang mengenali wajah atau objek | Raspberry Pi 5 | OpenCV, Picamera2, akselerator AI |
| Kamera keamanan Wi-Fi, mengirim foto | ESP32-CAM atau Raspberry Pi Zero 2 W | ESP32-CAM cukup untuk jepretan sederhana, Pi untuk streaming dan merekam |
| Robot penghindar rintangan atau pengikut garis | Arduino | Loop yang presisi tanpa gangguan untuk sensor dan motor |
| Robot yang bernavigasi dengan kamera | Raspberry Pi + Arduino | Pi melihat dan memutuskan, Arduino menggerakkan motor |
| Penyiraman tanaman otomatis | Arduino atau ESP32 | Sensor kelembapan analog, daya rendah, langsung menyala |
| Hub rumah pintar (Home Assistant) | Raspberry Pi | Server yang selalu menyala, database, antarmuka web |
| Stasiun cuaca | ESP32 atau Pico W | Wi-Fi dan daya rendah sekaligus |
| Konsol game retro, media player | Raspberry Pi | HDMI, audio, gamepad USB |
| Data logger bertenaga baterai | Arduino Pro Mini atau Pico | Konsumsi sangat rendah dalam mode sleep |
| Kelas elektronika, rangkaian pertama | Arduino Uno | 5 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.




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:
| Koneksi | Bagaimana? | Yang perlu diperhatikan |
|---|---|---|
| Serial USB (paling mudah) | Colokkan Arduino ke port USB di Pi; ia muncul sebagai /dev/ttyACM0 atau /dev/ttyUSB0 | Pi sekaligus memberi daya ke Arduino, tidak perlu level shifter |
| UART (GPIO 14 dan 15) | TX Pi → RX Arduino, TX Arduino → RX Pi, GND bersama | Butuh pembagi tegangan untuk sinyal TX 5 V dari Arduino |
| I2C | Pi sebagai master, Arduino sebagai slave di alamat seperti 0x08 | Disarankan memakai level shifter |
| Wi-Fi / MQTT | ESP32 mengirim hasil bacaan lewat jaringan ke broker MQTT di Pi | Tanpa kabel, tetapi ada sedikit latensi jaringan |
- Upload kode Arduino di bawah ke board dari komputermu (kamu juga bisa meng-upload-nya dari Pi dengan arduino-cli).
- 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.
- Kalau library pyserial belum terinstal, instal dengan sudo apt install python3-serial.
- Kalau user-mu tidak bisa mengakses port serial, ketik sudo usermod -a -G dialout $USER, lalu logout dan login lagi.
- Simpan kode Python sebagai pi_arduino.py dan jalankan dengan python3 pi_arduino.py; kalau Serial Monitor Arduino IDE sedang terbuka, tutup dulu.
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}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 = yeniSetiap 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?.
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?.

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.
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.
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.
Proyek untuk dibuat setelah membaca ini
Lihat semua proyek
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

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.

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

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

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

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

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

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
Artikel lainnya
Aplikasi BlueGrays
Rakit rangkaian ini langkah demi langkah di ponselmu
Skema pengkabelan, kode, dan daftar komponen dalam satu layar. 200+ proyek Arduino, ESP32, dan Pico siap dibuat.
Pindai dengan ponselmu
Arahkan kamera ke kode ini dan toko aplikasi di ponselmu akan terbuka.
atau buka toko aplikasi

