實(shí)訓(xùn)隨筆記錄

經(jīng)過四周的實(shí)訓(xùn)課,不同的內(nèi)容讓我們收獲了很多。

實(shí)訓(xùn)一:blink程序命令

一、實(shí)訓(xùn)流程

1.硬件搭建:將LED的長(zhǎng)引腳(正極)通過限流電阻連接到Arduino開發(fā)板的數(shù)字引腳(如D13),短引腳(負(fù)極)連接到開發(fā)板的GND(接地)引腳 。電阻起到限制電流的作用,防止LED因電流過大而損壞。

2.軟件準(zhǔn)備:安裝Arduino IDE編程軟件。在軟件中進(jìn)行開發(fā)板和端口的選擇,確保電腦正確識(shí)別Arduino開發(fā)板。

3.編寫代碼:在Arduino IDE中編寫B(tài)link程序代碼?;敬a如下: void setup() {? pinMode(13, OUTPUT);? // 將數(shù)字引腳13設(shè)置為輸出模式}void loop() {? digitalWrite(13, HIGH); // 點(diǎn)亮LED? delay(1000);? ? ? ? ? ? // 延遲1000毫秒? digitalWrite(13, LOW);? // 熄滅LED? delay(1000);? ? ? ? ? ? // 延遲1000毫秒}

4.上傳代碼:點(diǎn)擊Arduino IDE中的上傳按鈕,將編寫好的代碼上傳到Arduino開發(fā)板中。上傳成功后,開發(fā)板上的RX和TX指示燈會(huì)閃爍。

5.觀察現(xiàn)象:代碼上傳完成后,觀察連接在開發(fā)板上的LED。正常情況下,LED會(huì)以1秒亮、1秒滅的頻率閃爍。

二、實(shí)訓(xùn)中出現(xiàn)的問題及解決方法

1. LED不亮- 原因:硬件連接錯(cuò)誤,如LED正負(fù)極接反、引腳連接錯(cuò)誤;代碼中引腳設(shè)置錯(cuò)誤;Arduino開發(fā)板未正常供電。

? ? ? ? ? ? ? ? ? - 解決方法:檢查硬件連接,確認(rèn)LED正負(fù)極及引腳連接正確;核對(duì)代碼中設(shè)置的引腳與實(shí)際硬件連接是否一致;檢查Arduino開發(fā)板的供電情況,確保供電正常。

2. LED閃爍頻率異常- 原因:代碼中delay函數(shù)設(shè)置的延遲時(shí)間錯(cuò)誤。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - 解決方法:檢查delay函數(shù)中的參數(shù),根據(jù)期望的閃爍頻率進(jìn)行調(diào)整。例如,如果希望LED快速閃爍,可以減小delay函數(shù)中的參數(shù)值。

3. 上傳失敗- 原因:開發(fā)板選擇錯(cuò)誤、端口選擇錯(cuò)誤、電腦驅(qū)動(dòng)問題、代碼錯(cuò)誤。

? ? ? ? ? ? ? ? ? -解決方法:在Arduino IDE中重新選擇正確的開發(fā)板和端口;更新或重新安裝Arduino開發(fā)板的驅(qū)動(dòng)程序;檢查代碼是否存在語法錯(cuò)誤或邏輯錯(cuò)誤。

三、學(xué)習(xí)收獲

1.硬件知識(shí):了解了電子元件(如LED、電阻)的基本特性和使用方法,掌握了Arduino開發(fā)板的引腳功能及硬件連接方式,明白了電路中電流、電壓和電阻之間的關(guān)系。

2.編程知識(shí):學(xué)會(huì)使用Arduino IDE進(jìn)行簡(jiǎn)單的C/C++編程,理解了setup函數(shù)和loop函數(shù)的作用及執(zhí)行順序,掌握了數(shù)字輸入輸出函數(shù)(如pinMode、digitalWrite)和延時(shí)函數(shù)(delay)的使用方法。

3.問題解決能力:在實(shí)訓(xùn)過程中遇到各種問題,通過查閱資料、分析錯(cuò)誤原因、不斷嘗試不同的解決方法,提高了自己獨(dú)立思考和解決問題的能力。

4.工程思維:明白了一個(gè)完整的工程項(xiàng)目從硬件設(shè)計(jì)、軟件編程到調(diào)試優(yōu)化的流程,培養(yǎng)了嚴(yán)謹(jǐn)、細(xì)致的工程思維習(xí)慣 ,為今后學(xué)習(xí)更復(fù)雜的知識(shí)和技術(shù)打下基礎(chǔ)。

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (蘇賢撰寫)

實(shí)訓(xùn)二:永不消逝的電波

⒈理論學(xué)習(xí):圍繞著主題“永不消逝的電波”學(xué)習(xí)了摩斯密碼的發(fā)明背景,編碼規(guī)則以及應(yīng)用領(lǐng)域;認(rèn)識(shí)了LED燈的構(gòu)造原理,電阻的基本知識(shí),面包板的構(gòu)造和連接方法。

發(fā)光二極管


⒉實(shí)踐操作:小組合作利用Arduino開發(fā)板、LED燈和電阻等元件,按照指導(dǎo)搭建了一個(gè)簡(jiǎn)單的電路,用于發(fā)送摩斯密碼中的SOS求救信號(hào)。通過編寫和上傳程序代碼,成功實(shí)現(xiàn)了LED燈的閃爍,模擬了摩斯密碼的發(fā)送過程。在掌握了基本的原理后,開始將一些有趣的內(nèi)容通過摩斯密碼和LED燈的閃爍頻率表達(dá)出來,并成功破譯了其他小組的摩斯密碼內(nèi)容。

摩斯密碼


SOS程序代碼

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (馬羽彤撰寫)

實(shí)訓(xùn)三:設(shè)計(jì)炫酷流水燈

一、實(shí)訓(xùn)流程

1. 需求分析與設(shè)計(jì)階段? - 明確項(xiàng)目目標(biāo):通過LED燈閃爍來傳遞摩斯密碼信息

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - 設(shè)計(jì)系統(tǒng)架構(gòu):輸入系統(tǒng)、編碼系統(tǒng)、LED輸出系統(tǒng)? - 確定摩斯密碼編碼規(guī)則(點(diǎn)、劃、間隔時(shí)間)

2. 硬件準(zhǔn)備

Arduino開發(fā)板 , LED燈及電阻 ,面包板和連接線? ,可選:按鈕或傳感器作為輸入設(shè)備

3. 系統(tǒng)集成與測(cè)試

- 連接硬件電路

- 上傳程序到開發(fā)板

- 測(cè)試不同字符串的摩斯編碼輸出

- 調(diào)整時(shí)間參數(shù)優(yōu)化可讀性實(shí)訓(xùn)中出現(xiàn)的問題及解決方案

1. LED閃爍時(shí)間不準(zhǔn)確? - 問題:點(diǎn)劃持續(xù)時(shí)間不一致,影響解碼

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? - 解決:使用millis()函數(shù)替代delay()實(shí)現(xiàn)非阻塞時(shí)間控制

2. 電路連接不穩(wěn)定? - 問題:LED時(shí)亮?xí)r不亮,接觸不良

