Arduino Nano V3 bergerak dari kotak ke blink pertama dalam tiga langkah: pasang driver USB CH340 supaya board itu muncul sebagai serial port, pilih Arduino Nano di bawah Tools > Board, kemudian set Tools > Processor β pada kebanyakan board Nano CH340 itu bermaksud ATmega328P (Old Bootloader). Menu ketiga itulah yang tiada siapa sebut, dan itulah puncanya kebanyakan upload pertama gagal. Tiada kerja solder langsung diperlukan untuk semua ini.
Nano V3 menjalankan ATmega328P yang sama seperti Arduino Uno dan sketch yang sama juga. Yang berbeza ialah badannya: sebatang 18.5 × 43 mm yang boleh dicucuk terus ke dalam breadboard, dan soket Mini-USB menggantikan soket segi empat pada Uno.
Apa yang ada dalam kotak Nano V3, dan apa lagi yang anda perlukan?
Nano V3 dengan CH340 dihantar sebagai board kosong: kesemua 30 kedudukan pin dan blok ICSP 2×3 itu ialah lubang through-hole bersalut yang terbuka. Itu memang disengajakan: lubang kosong membolehkan anda solder pin ke bawah untuk breadboard, ke atas untuk wayar jumper, atau bersudut tepat untuk enclosure yang nipis. Jadi satu set permulaan bermakna board itu campur satu strip header male hitam 40-pin (dua keping 15-pin boleh dipatahkan daripadanya, dengan lebihan) dan satu breadboard 400 lubang. Saiz itu memang padanan semula jadinya: panjangnya 85 mm berbanding 43 mm Nano, jadi board itu mengambil kira-kira separuh daripadanya dan meninggalkan bakinya untuk litar.
Selesaikan hal kabel sebelum anda order. Soket pada Nano ialah Mini-USB Type-B β trapezoid gempal dengan sisi tercerut ke dalam, plug yang berbeza daripada micro-USB dan juga USB-C. Kabel Mini-B bukan sebahagian daripada rangkaian produk kami, dan ia satu-satunya barang di sini yang paling besar kemungkinan anda sudah ada: Mini-B ialah standard pada kamera compact, controller PS3, casing hard disk lama dan pemain MP3, jadi selongkar laci dahulu. Mana-mana daripadanya boleh pakai asalkan ia membawa data, dan kabel Mini-B masih dijual di mana-mana kedai aksesori telefon. Kabel charge-only tiada pasangan wayar data, jadi ia menyalakan LED PWR dan tidak menghasilkan sebarang serial port.
Senarai barang β Nano itu sendiri, campur header dan breadboard untuk langkah dua
Parts list
Hanya untuk langkah solder dan apa yang datang selepasnya β langkau iron dan solder kalau anda sudah ada. Nano expansion shield pula jalan alternatif sebaik sahaja header anda sudah terpasang.
Macam mana nak buat CH340 muncul sebagai serial port?
CH340G pada Nano ini ialah jambatan USB-ke-serial: ATmega328P bercakap serial asynchronous biasa, komputer anda bercakap USB, dan CH340 menterjemah antara kedua-duanya. Komputer anda perlukan driver untuk menuntut cip itu dan menampilkannya sebagai COM port maya β tanpa driver, board itu dapat kuasa, LED PWR menyala, dan tiada apa-apa lagi berlaku.
Cip satu itu jugalah maksud sebenar “Arduino Nano compatible”. Nano compatible membawa ATmega328P yang sama, crystal 16 MHz yang sama, susunan pin yang sama dan Arduino core yang sama seperti yang asli β apa yang kilang tukar ialah cip USB-ke-serial, memasang WCH CH340G menggantikan FTDI FT232RL yang menjadi asas Nano asal. Kedua-dua langkah menyusahkan dalam artikel ini terbit daripada satu pertukaran itu: Windows tiada driver CH340 sedia ada, dan board itu tiba membawa bootloader mana yang kilang flash, bukan yang dihantar Arduino.
Pastikan Arduino IDE sudah ada pada mesin dahulu β IDE desktop percuma dari arduino.cc. Sama ada 1.8.x atau 2.x boleh; kedua-duanya ada menu Processor yang artikel ini gunakan. Drivernya pula bergantung pada sistem operasi:
- Windows β pasang CH341SER dari WCH, pembuat cip itu sendiri. Klik INSTALL (butang lain dalam dialog itu hanya UNINSTALL dan HELP), kemudian cabut dan cucuk semula board.
- macOS β tiada apa nak pasang: Apple sudah menghantar driver AppleUSBCHCOM sendiri untuk cip CH34x sejak macOS 10.14 Mojave. Port itu muncul sebagai
/dev/cu.usbserial-β¦; hanya kalau anda pasang driver Mac keluaran WCH sendiri barulah ia terbaca/dev/cu.wchusbserialβ¦. - Linux β tiada apa nak pasang juga;
ch341memang sudah ada dalam kernel. Portnya/dev/ttyUSB0; kalau ia tiada dalam senarai IDE, anda bukan ahli groupdialout.
Sahkan driver itu, jangan sekadar andaikan. Driver yang benar-benar terikat akan muncul dan hilang bersama hardware, jadi ujiannya ialah cabut-cucuk semula: perhatikan bahagian Ports dalam Windows Device Manager (atau senarai port dalam IDE pada Mac dan Linux), cabut Nano, dan satu entri mesti lenyap lalu kembali bila anda cucuk semula. Entri yang kekal di situ walaupun board sudah dicabut itu milik benda lain, dan segi tiga amaran kuning bermakna driver tidak pernah terikat. Entri mana yang datang dan pergi itulah Nano anda, jadi tandakan yang itu di bawah Tools > Port: IDE upload ke port yang dipilih dalam menu, bukan ke apa sahaja yang kebetulan tercucuk. CH340 tidak memperkenalkan board di belakangnya, jadi jangkakan COM5 kosong atau /dev/cu.usbserial-1420 tanpa nama board β perkataan “Arduino” yang tiada itu memang normal, bukan kerosakan. Panduan troubleshooting board tak dikesan kami menyelesaikan masalah yang sama pada board ESP32.

