Komponen · 17 mnt baca

Pinout Arduino Nano: Diagram Pin, A6/A7, Daya, dan Old Bootloader

Pinout Arduino Nano dalam satu panduan: D0–D13, A0–A7 (A6/A7 hanya analog), pin PWM, VIN/5V/3V3, driver CH340, Old Bootloader, dan peta pin Uno ke Nano.

Pinout Arduino Nano terdiri dari 30 pin yang berjajar di sepanjang dua sisi panjang board berukuran 45 × 18 mm: 14 pin input/output digital (D0–D13), 6 di antaranya bisa mengeluarkan PWM (~3, 5, 6, 9, 10, 11), 8 input analog (A0–A7), serta pin daya dan kontrol: VIN, 5V, 3V3, AREF, dua GND, dan dua RST. Karena Nano memakai prosesor ATmega328P yang sama dengan Arduino Uno, nomor dan fungsi pinnya juga sama: sketch yang ditulis untuk Uno berjalan tanpa perubahan apa pun, selain memilih Nano di menu board.

Meski begitu, ada beberapa detail penting yang membedakan Nano dari Uno, dan justru di situlah pemula sering mentok: A6 dan A7 hanya analog, tidak ada jack DC, pin 3V3 hanya memberi arus yang sangat kecil, board klon menangani USB dengan chip CH340, dan kamu sering perlu memilih ATmega328P (Old Bootloader) untuk meng-upload kode. Di panduan ini kamu akan mengenal setiap pin, belajar menempatkan Nano di breadboard dengan benar, melihat pemetaan pin Uno ke Nano, dan mengetahui perbedaan Nano Every dan Nano ESP32 dengan Nano klasik.

Board Arduino Nano dan pin-pinnya
Arduino Nano original: soket mini USB di satu ujung, header ICSP 2×3 di ujung lainnya, dan tombol reset di tengah. Pin D13, 3V3, dan AREF ada di ujung USB; VIN dan TX1 ada di ujung seberangnya.

Apa itu Arduino Nano, dan apa bedanya dengan Uno?

Arduino Nano mengemas semua fitur inti Uno ke dalam board berukuran 45 × 18 mm dengan berat sekitar 7 gram. Pin-pinnya menghadap ke bawah, jadi bisa langsung ditancapkan ke breadboard; artinya kabel jumper lebih sedikit, dan begitu rangkaian selesai, board ini mudah dipindahkan ke dalam kotak atau ke papan sirkuit permanen. Di dalamnya ada ATmega328P 16 MHz yang sama seperti di Uno, level logikanya 5 V, dan library yang sama bekerja tanpa perubahan. Di Nano original, komunikasi USB-ke-serial ditangani chip FT232RL; hampir semua klon murah di pasaran memakai CH340G atau CH340C di sisi bawah board sebagai gantinya. Untuk mobil robot, perangkat wearable, remote, dan rangkaian apa pun yang harus muat di dalam kotak, Nano adalah pilihan yang lebih praktis daripada Uno.

FiturArduino Nano (V3)
MikrokontrolerATmega328P, 8-bit, 16 MHz (kemasan TQFP-32)
Tegangan logika (kerja)5 V
Tegangan input VIN7–12 V disarankan
Input/output digital14 pin (D0–D13); 20 jika termasuk A0–A5
Output PWM6 pin: D3, D5, D6, D9, D10, D11
Input analog8 pin (A0–A7), 10-bit (0–1023)
Arus per pin20 mA disarankan, 40 mA maksimum mutlak
MemoriFlash 32 KB (30.720 byte bisa dipakai di IDE), SRAM 2 KB, EEPROM 1 KB
USBMini-B; FT232RL (original) atau CH340 (klon)
Ukuran dan berat45 × 18 mm, sekitar 7 g

Diagram pin Arduino Nano: pin mana ada di mana?

Ke-30 pin Nano tersusun dalam dua baris berhadapan, masing-masing 15 pin, dengan jarak antarbaris 15,24 mm (0,6 inci). Letakkan board di depanmu dengan soket mini USB paling dekat denganmu, dan kamu akan melihat dua pin berhadapan tepat di sebelah soket: D12 dan D13. Baris dengan D13 berisi 3V3, AREF, A0–A7, dan pin daya; baris dengan D12 berisi pin digital dari D11 turun sampai D2, diikuti GND, RST, RX0 (D0), dan TX1 (D1). Di ujung kedua baris yang paling jauh dari USB, VIN dan TX1 saling berhadapan, dan header ICSP 2×3 juga ada di ujung ini. Di sekitar tombol reset di tengah kamu akan menemukan LED daya (POW atau ON), LED L yang terhubung ke D13, serta LED TX dan RX yang berkedip selama upload.

Posisi (dari USB)Baris analog dan dayaBaris digitalCatatan
1D13 (SCK, LED L)D12 (MISO)Tepat di sebelah soket USB
23V3~D11 (MOSI)3V3 hanya memberi arus yang sangat kecil
3AREF~D10 (SS)-
4A0~D9-
5A1D8-
6A2D7-
7A3~D6-
8A4 (SDA)~D5Jalur data I2C
9A5 (SCL)D4Jalur clock I2C
10A6~D3 (INT1)A6 hanya analog
11A7D2 (INT0)A7 hanya analog
125VGND5V dan GND saling berhadapan
13RSTRSTKeduanya jalur reset yang sama
14GNDD0 (RX0)D0 tersambung ke chip USB-serial
15VIND1 (TX1)Header ICSP ada di ujung ini
Di manual dan skema rangkaian, pin Nano kadang diberi nomor 1 sampai 30 menurut urutan fisiknya: pin 1 adalah TX1 (D1) dan pin 30 adalah VIN. Nomor-nomor itu tidak dipakai di kode. Di kode kamu selalu memakai nama yang tercetak di board: tulis 7 untuk D7 dan A3 untuk A3. Kalau label di board susah dibaca, buka saja alat diagram pin di ponselmu.

