資料介紹
PCB圖如下:
?
成分
604-WP56BID LED PTH 紅色閃爍 LED 625nm,40 mcd 金布萊特 |
× 1 |
電阻 220 0603 國巨 |
× 1 |
標頭男 | × 1 |
A000066 阿杜諾 |
× 1 |
NodeMCU-32S Lua WiFi物聯網開發板 | × 1 |
描述
Diy 錯誤指示 LED 板
如何調試您的 Arduino 項目
過去編寫過代碼的任何人都可以告訴您,它通常不會像最初預期的那樣工作。事實上,在編寫代碼時,調試是創作過程中必不可少的一部分。但是,Arduino 調試可能會稍微復雜一些。原因之一是 Arduino 沒有提供自定義調試工具。
開始你的電路>>
大多數程序將使用調試器來幫助程序員定位錯誤并解決它們。然而 Arduino 沒有這樣的調試系統。Arduino 調試是管理 Arduino 項目中更具挑戰性的任務之一。與大多數其他 IDE 不同,Arduino IDE 上沒有官方的 Arduino 調試功能。許多用戶對沒有專用的 Arduino 調試工具感到驚訝。
在 Arduino 上,一旦您運行程序,您將無法看到設備內部發生了什么以及您的代碼是如何運行的。您獲得的唯一幫助是串行監視器上的消息或 LED 顯示屏。尤其是當其他 IDE 通常具有利用斷點、步驟、調用堆棧、監視、本地/全局變量和其他組件來仔細檢查代碼的調試工具時。
但是,調試 Arduino 代碼與在 PC 上調試代碼不同。兩者在接觸方式上非常不同。其主要原因是 Arduino 代碼通常用于控制物理輸出或接收到/來自現實世界的物理輸入,并且調試過程必須考慮到這些。
在實踐中,這意味著 Arduino 開發人員經常不得不探索替代方法和工具來調試他們的代碼。在這篇文章中,我們將分解從 Arduino 代碼調試到使用模擬器調試 Arduino 的所有內容。這將為您提供生成有效代碼所需的所有信息。
設計
在創建 Arduino 項目時,項目的整體設計非常重要。從您開始為項目選擇組件的那一刻起,您就需要清楚地了解您的最終產品。
例如,如果您想設計一個在 Arduino 板上運行并點亮 LED 的草圖,您需要在項目的設計階段提供基礎。您的草圖和電路的整體設計將決定您完成的項目的外觀。
建造
就構建項目而言,這是您真正賦予電路生命的地方。“構建過程”是 Arduino IDE 將您的 C++ 草圖編譯成機器代碼的地方,然后直接上傳到您的 Arduino 板。
Circuito.io 代碼
你從 circuito.io 得到的代碼實際上是一個沒有任何邏輯的測試代碼。此測試代碼用于檢查您的所有組件是否正確接線并正常運行。這有助于檢查您的硬件設置是否存在故障。circuito.io 還為您選擇的所有不同組件提供代碼庫。如果您的測試代碼失敗,那么您知道您需要開始調試過程。
第 1 步:檢查您的硬件
如上所述,如果您的 circuito.io 代碼不起作用,那么您的硬件很可能有問題。這意味著您需要開始硬件調試。
以下是硬件問題的一些基本故障排除步驟:
檢查接線 - 為電路接線時,您應該做的第一件事是檢查您是否正確連接了所有東西。如果您將跳線放置在 Arduino 的錯誤引腳中,或者面包板上的位置錯誤,您的程序將無法與組件交互。仔細檢查所有組件和電線,以確保一切都安全到位。如果您有一個復雜的電路,有時最好從頭開始,一次測試每個組件以消除問題。
檢查焊接 - 如果您的某些部件在設置過程中需要焊接,請確保正確焊接它們。焊接不良的部件是技術故障的最常見原因之一。如果你不能告訴,重新焊接它。
檢查電源 - 如果您的電路仍有問題,您需要檢查電源。使用萬用表,您可以檢查 2 件事:
第二步:代碼調試
如果您的測試代碼有效,那么是時候編寫您自己的代碼了。在編寫自己的 Arduino 代碼時,您應該遵循一些基本規則和最佳實踐。按照下面的說明,如果您稍后需要調試它,您將有一個更輕松的時間:
以小塊編寫代碼并測試它們中的每一個。
為變量和函數提供有意義的名稱
使用函數
使用常量而不是數字
寫評論以解釋編碼選擇以供將來參考
確保您的代碼具有適當的縮進并始終保持可讀性。您可以使用 Alt-t 自動縮進整個草圖。
如果您在嘗試編譯或上傳代碼到您的開發板時遇到編譯錯誤,請檢查語法、拼寫錯誤等錯誤。使用正確的語法對于確保您的代碼編譯至關重要。當編譯失敗時,IDE 將在其底部顯示錯誤。但是,Arduino IDE 生成的錯誤消息的描述有限,因此并不總是很有幫助。
如果您了解錯誤消息的含義,請嘗試修復它指示的問題并再次編譯。這是一種方便的 Arduino 故障排除形式。
但是,如果您解決了 IDE 中列出的錯誤并且草圖仍然無法編譯,那么最好使用 Google 搜索問題的解決方案。
常見的語法錯誤是:
失蹤 ; 在每一行的末尾
括號錯位或丟失 { }
未定義的變量和函數
Arduino 擁有一個大型開源社區,其中包含大量 Arduino 故障排除指南,可幫助您識別代碼問題。一旦你解決了問題并且你的代碼可以工作,點擊運行。
運行代碼
如果您的代碼編譯并成功上傳到開發板,但沒有按預期運行,您需要開始調試。
串行監視器
如上所述,如果在嘗試運行草圖時代碼失敗,則需要開始調試代碼。首先,考慮并定義要打印的參數并使用串行監視器在屏幕上進行監視(您可以在此處學習串行打印的基礎知識)。目的是打印程序當前狀態的概述。像這樣:
變量
輸入——傳感器讀數
指示程序流程的打印,例如在“if”語句中查看是否滿足條件
輸出——例如在將它們寫入引腳之前的 PWM 值
任何您認為重要的要打印到屏幕上的東西
手動檢查您的代碼
評估代碼質量和檢查錯誤的一種好方法是手動檢查代碼。您可以通過以下方式做到這一點:
從頭開始編寫代碼并將其分解以查看您是否在此過程中犯了任何錯誤(最常見的是語法錯誤)。
重新審視你的設計并詢問你的主要邏輯是什么。用文字把它寫下來,然后看看你的代碼語句是否回答了這個問題。有時當我們深入編程時,我們會犯錯誤,專注于小細節而忽略了項目的整體方向。在這種狀態下,很容易與最初的想法失去聯系。
查看您的代碼并添加注釋(盡可能多地)向自己解釋您正在嘗試做什么。
第三步:使用外部軟件調試工具
如果您手動檢查代碼但仍然找不到問題,那么是時候使用高級調試工具了。許多 IDE 都有自己的板載調試工具,而 Arduino 沒有。但是,您可以使用許多外部工具來確保您的代碼正確運行。如果您需要高級調試和仿真選項,可以考慮以下一些最佳工具:
視覺微
Visual micro 是一個可通過 Microsoft Visual Studio 獲得的插件,用于在 Arduino 上創建跨平臺程序。在 Visual Micro 中創建的任何符合 Arduino 的代碼都將被接受。Visual Micro 非常適合協作團隊調試 Arduino,因為它支持共享代碼和庫編輯。可以跨不同平臺創建代碼,并在整個構建過程中與程序代碼結合。Visual Micro 還提供 GDB 調試和串行、藍牙和 Wifi 調試。
愛特梅爾工作室
Atmel Studio IDE 是一款免費軟件,它提供有競爭力的調試工具來幫助解決代碼錯誤。通過 Atmel Studio,可以開發、編譯并上傳項目到相關的微處理器。與 Arduino IDE 一樣,Atmel Studio 的 IDE 使用相同的代碼,這意味著您無需學習新的編程語言即可使用它。Atmel 對于開源社區非常通用,并支持 .ino 草圖和 C++ 源代碼。Atmel Studio 還使用 DebugWire 或 JTAG 提供了非常好的調試功能。
調試線
DebugWire 是 Atmel 的一種協議,用于在沒有 JTAG 的情況下調試許多 ATtiny(例如 ATtiny 13、85)和 ATmegas(例如 ATmega48/88/168/328),僅通過復位引腳。Atmel 沒有記錄 DebugWire 協議,但有些人對協議的大部分進行了逆向工程,并且能夠構建一些簡單的調試器。通過使用 debugWIRE,可以對所有內存進行完全讀寫訪問,并完全控制執行流程。它支持單步、運行到光標、步出和軟件中斷指令。
第 4 步:使用 Arduino 模擬器和仿真器
可用于監控和調試的更多工具是 Arduino 仿真器和模擬器。Arduino 模擬器讓專家和愛好者比以往任何時候都更容易對他們的想法進行編程和測試,直到他們高效運行。硬件模擬是一個復雜的過程,雖然在行業中有用于硬件調試的驚人工具,但這些工具對于制造商和愛好者來說非常有限。
但是,模擬器和仿真器仍然在 Arduino 用戶的調試工具包中占有一席之地。Arduino 模擬器支持線對線調試,允許用戶查看他們的代碼并確定哪里出錯了。以下是使用模擬器的一些優點:
調試
如上所述,模擬器非常適合調試 Arduino,無論是在語法錯誤還是功能錯誤方面。使模擬器適合調試的原因在于您可以編寫代碼并創建電子電路來測試代碼的完整性。一些模擬器將為您提供有限的硬件庫以供您測試,而其他模擬器則允許您開發復雜的虛擬環境。今天,您甚至可以使用模擬器以 3D 形式渲染您的項目。
模擬器提供的最大優勢之一是透明度。運行模擬時,您可以準確了解代碼的工作方式并確定可以改進的方法。這使您可以運行新代碼而不必擔心損壞您的電路板或設備。
與 IDE 和硬件設置相比,模擬器允許用戶糾正功能性編程錯誤。如果沒有模擬器,您只能解決代碼中的非功能性技術錯誤,例如語法錯誤。這使得模擬器成為新用戶的理想選擇,這些用戶在獲得成品之前需要經歷大量的試驗和錯誤。通過模擬器測試代碼可確保硬件保持運行,從而節省時間和金錢。
繪圖和記錄
模擬器不僅允許您測試代碼的運行方式,還允許您記錄和繪制生成的數據。您可以記下您的編程數據并將其繪制在 Excel 等外部程序上。在您的程序和其他設備上記錄數據有助于開發有助于改進編碼的見解。
實驗
在實驗方面,模擬器和仿真器也很難被擊敗。如果沒有模擬器,用戶只能根據他們的理論知識創建代碼,并且嘗試新代碼和新組件的機會有限(尤其是當錯誤導致硬件損壞時)。使用模擬器,您可以在虛擬環境中測試代碼并嘗試新想法,而不必擔心最終結果。
測試新組件
同樣,模擬器為您提供了一種在您扣動扳機并進行購買之前測試組件的方法。通過這種方式,您可以查看某個部分是否對您的項目有用,并練習將其集成到您的整體環境中。這樣可以確保您不會浪費金錢購買幾乎沒有用的零件。
為電子電路創建藍圖
在構建電子電路時,您可以使用模擬器來設計、構建和預覽原理圖。這減少了需要手動繪制電子電路藍圖的大量繁瑣工作,從而節省了您的時間。此外,它還確保末端電路設計得到充分優化。
流行模擬器
1. Tinkercad 上的電子實驗室(以前稱為circuits.io)
Circuits.io 平臺使用戶可以輕松地通過電路模擬器模擬真實世界的電子設備。該在線模擬器允許用戶拖入 Arduino 板并開始編程。它還為用戶提供電路圖制作器、萬用表測量工具和示波器。這個 Arduino 模擬器允許您從頭開始構建您的設計,同時使您能夠對整個電路的電源進行精確測量。
2.虛擬面包板
Virtual Breadboard 已成為當今最強大、最先進的 Arduino 模擬器之一。Virtual Breadboard 在電子電路行業中得到了發展,如今可以模擬 Arduino 設備、Netduino 和 PIC 微控制器。在啟動時,用戶可以訪問一個完整的虛擬開發環境,他們可以在其中直接對 Arduino 板進行編程。還值得注意的是,它也可以充當 AVR 模擬器。
調試 Arduino 并不困難
當您開始使用 Arduino 時,調試似乎是一個復雜的過程,但如果您將其分解為多個步驟,您可能能夠克服這些問題并在此過程中學到很多東西。
正如您在本指南中看到的那樣,有多種外部工具可以幫助您,但最好的調試方法是反復試驗,在此過程中識別故障并隨時修復它們。
另一種可以幫助您減少遇到的錯誤數量的方法是嚴格使用語法。這將確保在調試代碼時,您不必篩選在編寫過程中可能已消除的語法錯誤。
與帶有板載調試器的 IDE 相比,調試 Arduino 可能非常不方便。如果您在將代碼放入第三方調試器之前對其進行測試、編譯和運行,您將能夠順利生成高質量的代碼。同樣,如果您迷路了,這里有一個充滿活力的開源社區可以提供幫助。
代碼
代碼
arduino_mega-code.ino
代碼 2
nodemcu-code.ino
?
?
- DIY LED消防燈
- 鴻利光顯科技 LED指示燈 HL-PST-1608S22OC數據手冊
- 鴻利光顯科技 LED指示燈 HL-PST-1608H233WB數據手冊
- DIY ARDUINO UNO板
- 大馳海爾WiFi板帶7段LED指示燈REV7
- DIY LED燈光徽章
- DIY智能模塊化LED燈板
- ADP8866控制背光照明和LED指示燈的設置資料下載
- DIY LC洞洞板PCB畫圖軟件免費下載 63次下載
- 品管手提燈帶電量指示10W-234LED帶電量指示光伏LED控制板資料說明 0次下載
- 如何自己DIY制作一個印制電路板 0次下載
- Diy layout Creater最新漢化版免費下載(洞洞板板上畫PCB的專業工具) 0次下載
- 膽機DIY發燒友所犯錯誤手記 0次下載
- FPGA開發板DIY腳本文件 73次下載
- CANopen指示燈規范
- 一文讀懂CAN通訊錯誤幀 2060次閱讀
- 一文讀懂CAN控制器錯誤處理的原理 1278次閱讀
- DIY個人的Linux開發板教程 1368次閱讀
- 溫度記錄儀LED指示燈電路原理圖 698次閱讀
- 三菱PLC指示燈的含義,如何根據指示燈判斷PLC故障 2.4w次閱讀
- DIY一個12V的電壓指示燈 6823次閱讀
- 220V AC電源LED指示燈電路圖 1.1w次閱讀
- LED溫度指示器電路圖分析 2109次閱讀
- 采用LM324制作的LED電平指示器電路設計 1.2w次閱讀
- LED指示燈發生虛亮的原因及解決方法 3w次閱讀
- LED電平指示驅動集成電路 6944次閱讀
- LED電源指示燈電路 1.9w次閱讀
- LED指示燈應用設計和選擇,搞懂其實并不難 1.7w次閱讀
- 簡單DIY印制電路板設計制作過程 4.9w次閱讀
- led指示燈電路圖大全(八款led指示燈電路設計原理圖詳解) 25.8w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多