Kenapa Nano perlukan “Old Bootloader” di bawah Tools > Processor?
Bootloader ialah program kecil yang tinggal dalam satu blok yang dikhaskan di hujung atas flash ATmega328P, dan ia berjalan seketika setiap kali cip itu reset. Dalam saat itu ia mendengar pada serial port: kalau IDE sedang bercakap, ia menulis sketch yang masuk ke dalam flash; kalau tiada siapa bercakap, ia menyerahkan kawalan kepada sketch yang sedia ada. Itulah sebabnya, keseluruhannya, Nano boleh diprogram melalui kabel USB dan bukan dengan programmer berasingan. Anda tak perlu sentuh butang reset langsung untuk semua itu: bila IDE membuka port, ia menjatuhkan line DTR pada CH340, dan sebiji kapasitor kecil menghantar falling edge itu terus ke pin reset ATmega328P. Litar yang sama itulah sebabnya membuka Serial Monitor memulakan semula sketch anda dari awal.
Dua bootloader beredar di pasaran dan kedua-duanya mendengar pada kelajuan berbeza. Set Tools > Board > Arduino AVR Boards > Arduino Nano, dan menu Processor di bawahnya menawarkan ATmega328P dan ATmega328P (Old Bootloader). Dalam boards.txt milik Arduino AVR core sendiri, yang pertama upload pada 115200 baud dan menjangkakan Optiboot yang lebih baharu; yang kedua upload pada 57600 baud dan menjangkakan ATmegaBOOT yang lebih lama. Kebanyakan board Nano berasaskan CH340 dihantar dengan yang lama.
IDE tak mampu meneka yang mana satu ada pada board anda, dan itulah sebabnya ini menu yang anda set sendiri dan bukan sesuatu yang automatik. Bootloader duduk di dalam flash ATmega328P sendiri dan tidak mengumumkan apa-apa tentang dirinya, manakala CH340 di hadapannya pula jambatan serial generik yang langsung tak tahu apa yang ada di sebelah sana. Jadi uploader terpaksa diberitahu pada kelajuan mana nak membuka perbualan, dan kalau ia diberitahu yang salah, dua hujung itu tak akan pernah bertemu.
Segala-galanya yang lain tentang dua entri itu adalah sama β target compile ATmega328P yang sama, 2048 bytes RAM yang sama, siling sketch 30720-byte yang sama. Satu-satunya benda yang diubah oleh dropdown itu ialah baud rate uploader, dan itu menjadikan kegagalannya sangat spesifik: pada kelajuan yang salah, bootloader mengambil sampel peralihan voltan yang bentuknya betul tetapi pada timing bit yang salah, lalu men-decode sampah, dan tak pernah memulangkan byte penyegerakan yang ditunggu oleh uploader. IDE akan mencetak sepuluh percubaan gagal, mengira naik dari yang pertama:
Warning: attempt 1 of 10: not in sync: resp=0x00
Versi Arduino IDE yang lebih lama mengeja masalah yang sama sebagai avrdude: stk500_getsync() attempt 1 of 10: not in sync: resp=0x00, sebab perkataan uploader itu berubah sepanjang perjalanan. Apa pun, not in sync: resp=0x00 itulah bahagian yang mengenal pastinya.
Mesej itu berita baik. Untuk mencetaknya pun, avrdude terpaksa membuka serial port dahulu β jadi driver sudah terikat, kabel membawa data dan pilihan port pun betul. Tinggal dropdown Processor sahaja yang berdiri antara anda dengan board yang berfungsi. Cuba entri yang satu lagi; tiada apa-apa yang rosak kalau teka salah.
| Apa yang berlaku | Apa maknanya | Apa nak tukar |
|---|---|---|
| Langsung tiada port dalam senarai | Driver tak terikat, atau kabel charge-only | Pasang CH341SER, cucuk semula, cuba kabel data yang anda tahu elok |
Port muncul, upload beri not in sync: resp=0x00 |
Baud rate bootloader salah | Tukar Tools > Processor ke entri ATmega328P yang satu lagi |
| Port muncul kemudian lenyap separuh jalan upload | Kabel atau USB hub menjatuhkan sambungan | Guna port terus pada komputer, tukar kabel lain |
Kedua-dua entri Processor beri not in sync |
Tiada apa-apa yang mendengar β blok bootloader yang dikhaskan itu kosong atau rosak | Flash semula bootloader melalui lubang ICSP 2×3 dengan Arduino kedua sebagai ISP, atau mesej kami |
| Upload lapor berjaya, board tak buat apa-apa | Upload memang elok; sketch itu yang bermasalah | Muatkan sketch blink di bawah sebagai rujukan yang pasti elok |
Apa patut jadi sketch pertama?
Nano membawa satu LED pada pin D13, bertanda L pada silkscreen β satu daripada empat lampu SMD kecil di sebelah butang reset. Ia sudah pun berwayar ke pin itu, jadi upload pertama tak perlukan header, breadboard mahupun komponen. Sketch ini mengelipkannya dan mencetak melalui link serial sekali, jadi satu upload membuktikan kedua-dua arah sambungan.
// Ujian upload pertama untuk Arduino Nano V3 (ATmega328P + CH340).
// TAK perlu solder dan TAK perlu part tambahan: ia mengelipkan LED yang sudah ada
// pada board dan bercakap balik melalui kabel USB yang sama yang memprogramnya.
const uint8_t LED_PIN = LED_BUILTIN; // D13 pada Nano - pin tempat LED L onboard duduk
const unsigned long BLINK_MS = 500; // setengah saat nyala, setengah saat padam
unsigned long lastToggle = 0;
bool ledOn = false;
unsigned long beats = 0;
void setup() {
pinMode(LED_PIN, OUTPUT);
Serial.begin(9600); // Serial Monitor mesti diset pada 9600 baud yang sama ini
Serial.println(F("Nano is alive. If you can read this, USB, CH340 and the bootloader all work."));
}
void loop() {
unsigned long now = millis();
// millis() ganti delay(): board kekal bebas buat kerja lain antara kelipan
if (now - lastToggle >= BLINK_MS) {
lastToggle = now;
ledOn = !ledOn;
digitalWrite(LED_PIN, ledOn ? HIGH : LOW);
if (ledOn) { // satu baris untuk satu kelipan penuh, bukan dua
beats++;
Serial.print(F("blink "));
Serial.print(beats);
Serial.print(F(" uptime "));
Serial.print(now / 1000);
Serial.println(F(" s"));
}
}
}
Set pemilih baud pada Serial Monitor kepada 9600 supaya padan dengan Serial.begin(9600). Kalau tak padan, anda dapat kelas kegagalan yang sama seperti dropdown bootloader tadi: baris-baris kemas penuh aksara yang tak bermakna, sebab bit tiba pada kadar yang berbeza daripada kadar penerima mengambil sampel.