Pin digital (D0–D13), PWM, dan fungsi khusus

Setiap pin digital diatur sebagai input atau output dengan pinMode(); sebagai output, HIGH memberi sekitar 5 V dan LOW memberi 0 V. Supaya input tidak dibiarkan mengambang, kamu bisa menyalakan resistor internal chip sebesar 20–50 kΩ dengan INPUT_PULLUP. Arus aman per pin adalah 20 mA; LED merah dengan resistor 220 Ω menarik sekitar 13 mA, dan kamu bisa menemukan resistor yang tepat dengan kalkulator resistor LED. Beberapa pin punya fungsi tambahan, dan mengetahuinya sejak awal mencegah bentrokan begitu proyekmu membesar:

PinFungsi tambahanYang perlu diperhatikan
D0 (RX), D1 (TX)Port serial hardware (Serial)Tersambung ke chip USB-serial lewat resistor 1 kΩ; biarkan kosong selama upload
D2, D3Interrupt eksternal INT0, INT1attachInterrupt() hanya bekerja di dua pin ini
~D3, ~D11PWM, Timer2 (sekitar 490 Hz)PWM di pin ini rusak selama tone() berbunyi
~D5, ~D6PWM, Timer0 (sekitar 980 Hz)Timer yang sama dengan millis() dan delay()
~D9, ~D10PWM, Timer1 (sekitar 490 Hz)Library Servo mematikan PWM di dua pin ini
D10–D13SPI: SS, MOSI, MISO, SCKD10 harus tetap output ketika memakai SPI
D13LED L bawaan boardLED dan resistornya tersambung langsung ke pin

Detail kecil tapi penting yang membedakan Nano dari Uno ada di D13. Di Uno R3, LED L digerakkan lewat op-amp, sedangkan di Nano LED dan resistornya tersambung langsung ke pin. Kalau kamu memakai D13 sebagai input tombol dengan INPUT_PULLUP, LED itu menarik pin ke bawah dan kamu bisa membaca LOW walaupun tombolnya tidak ditekan; simpan pin ini untuk output atau SPI. Cara kerja PWM dan arti nilai analogWrite() bisa kamu temukan di Apa Itu PWM?, dan interrupt di interrupt Arduino.

Pin analog A0–A7: kenapa A6 dan A7 berbeda?

Delapan input analog Nano mengukur tegangan antara 0 dan 5 V dengan resolusi 10-bit: analogRead() mengembalikan angka dari 0 sampai 1023, dan satu langkahnya sekitar 4,9 mV. Kalau perlu, A0–A5 juga bisa bekerja sebagai pin digital biasa (A0 = 14 … A5 = 19), dan A4 serta A5 merangkap jalur SDA dan SCL bus I2C. A6 dan A7, yang tidak dimiliki Uno, adalah dua channel ADC tambahan yang ada di kemasan surface-mount (TQFP) ATmega328P. Kedua channel ini hanya terhubung ke konverter analog-ke-digital; di belakangnya tidak ada register port, driver output, atau resistor pull-up. Karena itu pinMode(), digitalRead(), digitalWrite(), dan INPUT_PULLUP tidak bekerja di dua pin ini.

Compiler tidak akan protes soal digitalRead(A6), tapi hasilnya tidak bermakna dan tombolmu akan terlihat sama sekali tidak bekerja. Pakai A6 dan A7 untuk sumber analog seperti potensiometer, LDR, atau sensor kelembapan tanah. Kalau ingin menyambungkan tombol, tambahkan resistor pull-up eksternal 10 kΩ dari pin ke 5V dan baca dengan analogRead(): anggap tombol ditekan ketika nilainya turun di bawah 300.

A6 dan A7 yang hanya analog mungkin terlihat seperti kekurangan, tapi kamu bisa memanfaatkannya dengan cerdik. Kalau kamu menyambungkan beberapa tombol ke satu pin analog lewat resistor dengan nilai berbeda, setiap tombol menghasilkan tegangan yang berbeda; dengan begitu kamu membaca empat tombol dengan satu pin dan menyisakan pin digital untuk motor dan layar. Di rangkaiannya, sambungkan A6 ke 5V lewat resistor 10 kΩ; sambungkan tombol pertama langsung antara A6 dan GND, dan tiga tombol lainnya ke GND lewat resistor 2,2 kΩ, 4,7 kΩ, dan 10 kΩ secara berurutan.

C++ (Arduino IDE)
1// A6'da 4 buton: 10 kΩ pull-up + farklı seri dirençler / 4 buttons on A6: 10 kΩ pull-up + different series resistors
2const byte LADDER_PIN = A6;    // yalnız analog pin / analog-only pin
3
4byte readButton() {
5  int v = analogRead(LADDER_PIN);
6  if (v < 92)  return 1;       // 0 Ω      -> yaklaşık 0 / about 0
7  if (v < 256) return 2;       // 2,2 kΩ   -> yaklaşık 184 / about 184
8  if (v < 419) return 3;       // 4,7 kΩ   -> yaklaşık 327 / about 327
9  if (v < 767) return 4;       // 10 kΩ    -> yaklaşık 512 / about 512
10  return 0;                    // basılı değil -> 1023 / not pressed -> 1023
11}
12
13void setup() {
14  Serial.begin(9600);
15}
16
17void loop() {
18  static byte lastButton = 0;
19  byte b = readButton();
20  if (b != lastButton) {
21    delay(20);                 // kontak sıçramasını bekle / wait out contact bounce
22    b = readButton();          // değeri doğrula / confirm the value
23    if (b != lastButton) {
24      lastButton = b;
25      if (b != 0) {
26        Serial.print(F("Buton / Button: "));
27        Serial.println(b);
28      }
29    }
30  }
31}
TombolResistor seri ke GNDanalogRead yang diharapkanRentang yang diterima di kode
Tombol 10 Ω (langsung)00–91
Tombol 22,2 kΩSekitar 18492–255
Tombol 34,7 kΩSekitar 327256–418
Tombol 410 kΩSekitar 512419–766
Tidak ada-1023767–1023