? ? ? ? ? ? ? ? ? ? ? ? ? ? - 解決:檢查并重新固定所有連接,添加適當(dāng)電阻保護(hù)LED? - 硬件改進(jìn):使用焊接替代面包板連接提高穩(wěn)定性

二、學(xué)習(xí)收獲

1. 嵌入式系統(tǒng)開發(fā)技能

- 掌握了LED與微控制器的接口技術(shù)

- 學(xué)會(huì)了非阻塞式編程方法處理時(shí)間敏感任務(wù)

2. 算法設(shè)計(jì)能力:實(shí)現(xiàn)了從字符到摩斯碼的高效轉(zhuǎn)換算法 ,理解了編碼表數(shù)據(jù)結(jié)構(gòu)的設(shè)計(jì)與優(yōu)化

3. 問題解決能力? - 通過調(diào)試解決了硬件連接和時(shí)序控制問題? - 學(xué)會(huì)了系統(tǒng)化測(cè)試方法(單元測(cè)試→集成測(cè)試)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (董晨陽撰寫)

實(shí)訓(xùn)四 :讓Arduino轉(zhuǎn)起來

一、實(shí)訓(xùn)中出現(xiàn)的問題及解決方法

1. 舵機(jī)不轉(zhuǎn)動(dòng):可能是控制線連接錯(cuò)誤或代碼中引腳設(shè)置錯(cuò)誤。檢查舵機(jī)控制線連接,確保棕色線接GND、紅線接5V、橙色線接正確數(shù)字口(如代碼中的9腳);仔細(xì)核對(duì)代碼中attach函數(shù)設(shè)置的引腳是否與實(shí)際連接一致。

2. 舵機(jī)角度控制不準(zhǔn)確:可能是電位器值轉(zhuǎn)換錯(cuò)誤或舵機(jī)本身精度問題。檢查map函數(shù)的參數(shù)設(shè)置是否正確,確保能將電位器的0 - 1023值準(zhǔn)確轉(zhuǎn)換為舵機(jī)合適的角度范圍;若舵機(jī)本身精度不足,可考慮更換更高精度的舵機(jī)。

二、從中學(xué)到的知識(shí)與技能

1. 硬件知識(shí):深入了解了舵機(jī)的結(jié)構(gòu)、工作原理和應(yīng)用場(chǎng)景,以及電位器作為輸入設(shè)備的使用方法,學(xué)會(huì)正確連接硬件電路。

2. 編程技能:掌握了Arduino中Servo庫(kù)的使用,包括舵機(jī)對(duì)象創(chuàng)建、接口設(shè)定、角度控制等函數(shù)的運(yùn)用,學(xué)會(huì)使用analogRead函數(shù)讀取模擬值,以及map函數(shù)進(jìn)行數(shù)值轉(zhuǎn)換,提升了編程控制硬件的能力。

實(shí)物圖

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (緒永鑫撰寫)

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (緒永鑫整理匯總)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容