Bila masanya nak solder header?
Pin header pada Nano ialah langkah dua, selepas board itu membuktikan dirinya. Patahkan dua keping 15-pin daripada strip hitam 40-pin β ia bergaris antara setiap pin β dan guna breadboard sebagai jig: tolak kedua-dua strip ke dalamnya, turunkan Nano di atas pin yang terjulur, dan breadboard akan memegang kesemua 30 pin tegak lurus sementara anda solder. Pin yang lurus bukan soal cantik; strip yang disolder senget tak akan boleh masuk breadboard selepas itu. Hujung soldering iron duduk pada suhu ratusan darjah dan melecur sebaik tersentuh, jadi letak ia dalam standnya antara setiap sambungan, jangan sekali-kali atas meja.
Panduan solder header pin kami menerangkan tekniknya, dan cara pilih iron dan flux pula alatannya. Menonton pergerakannya lebih membantu daripada membacanya:
Bila duduk dengan pin ke bawah, Nano akan mengangkang saluran tengah breadboard. Dua baris headernya berjarak 0.6 inci sedangkan saluran antara dua bank tie point itu hanya 0.3 inci lebar, jadi Nano tak mungkin duduk betul-betul di tengahnya: badan board akan menutupi lubang di kedua-dua belah dan menyorokkan kebanyakannya di satu sisi. Satu terminal strip ada sepuluh lajur lubang dan Nano menutupi lima daripadanya, jadi kalau ditolak rapat ke satu bank, ia meninggalkan empat tie point yang boleh dicapai sebaris dengan setiap pin di sisi terbuka, dan satu sahaja di sisi yang tersorok. Pilih offset itu semasa anda mendudukkan board β sisi terbuka itulah tempat seluruh litar terpaksa tinggal. Sambungkan keluar daripadanya dengan wayar jumper male-to-male; panduan wayar jumper kami menerangkan hujung mana padan dengan apa. Nano expansion shield ialah alternatifnya β ia menerima board itu pin ke bawah masuk ke soket hitam dan menampilkan semula setiap I/O sebagai blok ground/voltan/isyarat β tetapi ia tetap perlukan header itu disolder dahulu, jadi ia langkah tiga, bukan jalan pintas untuk mengelak langkah dua.
Selesaikan satu perkara sebelum anda gantung apa-apa part pada tie point itu: pin 5V pada Nano ialah output dan juga input, dan itulah yang memberi makan rel merah breadboard β tetapi ia bukan bekalan tanpa had. Bila berjalan atas USB, semua benda pada rel itu ditarik daripada port komputer, dan soket USB 2.0 standard hanya membenarkan 500 mA untuk board dan litar anda bersama-sama. Bila berjalan atas VIN, 5 V itu datang daripada linear regulator onboard, yang tidak menukarkan voltan lebihan itu β ia membakarnya: pada 12 V masuk, setiap 100 mA yang anda tarik menukarkan 0.7 W menjadi haba dalam pakej yang beberapa milimeter sahaja saiznya, jadi ia jadi panas dan arusnya jatuh jauh sebelum sampai ke mana-mana angka besar yang tertera dalam spec. Pin 3V3 pula rujukan arus rendah, bukan rel kedua. Had 20 mA setiap pin ialah bajet ketiga, berasingan daripada kedua-dua tadi β pin I/O menghidupkan transistor atau modul driver; ia bukan yang memacu beban itu sendiri. Apa-apa yang ada motor, pemanas atau jalur LED panjang di dalamnya dapat bekalan kuasanya sendiri, dengan dua ground disambungkan bersama.

