這是歷史版本頁面 — 看 Arduino 最新版本

寫程式上傳到 Arduino 板子,Arduino IDE 能做什麼

Arduino 軟體圖示 Arduino 2.3.0 資料更新 2024-02-08 閱讀約 5 分鐘

買了一塊 Arduino 板子,接上電腦,卻不知道下一步要做什麼。你想讓它閃一顆 LED、讀一個感測器,或控制一顆馬達,但打開電腦發現自己連要裝什麼軟體都不知道。網路上到處都是教學,但每一篇都預設你已經有某個工具,你連第一步都還沒跨出去。

有人會想,寫程式用記事本不就好了?但 Arduino 的程式不是寫完就結束,它需要經過編譯、轉成板子看得懂的格式,再透過 USB 上傳進去。這些步驟如果全部自己來,光處理板子型號、連接埠、程式庫相依就夠你忙了。這類工具把編輯、編譯、上傳、監看串列輸出整合在一起,讓你把心力放在程式本身,而不是跟工具搏鬥。

Arduino 操作介面
Arduino 的操作介面

01Arduino IDE 到底是做什麼用的?

它是用來寫程式、編譯、上傳到 Arduino 板子的整合開發環境。你可以在裡面寫程式,按一下按鈕就編譯並上傳到板子,還可以用內建的序列埠監控視窗看板子回傳的數據。官方說明提到它支援所有 Arduino 板子,也支援 ESP8266、ESP32 等相容微控制器。

02這套軟體能寫什麼樣的程式?

從最簡單的讓 LED 閃爍,到複雜的機器人控制都可以。官方說明列舉了內建範例,涵蓋各種功能與專案,你可以直接開啟範例來改。它也支援第三方程式庫,所以感測器、顯示器、馬達驅動等常見元件的程式碼都可以直接引用,不用從零開始寫。

03它能不能用在我買的板子上?

官方說明指出,這套軟體可以用在任何 Arduino 板子上。另外,FAQ 提到它也支援 ESP8266 和 ESP32 這類相容微控制器。你可以在「工具」選單中選擇對應的板子型號,如果沒有,可以透過板子管理員安裝需要的定義。

04有沒有內建範例可以參考?

有。官方功能說明提到內建範例涵蓋各種功能與專案,從基本的 LED 閃爍到進階的網路功能都有。你可以直接從選單開啟範例,改一改就上傳到板子,是學習或快速驗證想法最直接的方式。

05寫完程式要怎麼看板子回傳的數據?

用內建的序列埠監控視窗。官方說明提到,你可以在程式裡用 Serial.println() 輸出數據,然後在工具選單開啟序列埠監控,就能即時看到板子回傳的內容。另外還有序列繪圖器,可以把數據畫成圖表,方便觀察變化趨勢。

Arduino 介面畫面 2
Arduino 介面畫面

06我是初學者,這套軟體會不會太難?

官方 FAQ 明確說它提供初學者友善的環境,有大量文件與社群支援。介面分為工具列、程式編輯區、訊息區三塊,操作直覺。內建範例和程式庫管理員也降低入門門檻,你不需要先懂底層硬體就能開始寫程式。

07有經驗的開發者用它會不會不夠用?

官方說明提到它具備程式碼自動完成、語法標示、版本控制等功能,對一般開發足夠。但如果你需要進階的除錯、多平台專案管理,官方列出的替代方案如 PlatformIO IDE for VSCode 可能更適合。它定位是簡單直覺,進階需求可能要搭配其他工具。

08介面只有英文,看不懂怎麼辦?

這套軟體的介面語系是英文,沒有中文介面。官方說明沒有提到中文支援,所以如果你對英文介面不熟悉,可能需要花時間適應。不過操作流程相對固定,常用功能就那幾個,搭配線上教學應該能克服。

09有沒有其他更多人用的選擇?

資料中列出的功能相近軟體,如 VirtualBreadboard、Microsoft Windows SDK、Processing、Qt Creator、.NET Framework,評分人數都少於 Arduino IDE 的 1103 人。以評分人數來看,Arduino IDE 是目前最多人使用的選擇。但如果你需要特定功能,例如 Atmel Studio 的進階除錯,可以另外評估。

10Chromebook 能不能用這套軟體?

官方說明明確指出,桌面版 Arduino IDE 不相容於 Chrome OS。但如果你用 Chromebook,可以改用 Arduino Web Editor,它是在瀏覽器上運作的線上版本,可以把程式碼存在雲端。不過功能可能與桌面版有差異,需要自行確認是否符合需求。

11這套軟體還有在更新嗎?

根據版本紀錄,它從 2015 年開始收錄,最近一次更新在 2026 年,近 12 個月更新 4 次,近 24 個月 8 次,顯示開發團隊持續維護。官方說明也提到新的 arduino-builder、可插拔 USB 核心等功能,代表不是放著不管的專案。

下載與官方連結

前往官方網站 下載 Arduino

arduino-ide_2.3.0_Windows_64bit.exe · 連結指向軟體原廠

版本紀錄

再看 5 筆

看完整版本清單

這一版改了什麼

What's new in this version:

Added:
- Identify boards from manually installed platforms in "Select Other Board and Port" dialog tooltip
- Support .cc and .cxx extensions for sketch files
- Intellisense and validation for custom_debug.json
- Support direct modification of debugger's launch.json configuration file
- Show progress information in the status bar when Arduino CLI is running debug --info --programmer command
- Support selecting debug probe via "Tools > Programmer" menu
- Disable debug widget if unsupported by board
- Advanced preference to limit thread count of Arduino Language Server

Changed:
- Use new debug -I -P CLI output
- New debug_custom.json schema
- Update built-in example sketches to 1.10.1
- Update translation files
- Update Node.js dependency to 18
- Update electron dependency to 27.0.3
- Update Theia dependency to 1.41.0
- Update Arduino Language Server dependency to 0.7.6
- Update Arduino CLI dependency to 0.35.2
- Update vscode-arduino-tools dependency to 0.1.1

Fixed:
- Forward backend logging to electron
- Arduino state data not available to extensions after IDE startup
- "Configure and Upload" dialog not presented for uploads dependent on "user provided fields" after IDE startup
- Custom board option selection made in one window affects other windows as well
- "Start Debugging" button incorrectly disabled if board was pre-selected on IDE startup
- Board-dependent menus not populated if board was pre-selected on IDE startup
- Saving sketch fails silently when files are read-only
- IDE window doesn't open when started via sketch file association
- Subfolder structure of sketch lost after "Save As" operation
- Naming collision during "Save As" causes overwrite of secondary sketch file
- Previous selection remains in "Firmware Updater" and "Certificate Uploader" menu after no longer available
- Bundle native Arduino Firmware Uploader with Apple Silicon build

Security:
- Update electron to resolve CVE-2023-4863 and CVE-2023-39956
- Replace usage of shelljs package with fs and console
- Replace usage of uuid package with @phosphor/coreutils
- Update @babel/traverse to resolve CVE-2023-45133
- Update auth0-js to resolve CVE-2023-46233