Nilai-nilai itu berasal dari rumus analogRead = 1023 × R / (10 kΩ + R), dan setiap ambang berada tepat di tengah antara dua nilai yang bersebelahan. Karena resistor pull-up dan ADC diberi daya dari jalur 5 V yang sama, hasil pembacaan tidak berubah walaupun catu dayanya turun ke 4,7 V; ini disebut pengukuran rasiometrik. Kalau dua tombol ditekan bersamaan, resistornya menjadi paralel dan pembacaannya turun: kode melihat tombol bernomor lebih kecil, bahkan menekan 3 dan 4 bersamaan terbaca sebagai 2. Karena itu tangga resistor cocok untuk menu yang hanya menekan satu tombol dalam satu waktu. Kamu bisa mencoba hitungan pembaginya dengan kalkulator pembagi tegangan dan membaca lebih lanjut soal pembacaan analog di artikel ADC.

Pin daya: VIN, 5V, 3V3, dan GND

PinFungsinyaBatas dan peringatan
VINMemberi daya ke board dengan 7–12 V; regulator menurunkannya ke 5 VAMS1117 di klon tahan paling tinggi 15 V dan cepat panas di 12 V
5VJalur 5 V board: sebagai output memberi daya ke sensor, sebagai input menerima 5 V yang sudah diregulasiSekitar 4,7 V lewat USB; jangan pernah memberinya lebih dari 5 V dari luar
3V3Output 3,3 VBerasal dari FT232RL di board original dan dari CH340 di klon; arusnya sangat terbatas
GND (2 pin)Ground bersamaGND setiap catu daya eksternal harus tersambung ke sini
RST (2 pin)Me-restart board ketika ditarik ke LOWUntuk tombol reset eksternal; keduanya jalur yang sama
AREFInput referensi eksternal untuk pengukuran analogPanggil analogReference(EXTERNAL) sebelum memakainya

Kamu bisa memberi daya ke Nano dengan tiga cara. Ketika diberi daya lewat USB, 5 V datang dari komputer melalui dioda Schottky; dioda ini menurunkan sekitar 0,3 V, jadi biasanya kamu akan mengukur 4,6–4,8 V di pin 5V, dan dioda MBR0520 di board original diberi rating paling tinggi 500 mA. Kalau kamu memberi 7–12 V ke pin VIN, regulator di sisi bawah (LM1117 di board original, biasanya AMS1117 di klon) menurunkannya ke 5 V. Regulator mengubah kelebihan tegangan menjadi panas: daya yang dibuangnya adalah (VIN − 5 V) × arus, jadi menarik 150 mA dari input 12 V membuat regulator kecil itu membakar sekitar 1 W dan terlalu panas untuk disentuh. Karena itu 7–9 V ideal untuk VIN. Cara ketiga adalah memberi 5 V yang sudah diregulasi ke pin 5V dari luar; regulatornya kemudian dilewati, dan dioda di sisi USB mencegah arus mengalir balik ke komputermu. Kalau kamu memakai catu daya 12 V, memakai buck converter LM2596 untuk membuat 5 V lalu memasukkannya ke pin 5V adalah solusi yang jauh lebih adem; semua pilihan pemberian daya dibahas di Cara Memberi Daya Arduino.

Pin 3V3 adalah pin Nano yang paling sering disalahpahami. Di Uno pin ini berasal dari regulator terpisah, tapi Nano klasik tidak punya regulator 3,3 V terpisah. Di Nano original, 3,3 V berasal dari regulator kecil di dalam chip FT232RL (paling tinggi 50 mA), dan menurut dokumentasi lama Arduino output ini tidak tersedia ketika board tidak diberi daya lewat USB. Di kebanyakan klon, pin ini tersambung ke regulator internal milik CH340 sendiri dan hanya aman untuk beban beberapa mA. Jadi jangan beri daya modul 3,3 V seperti nRF24L01, ESP-01, atau RC522 dari pin ini; pakai regulator AMS1117-3.3 terpisah yang diberi daya dari pin 5V. Dan ketika menyambungkan output Nano 5 V ke input modul 3,3 V, pasang level shifter atau pembagi tegangan di antaranya.

Menyambungkan baterai 9 V atau adaptor 12 V ke pin 5V langsung merusak Nano: pin ini adalah output regulator, dan ATmega328P hanya tahan paling tinggi 6 V. Selalu sambungkan baterai dan adaptor ke pin VIN. Perhatikan juga polaritasnya; kebanyakan Nano tidak punya proteksi polaritas terbalik di VIN.

Pin 5V yang berada di sekitar 4,7 V lewat USB juga memengaruhi pengukuran analog: analogRead() memakai tegangan catu sebagai batas atasnya, jadi kalau kamu memasukkan 5,0 V ke perhitunganmu, hasilnya meleset 4–6 persen. Kamu bisa menghitung tegangan catu sebenarnya dengan mengukur referensi tetap internal ATmega328P yang sekitar 1,1 V. Sketch uji pertama di bawah melakukan persis hal itu, mengubah kedelapan input analog menjadi volt memakai tegangan catu sebenarnya, dan mengedipkan LED L di D13:

C++ (Arduino IDE)
1// Arduino Nano: A0-A7'yi ve gerçek besleme gerilimini oku / read A0-A7 and the real supply voltage
2const byte ANALOG_PINS[8] = {A0, A1, A2, A3, A4, A5, A6, A7};
3
4long readVccMillivolts() {
5  // Referans AVcc, ölçülen kanal dahili 1,1 V / reference AVcc, measured channel internal 1.1 V
6  ADMUX = _BV(REFS0) | _BV(MUX3) | _BV(MUX2) | _BV(MUX1);
7  delay(2);                                // referansın oturmasını bekle / let the reference settle
8  ADCSRA |= _BV(ADSC);                     // dönüşümü başlat / start the conversion
9  while (bit_is_set(ADCSRA, ADSC)) {}      // bitmesini bekle / wait until it finishes
10  unsigned int raw = ADC;                  // 10 bit sonuç / 10-bit result
11  return 1125300L / raw;                   // 1,1 V x 1023 x 1000 / 1.1 V x 1023 x 1000
12}
13
14void setup() {
15  Serial.begin(9600);
16  pinMode(LED_BUILTIN, OUTPUT);            // D13'teki L LED'i / L LED on D13
17}
18
19void loop() {
20  long vcc = readVccMillivolts();
21  analogRead(A0);                          // kanal değişti, ilk okumayı at / channel changed, discard the first reading
22  Serial.print(F("Vcc: "));
23  Serial.print(vcc);
24  Serial.print(F(" mV |"));
25  for (byte i = 0; i < 8; i++) {
26    int raw = analogRead(ANALOG_PINS[i]);  // A6 ve A7 de okunur / A6 and A7 are read too
27    Serial.print(F(" A"));
28    Serial.print(i);
29    Serial.print(F("="));
30    Serial.print(raw * (vcc / 1000.0) / 1023.0, 2);   // gerçek Vcc ile volta çevir / convert to volts using the real Vcc
31  }
32  Serial.println();
33  digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN));   // L LED'ini çevir / toggle the L LED
34  delay(1000);
35}

Setelah meng-upload, buka Serial Monitor di 9600 baud. Nilai Vcc seharusnya sekitar 4600–4800 mV lewat USB dan sekitar 5000 mV ketika diberi daya lewat VIN. Pin analog yang tidak tersambung menunjukkan nilai acak; kalau kamu menyambungkan potensiometer ke A0 lalu memutarnya, nilainya akan berubah mulus antara 0 dan Vcc. Referensi internal bisa berbeda ±10% dari chip ke chip; untuk hasil yang lebih akurat, ukur pin 5V dengan multimeter lalu kalikan konstanta 1125300 di kode dengan rasio nilai hasil ukurmu / nilai yang ditampilkan kode. Karena sketch ini memakai register ATmega328P secara langsung, ia tidak akan bekerja di Nano Every atau Nano ESP32.

Mini USB, CH340, dan instalasi driver

Nano klasik punya soket USB Mini-B; kabel Micro-USB atau USB-C yang dipakai untuk ponsel tidak akan muat. Beberapa klon baru punya soket Micro-USB atau USB-C, tapi kebanyakan masih mini USB. Alasan paling umum board sama sekali tidak muncul di daftar port adalah kabel khusus pengisian daya tanpa kabel data: LED daya menyala, tapi komputer tidak melihat board-nya. Kalau kabelnya baik, balik board-nya dan lihat chip di dekat soket USB. Kalau tertulis FT232RL, kamu punya Nano original dan driver-nya biasanya sudah ada di sistem operasi; kalau tertulis CH340G atau CH340C, kamu punya klon.

Windows 10 dan 11 sering menginstal driver CH340 sendiri lewat Windows Update, dan board-nya muncul di Device Manager dengan nama seperti USB-SERIAL CH340 (COM3). Kalau kamu melihat USB2.0-Serial dengan tanda seru kuning di bawah Other devices, instal driver CH341SER dari pembuat chip WCH, lalu cabut board-nya dan colokkan lagi. Versi macOS terbaru sudah menyertakan driver-nya; port muncul sebagai /dev/cu.usbserial-…, dan menginstal driver lama di atasnya bisa menimbulkan bentrokan. Di Linux driver-nya sudah ada di kernel; kalau port langsung hilang begitu board dicolokkan di Ubuntu 22.04 atau yang lebih baru, paket pembaca layar brltty sedang merebut CH340, dan kalau kamu tidak memakainya, kamu bisa menghapusnya dengan sudo apt remove brltty. Semua masalah port dan driver dibahas di Arduino Gagal Upload, dan perbedaan antar-chip USB-serial di konverter USB-TTL.

Meng-upload kode: ATmega328P atau Old Bootloader?

  1. Di Arduino IDE, pilih Tools > Board > Arduino AVR Boards > Arduino Nano.
  2. Colokkan board-nya dan pilih port yang baru muncul di Tools > Port (seperti COM3 di Windows atau /dev/cu.usbserial-… di macOS).
  3. Di Tools > Processor, coba dulu meng-upload contoh Blink dengan opsi ATmega328P.
  4. Kalau output mengulang programmer is not responding atau not in sync selama sepuluh percobaan, atur Processor ke ATmega328P (Old Bootloader) lalu upload lagi.
  5. Kalau masih gagal, coba port USB lain, lepaskan kabel apa pun dari D0 dan D1, dan cek apakah LED L berkedip cepat ketika kamu menekan tombol reset.
  6. Catat opsi mana yang berhasil; Nano lain dari penjual yang sama kemungkinan besar butuh pengaturan yang sama.