Nano atau Uno β mana satu sebenarnya patut anda beli?
Nano V3 dan Uno R3 membawa ATmega328P yang sama pada 16 MHz dengan 32 KB flash, 2 KB SRAM dan 1 KB EEPROM yang sama dan had 20 mA setiap pin yang sama, dan sketch yang ditulis untuk satu akan compile tanpa diubah untuk satu lagi. Pilihannya tentang badan yang membungkus cip itu, bukan tentang keupayaannya.
| Nano V3 | Uno R3 | |
|---|---|---|
| Saiz tapak | 18.5 × 43 mm β muat dalam kebanyakan enclosure projek | 53 × 69 mm β biasanya perlukan kotaknya sendiri |
| Breadboard | Cucuk terus ke dalamnya, pin ke bawah | Duduk di sebelahnya, berwayar melintas dengan jumper |
| Sedia guna sebaik tiba | Header kena solder dahulu untuk apa-apa selain USB | Soket female sudah terpasang, tak perlu solder langsung |
| Shield | Tiada β format shield tak muat | Menerima seluruh ekosistem shield Uno |
| Input analog | 8 (A0βA7) | 6 (A0βA5) |
| Plug USB | Mini-USB Type-B | Plug Type-B printer segi empat yang besar |
Dua input analog tambahan itu datang dengan satu syarat. A6 dan A7 hanya wujud pada pakej ATmega328P surface-mount yang digunakan Nano, dan kedua-duanya berwayar terus ke multiplexer penukar analog-ke-digital tanpa melalui mana-mana port register. Ia boleh dibaca elok dengan analogRead() dan tak boleh buat apa-apa lagi β tiada digitalWrite(), tiada digitalRead(), tiada INPUT_PULLUP. Anggap kedua-duanya sebagai input sensor, jangan sekali-kali sebagai pin lebih.
Jadi: Nano untuk apa-apa yang kecil, yang duduk atas breadboard atau yang masuk dalam kotak; Uno kalau anda lebih rela tak solder apa-apa untuk mula, atau kalau projek itu dibina sekitar shield. Nak timbang keluarga board secara keseluruhan pula? Perbandingan ESP32 vs ESP8266 vs Uno kami merangkumi lapisan itu.
Kesilapan biasa yang kami lihat
Menyalahkan driver atas masalah menu Processor. Masalah driver bermakna tiada port langsung wujud untuk dipilih; masalah Processor bermakna port itu ada, avrdude membukanya, dan percubaan sync itulah yang gagal. Kalau anda nampak port itu, berhentilah pasang semula driver.
Guna kabel Mini-B charge-only. Tiada pasangan wayar data pun LED PWR tetap menyala, dan itu kelihatan macam sambungan yang berjaya. Petunjuknya ialah tiada port yang pernah muncul.
Solder header sebelum upload pertama. Ia merugikan anda ujian yang paling bersih: board yang gagal blink dalam keadaan kosong memang rosak sejak tiba, tanpa kerja solder anda terlibat untuk dipertikaikan.
Solder strip header terbalik. Strip male ada hujung panjang dan hujung pendek. Pin panjang masuk ke bawah ke dalam breadboard, jadi spacer plastik hitam itu akan terperangkap antara Nano dan breadboard, dan anda solder hujung pendek yang terjulur di muka atas. Pasang strip secara terbalik dan tak cukup panjang pin yang tinggal di bawah board untuk sampai ke tie point.
Mengharapkan A6 atau A7 memacu sesuatu. digitalWrite(A6, HIGH) compile tanpa sebarang aduan dan pin itu tak bergerak langsung, sebab tiada hardware output digital di belakangnya β jadual pin dalam AVR core hanya sampai A5, tanpa sebarang entri untuk A6 atau A7.
FAQ
Kabel apa yang Arduino Nano V3 guna?
Mini-USB Type-B β trapezoid gempal, bukan micro-USB dan bukan USB-C. Kamera compact, controller PS3 dan casing hard disk lama guna plug yang sama. Ia mesti membawa data; kabel charge-only tak menghasilkan sebarang serial port.
Perlukah saya solder header Nano dahulu sebelum boleh guna?
Tak perlu untuk upload pertama. LED L pada D13 sudah berwayar pada board, jadi blink berjalan melalui USB sahaja. Header hanya perlu untuk mencapai pin I/O β breadboard, wayar jumper atau expansion shield.
Kenapa Nano saya kata “not in sync: resp=0x00”?
Hampir selalu dropdown Processor. Kebanyakan board Nano CH340 guna bootloader ATmegaBOOT lama, yang mendengar pada 57600 baud, sedangkan entri ATmega328P biasa upload pada 115200. Tukar Tools > Processor ke ATmega328P (Old Bootloader).
Adakah Arduino Nano sekuat Uno?
Sama sahaja β ATmega328P yang sama pada 16 MHz, 32 KB flash, 2 KB SRAM, 1 KB EEPROM yang sama, sketch yang sama. Nano menambah A6 dan A7 yang hanya boleh baca analog; Uno pula dapat keserasian shield dan soket yang sudah terpasang.
Boleh tak Nano jalan atas bateri dan bukan USB?
Boleh. Masukkan 7β12 V ke VIN dan regulator onboard akan menghasilkan rel 5 V β bateri 9 V atau holder AA enam sel sesuai untuknya. Pack empat sel ialah kesilapan biasa: pada 6 V nominal ia sudah pun di bawah julat itu dan turun lagi dari situ, meninggalkan regulator terlalu sedikit headroom untuk memegang 5 V. Jangan sekali-kali masukkan 7β12 V VIN itu ke pin 5V, yang duduk selepas regulator.
Kemas kini terakhir Ogos 2026. Tersangkut? Chat dengan kami di WhatsApp.



Arduino NANO Compatible NANO V3 - ATMEGA328P with C340G - Mini USB - Microcontroller Project
2.54mm Pin Header Female Male Single Row Header 40P Connector Black White Red Yellow Green Blue - 40P MALE HEADER (BLACK)
MB102 Breadboard 170 400 830 Holes Breadboard Donut Board Arduino Prototype Multi Color - BREADBOARD (400 HOLES)
50g Soldering Wire Lead with Flux Core 1mm Diameter
80W Electronics Soldering Iron with LCD Display Ajustable Temperature Microconstroller Electronic Project
40pcs Dupont Wire 10cm 20cm 30cm for Breadboard DIY Experiment Jumper Wire Breadboard wire - DUPONT WIRE M-M 20CM
Nano Expansion Shield For Arduino NANO R3