Alasan kebingungan ini adalah perubahan yang dibuat pada 2018. Arduino mengganti bootloader lama Nano berukuran 2 KB (ATmegaBOOT) dengan Optiboot 512 byte yang dipakai di Uno. Optiboot menerima kode di 115200 baud, sedangkan bootloader lama mengharapkan 57600 baud; ketika kecepatannya tidak cocok, board terlihat sama sekali tidak merespons. Karena pembuat klon terus mengirim board dengan bootloader lama selama bertahun-tahun, IDE menawarkan kedua opsi, dan salah memilih tidak merusak board. Kalau mau, kamu bisa memakai Arduino kedua sebagai ArduinoISP untuk menanamkan bootloader baru ke Nano: upload jadi lebih cepat dan loop reset tanpa akhir milik bootloader lama setelah reset watchdog juga hilang.

Opsi ProcessorBootloaderKecepatan uploadRuang untuk kode
ATmega328POptiboot (sejak 2018)115200 baud30.720 byte
ATmega328P (Old Bootloader)ATmegaBOOT (lama)57600 baud30.720 byte
ATmega168ATmegaBOOT (lama)19200 baud14.336 byte
Untuk Nano, output kompilasi menyebut Maximum is 30720 bytes; dengan Uno terpilih, sketch yang sama diukur terhadap batas 32.256 byte. IDE mencadangkan 2 KB di Nano demi kompatibilitas dengan board lama, walaupun bootloader baru sudah terpasang. Kalau sketch-mu mendekati batas itu, hapus library yang tidak dipakai dan baris Serial.print() yang tidak perlu, sederhanakan tabel besar, atau pindah ke Nano Every dengan flash 48 KB.

Penempatan di breadboard dan penyolderan

Breadboard dan kanal tengahnya
Kanal di tengah breadboard memisahkan kedua belahannya; ketika Nano mengangkangi kanal ini, setiap pinnya masuk ke jalurnya sendiri.

Ketika menancapkan Nano ke breadboard, tempatkan sehingga kedua baris pinnya berada di kedua sisi kanal tengah. Dengan begitu setiap pin masuk ke jalurnya sendiri, dan kamu bisa menyambungkan kabel ke pin itu lewat lubang kosong di jalur tersebut. Karena board-nya menutupi kanal dan lubang di antara pin, hanya tersisa beberapa lubang di sebelah setiap pin; di breadboard 830 titik yang umum, kalau board-nya diletakkan di tengah kanal, kamu mendapat 2 lubang kosong di satu sisi dan 3 di sisi lain. Menghadapkan soket USB ke sisi pendek breadboard memudahkan kabel dicolokkan. Lalu sambungkan pin 5V dan GND Nano ke jalur daya merah dan biru breadboard supaya kamu bisa memberi daya ke sensor dari sana. Untuk menyegarkan ingatan soal koneksi di dalam breadboard, lihat Apa Itu Breadboard?.

  • Menyolder header: Di klon yang datang dengan pin lepas, tancapkan dulu header male ke breadboard, letakkan Nano di atasnya, lalu solder dalam posisi itu; breadboard menahan header tetap lurus dan berjarak tepat 0,6 inci. Tekniknya bisa kamu temukan di Cara Menyolder.
  • Mencabutnya: Mengangkat board dari satu ujung membuat pinnya bengkok; angkat kedua ujungnya sedikit demi sedikit, atau selipkan obeng pipih di bawahnya dan tarik keluar secara merata.
  • Kontak longgar: Di breadboard lama atau murah, pegasnya aus; Nano sesekali reset atau sebuah sensor kadang terputus. Coba pindahkan board ke area lain di breadboard.
  • Board ekspansi Nano: Di proyek permanen, shield I/O Nano dengan terminal sekrup atau header 3 pin yang memberi sinyal, 5V, dan GND untuk setiap pin sangat mengurangi kekusutan kabel.
  • Breadboard mini: Breadboard kecil 170 titik tidak punya jalur daya; arahkan 5V dan GND ke jalur terpisah dan tandai dengan warna kabel.
Kalau kamu menyolder Nano ke stripboard, pastikan pin yang berhadapan tidak berada di jalur tembaga yang sama. Kalau jalurnya tidak diputus di antara kedua baris pin, 5V dan GND di posisi 12 serta VIN dan TX1 di posisi 15 terhubung singkat, dan begitu USB dicolokkan, board dan port komputermu sama-sama terbebani. Putus jalurnya di antara kedua baris dengan mata bor; detailnya ada di artikel rangkaian permanen.

Tabel pemetaan pin Arduino Uno ke Nano

FungsiArduino Uno R3Arduino NanoCatatan
I/O digitalD0–D13D0–D13Nomor dan fungsi sama
PWM~3, 5, 6, 9, 10, 11~3, 5, 6, 9, 10, 11Frekuensi dan timer sama
Input analogA0–A5A0–A7A6 dan A7 hanya ada di Nano dan hanya analog
I2C SDA / SCLA4 / A5 (salinan di sebelah AREF)A4 / A5Tidak ada pin SDA/SCL terpisah di Nano
SPI SS / MOSI / MISO / SCK10 / 11 / 12 / 1310 / 11 / 12 / 13Keduanya juga punya di header ICSP
Interrupt eksternalD2, D3D2, D3Sama
LED bawaanD13 (dengan buffer op-amp)D13 (tersambung langsung ke pin)Hati-hati memakai D13 sebagai input di Nano
Input dayaJack DC dan Vin, 7–12 VHanya pin VIN, 7–12 VTidak ada jack di Nano
USBUSB-B; ATmega16U2 atau CH340Mini-B; FT232RL atau CH340Kabelnya berbeda
Output 3.3VRegulator terpisah, 50 mADari chip USB, sangat terbatasDi Nano jangan beri daya modul dari pin ini
IOREFAdaTidak adaUntuk kompatibilitas shield
Ruang untuk kode32.256 byte30.720 byteIDE mencadangkan 2 KB di Nano
Memasang shieldLangsungDengan adaptor atau board ekspansi-

Seperti terlihat di tabel, memindahkan rangkaian yang dibuat untuk Uno ke Nano hanya berarti menyambungkan kabel ke pin dengan nomor yang sama: servo di D9 Uno pindah ke D9 di Nano, dan layar I2C di A4/A5 tetap ke A4/A5. Satu-satunya perubahan di kode adalah memilih Arduino Nano di Tools > Board. Namun shield yang langsung ditancapkan ke Uno tidak akan muat di Nano; untuk itu ada board adaptor yang mengubah Nano ke tata letak pin Uno. Peran rinci setiap pin di Uno bisa kamu temukan di Pinout Arduino Uno, dan bantuan memilih board di Arduino Mana yang Sebaiknya Kubeli?.

Nano Every dan Nano ESP32: apa bedanya dengan Nano klasik

FiturNano klasik (V3)Nano EveryNano ESP32
ProsesorATmega328P, 8-bit, 16 MHzATmega4809, 8-bit, 16 MHz di IDE (sampai 20 MHz)ESP32-S3, dua inti, 32-bit, 240 MHz
Flash / SRAM32 KB / 2 KB48 KB / 6 KB16 MB / 512 KB (+8 MB PSRAM)
Tegangan logika5 V5 V3,3 V (tidak tahan 5 V)
USBMini-BMicro-BUSB-C
Rentang VIN7–12 V disarankan7–21 V6–21 V
Pin PWMD3, D5, D6, D9, D10, D11D3, D5, D6, D9, D10 (tidak di D11)Hampir semua pin digital
A6 / A7Hanya analogAnalog dan digitalAnalog dan digital
Interrupt eksternalHanya D2, D3Semua pin digitalSemua pin
Jalur serial D0 / D1Berbagi dengan USB (Serial)Terpisah dari USB (Serial1)Terpisah dari USB (Serial0)
NirkabelTidak adaTidak adaWi-Fi dan Bluetooth LE
Paket board IDEArduino AVR BoardsArduino megaAVR BoardsArduino ESP32 Boards

Nano Every adalah versi Nano klasik yang lebih bertenaga dengan ukuran dan tata letak pin yang sama. Di dalamnya ada ATmega4809, bekerja di 5 V, dan menawarkan flash 48 KB serta SRAM 6 KB, jadi proyek OLED dan LED strip yang kewalahan dengan RAM Nano klasik mendapat ruang bernapas. Di sisi USB, chip SAMD11 berperan sebagai jembatan dan kode di-upload lewat antarmuka UPDI, jadi tidak ada repot soal Old Bootloader. Untuk memakai board ini, instal paket Arduino megaAVR Boards dari Boards Manager. Perbedaan yang perlu diperhatikan: PWM hanya ada di D3, D5, D6, D9, dan D10 (D11 tidak punya PWM), A6 dan A7 juga bekerja sebagai pin digital, setiap pin digital bisa dipakai sebagai interrupt eksternal, dan D0 serta D1 adalah port Serial1 yang terpisah dari USB. Pengaturan Tools > Registers emulation > ATMEGA328 mengemulasi register port seperti PORTB, tapi kode lama yang menulis langsung ke register timer atau ADC tetap tidak akan bekerja. Sketch di bawah menunjukkan dua perbedaan Every sekaligus: ia berkomunikasi dengan modul di D0/D1 selama Serial Monitor terbuka, dan memakai A7 sebagai input tombol dengan pull-up internal.

C++ (Arduino IDE)
1// Nano Every: Serial = USB, Serial1 = D0 (RX) ve D1 (TX) / Serial = USB, Serial1 = D0 (RX) and D1 (TX)
2const byte BUTTON_PIN = A7;            // Every'de A7 dijital de çalışır / A7 also works as digital on the Every
3
4bool lastState = HIGH;
5
6void setup() {
7  Serial.begin(9600);                  // Seri Monitör / Serial Monitor
8  Serial1.begin(9600);                 // D0/D1'deki modül, ör. HC-05 / module on D0/D1, e.g. HC-05
9  pinMode(BUTTON_PIN, INPUT_PULLUP);   // klasik Nano'nun A7'sinde çalışmaz / does not work on the classic Nano's A7
10}
11
12void loop() {
13  if (Serial1.available()) {
14    Serial.write(Serial1.read());      // modülden bilgisayara / module to computer
15  }
16  if (Serial.available()) {
17    Serial1.write(Serial.read());      // bilgisayardan modüle / computer to module
18  }
19  bool state = digitalRead(BUTTON_PIN);
20  if (state != lastState) {            // durum değişince bildir / report when the state changes
21    lastState = state;
22    Serial1.println(state == LOW ? "Buton basildi / Button pressed" : "Buton birakildi / Button released");
23    delay(20);                         // kontak sıçraması / contact bounce
24  }
25}

Sebaliknya, Nano ESP32 adalah dunia yang sama sekali berbeda dalam ukuran board yang sama: prosesor ESP32-S3 di modul u-blox NORA-W106 berjalan di 240 MHz dan menawarkan Wi-Fi serta Bluetooth LE. Perbedaan terpentingnya adalah tegangan: semua pin bekerja di 3,3 V dan tidak tahan 5 V, jadi sensor dengan output 5 V yang biasa kamu sambungkan langsung ke Nano klasik bisa merusak Nano ESP32. Di tempat pin 5V Nano klasik ada pin VBUS, yang hanya memberi 5 V selama board diberi daya lewat USB; ketika diberi daya lewat VIN, pin ini mati. Di tempat AREF dan pin RST di sisi analog kamu akan menemukan BOOT0 dan BOOT1. Board ini diprogram dengan paket Arduino ESP32 Boards, dan menu Tools > Pin Numbering punya dua opsi: di pengaturan default By Arduino pin berlaku nama D dan A yang tercetak di board, sedangkan di By GPIO number nomornya adalah nomor GPIO ESP32. Misalnya, D2 sebenarnya GPIO5; di mode GPIO, menulis pinMode(2, OUTPUT) justru mengatur pin A1. Kalau kamu selalu menulis pin dengan namanya, seperti D2 dan A0, kodemu bekerja dengan benar di kedua mode.

C++ (Arduino IDE)
1// Nano ESP32: Araçlar > Pin Numbering > By Arduino pin (default)
2// Nano ESP32: Tools > Pin Numbering > By Arduino pin (default)
3bool ledOn = false;
4
5void setup() {
6  Serial.begin(115200);                // USB-C üzerinden / over USB-C
7  pinMode(LED_BUILTIN, OUTPUT);        // D13 = GPIO48
8  pinMode(LED_RED, OUTPUT);
9  pinMode(LED_GREEN, OUTPUT);
10  pinMode(LED_BLUE, OUTPUT);
11  digitalWrite(LED_RED, HIGH);         // RGB LED ters mantık: HIGH = sönük / active low: HIGH = off
12  digitalWrite(LED_GREEN, HIGH);
13  digitalWrite(LED_BLUE, HIGH);
14  analogReadResolution(12);            // 0-4095 arası / range 0-4095
15}
16
17void loop() {
18  int raw = analogRead(A0);            // 12 bit ham değer / 12-bit raw value
19  int mv = analogReadMilliVolts(A0);   // kalibre edilmiş milivolt / calibrated millivolts
20  Serial.printf("A0: %d  (%d mV)\n", raw, mv);
21  digitalWrite(LED_GREEN, mv > 1650 ? LOW : HIGH);   // 1,65 V üstünde yeşil / green above 1.65 V
22  digitalWrite(LED_RED, mv > 1650 ? HIGH : LOW);     // altında kırmızı / red below
23  ledOn = !ledOn;
24  digitalWrite(LED_BUILTIN, ledOn ? HIGH : LOW);     // D13 LED'ini yakıp söndür / blink the D13 LED
25  delay(500);
26}

Input analog Nano ESP32 membaca dengan resolusi 12-bit dan mengembalikan nilai dari 0 sampai 4095, sedangkan analogReadMilliVolts() memakai data kalibrasi chip untuk memberi hasil langsung dalam milivolt. LED RGB bawaan board bekerja dengan logika terbalik, jadi menyala ketika kamu menulis LOW. Kalau kode tidak mau ter-upload dan board hilang dari daftar port, kamu bisa memasukkannya ke mode bootloader dengan menekan tombol reset dua kali berturut-turut dengan cepat. Untuk mempelajari sisi Wi-Fi ESP32, lihat Apa Itu ESP32?, dan untuk memutuskan board, baca Arduino vs ESP32. Di antara anggota keluarga lainnya, Nano R4 membawa prosesor Renesas RA4M1 48 MHz yang sama dengan Uno R4 ke format Nano 5 V tapi hanya memberi 8 mA per pin, sedangkan Nano 33 IoT dan Nano 33 BLE adalah board 3,3 V seperti Nano ESP32.

Ide proyek Arduino Nano

  • Termometer saku: Tampilkan suhu yang diukur dengan DHT11 di layar OLED kecil; Nano dan layarnya muat di dalam kotak korek api.
  • Mobil robot mini: Ukuran Nano yang kecil menghemat tempat di sasis; gerakkan motornya dengan L298N dan ikuti langkah di Mobil Robot Arduino.
  • Robot pengikut garis: Delapan input analog lebih dari cukup untuk membaca deretan lima sensor; detailnya ada di Robot Pengikut Garis.
  • Remote Bluetooth: Sambungkan modul HC-05 ke D8 dan D7 dengan SoftwareSerial lalu kendalikan LED atau relay dari ponselmu; D0 dan D1 tetap kosong untuk upload.
  • Lampu wearable: Buat lampu lencana atau tas dengan Nano bertenaga baterai dan beberapa LED WS2812B.
  • Keypad di satu pin: Rakit tangga resistor di atas di A6 dan A7 sekaligus untuk menu delapan tombol, dan simpan pin digital untuk layar dan motor.
  • Mau keyboard USB? ATmega328P di Nano klasik tidak punya USB bawaan, jadi tidak bisa tampil di komputer sebagai keyboard atau mouse; untuk itu kamu butuh board ATmega32U4 seperti Leonardo dan Pro Micro.

Kesalahan umum dan cara mengatasinya

GejalaPenyebabSolusi
Nano tidak muncul di daftar portKabel khusus pengisian daya atau driver CH340 belum adaPakai kabel data, instal driver CH341SER; hapus brltty di Linux
Upload berhenti dengan error “not in sync”Board-nya memakai bootloader lamaTools > Processor > ATmega328P (Old Bootloader)
Tombol di A6 atau A7 sama sekali tidak meresponsPin ini tidak punya digitalRead atau pull-up internalTambahkan pull-up eksternal 10 kΩ dan pakai ambang dengan analogRead
Tombol di D13 selalu terbaca ditekanLED L dan resistornya menarik pin ke bawahPindahkan tombolnya ke pin lain
Modul yang diberi daya dari 3V3 tidak stabil atau matiPin 3V3 hanya memberi arus yang sangat kecilPakai regulator 3,3 V terpisah yang diberi daya dari 5V
Pembacaan analog kelebihan beberapa persenLewat USB pin 5V hanya sekitar 4,7 VUkur Vcc sebenarnya atau beri daya ke board lewat VIN
Board jadi sangat panas dengan 12 V di VINRegulator membuang (12 − 5) × arus sebagai panasBeri 7–9 V ke VIN atau beri daya ke pin 5V dari modul buck
Dengan servo terpasang, LED di D9/D10 tidak mau meredupLibrary Servo memakai Timer1Pindahkan LED ke D3, D5, D6, atau D11
Sebelum memulai proyek Nano, tulis rencana pin: tempatkan dulu komponen yang butuh I2C (A4/A5), SPI (D10–D13), interrupt (D2/D3), dan PWM, sebar sensor analog di A0–A3 dan A6–A7, taruh tombol di pin digital yang tersisa, dan sisakan D0 serta D1 untuk paling akhir. Kalau board restart tanpa diduga, langkah-langkah pemecahan masalah di Arduino terus reset akan membantu.

Arduino Nano adalah cara termudah membawa semua yang sudah kamu pelajari di Uno ke proyek kecil yang permanen; selama kamu tahu perbedaan seputar A6/A7, 3V3, dan bootloader, tidak akan ada kejutan. Kalau ingin kembali ke dasar, mulai dari Apa Itu Arduino?. Di aplikasi BlueGrays kamu akan menemukan proyek langkah demi langkah dengan skema rangkaian dan kode siap pakai untuk LED berkedip, LED dengan tombol, mengukur cahaya dengan LDR, jarak dengan HC-SR04, suhu dan kelembapan dengan DHT11, LED RGB, servo dengan potensiometer, dan komunikasi serial antara dua Arduino; semuanya bekerja di Nano dengan nomor pin yang sama.

Pertanyaan umum

Berapa jumlah pin Arduino Nano?

Arduino Nano klasik punya 30 pin dalam dua baris. 14 di antaranya input/output digital (D0–D13), 8 input analog (A0–A7), dan sisanya pin VIN, 5V, 3V3, AREF, dua GND, dan dua RST. Karena A0–A5 juga bisa dipakai sebagai pin digital, kamu mendapat 20 pin digital; A6 dan A7 hanya bisa membaca nilai analog.

Pin mana yang PWM di Arduino Nano?

Pin PWM-nya adalah D3, D5, D6, D9, D10, dan D11; di board atau di diagram pinout pin ini ditandai ~ di sebelah nomornya. D5 dan D6 bekerja di sekitar 980 Hz, sisanya di sekitar 490 Hz. Library Servo memengaruhi PWM di D9 dan D10, dan fungsi tone() memengaruhi D3 dan D11.

Apakah A6 dan A7 di Arduino Nano bisa dipakai sebagai pin digital?

Tidak. A6 dan A7 adalah dua channel ATmega328P yang hanya terhubung ke konverter analog-ke-digital; pinMode, digitalRead, digitalWrite, dan pull-up internal tidak bekerja di pin ini. Untuk membaca tombol, tambahkan resistor pull-up eksternal 10 kΩ dan bandingkan nilai analogRead() dengan sebuah ambang. Namun di Nano Every dan Nano ESP32, A6 dan A7 juga bisa dipakai sebagai pin digital.

Tegangan berapa yang bisa kuberikan ke Arduino Nano?

Kamu bisa memberi daya ke Nano lewat USB, dengan 7–12 V di pin VIN, atau dengan 5 V yang sudah diregulasi di pin 5V. Regulator AMS1117 di board klon bisa rusak di atas 15 V dan cepat panas bahkan di 12 V, jadi 7–9 V ideal untuk VIN. Jangan pernah memberi lebih dari 5 V ke pin 5V.

Apa arti Old Bootloader di Arduino Nano?

Pada 2018 Arduino mengganti bootloader Nano dengan Optiboot yang lebih kecil dan lebih cepat; bootloader baru berkomunikasi di 115200 baud dan yang lama di 57600 baud. Kebanyakan Nano klon di pasaran masih memakai bootloader lama, jadi kalau kamu tidak memilih ATmega328P (Old Bootloader) di Tools > Processor, upload berhenti dengan error not in sync. Salah memilih opsi tidak merusak board, jadi kamu bisa mencoba keduanya saja.

Apa perbedaan Arduino Nano dan Uno?

Keduanya memakai ATmega328P 16 MHz, jadi nomor pin, pin PWM, jalur I2C (A4/A5) dan SPI (D10–D13), serta kodenya sama. Nano lebih kecil, bisa ditancapkan ke breadboard, dan punya dua input analog tambahan (A6, A7), tapi tidak punya jack DC dan header shield. Nano juga memakai mini USB dan IDE memberinya 30.720 byte untuk kode, sedangkan batas Uno 32.256 byte.

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
Kendali LED dengan Tombol Tekan (Tekan)
#9Pemula

Kendali LED dengan Tombol Tekan (Tekan)

Persis seperti bel pintu: lampu tetap menyala selama kamu menekan, dan mati ketika kamu melepasnya. Arduino terus mendengarkan tombol; selama ditekan LED menyala, dan begitu jarimu terangkat LED mati.

4.8(113)
229
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
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
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
Menggunakan LED RGB
#39Pemula
Premium

Menggunakan LED RGB

Tiga warna tersembunyi di dalam satu LED: LED RGB menyala merah, lalu hijau, lalu biru, setiap warna menyala setengah detik dan mati setengah detik, sebelum siklusnya dimulai lagi. Yang kamu butuhkan

4.9(73)
98
Menggerakkan Motor Servo dengan Potensiometer
#36Pemula
Premium

Menggerakkan Motor Servo dengan Potensiometer

Ketika kamu memutar kenop potensiometer, lengan motor servo ikut berputar: satu ujung kenop berarti nol derajat, ujung lainnya berarti setengah putaran. Arduino terus membaca posisi kenop dan servo la

4.6(37)
52
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