1. 點亮一個LED燈
點亮一個LED燈
板載LED的閃爍
C語言的第一個程序往往是"HellloWorld!",Arduino和單片機的第一個程序往往是點亮一個LED燈.
但是我完全不會誒?那要怎麼辦?沒關係啦,Arduino為我們提供了相當多的示範案例,你唯一需要的就是直接把案例上傳到板子就可以了.
按照上面的點擊你會得到下面的這樣一段代碼:
/* Blink Turns an LED on for one second, then off for one second, repeatedly. Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to the correct LED pin independent of which board is used. If you want to know what pin the on-board LED is connected to on your Arduino model, check the Technical Specs of your board at: https://www.arduino.cc/en/Main/Products modified 8 May 2014 by Scott Fitzgerald modified 2 Sep 2016 by Arturo Guadalupi modified 8 Sep 2016 by Colby Newman This example code is in the public domain. http://www.arduino.cc/en/Tutorial/Blink */ // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }
接著你只需要點擊向右的箭頭即可上傳到板子.是不是顯示"Serial port not selected."那是當然的啦,因為你還沒有插上板子嘛.
1. 依次點擊工具 --> 開發板 --> Arduino Genuino Uno
2. 依次點擊: 工具 --> 序列埠 --> COM3(每個人的COM口可能不一樣,你選擇自己的就好了)
3. 再一次點擊上傳,最後你就能看見板子上有一個燈每隔1s閃爍一次.
OK,大功告成,我們的第一個實驗已經成功了,讓板載的LED燈閃爍起來.下面我們立馬來做第二個實驗--點亮一個外部的LED燈.
什麼什麼,你這個代碼沒有看懂,好吧,沒關係,代碼中綠色的部分就是代碼的注釋你可以自己試著去讀一下試試看.如果依舊不懂,沒關係,因為我接下來馬上就會順帶一起講了.
點亮一個外部LED
1. 先讓這個燈亮起來
我們先來看一下點亮一個LED燈的電路圖
在這個地方為什麼要加上一個電阻呢?留給各位作為思考題!(嘗試是一種優秀的學習態度和品質,但是切記,前提是你能夠承擔失敗帶來的後果![手動狗頭])
現在我們只要將電源的正極使用板子的任意輸出腳位代替(我使用的是基督的最後一個門徒),負極使用板子的GND代替即可.接下來我們就開始寫代碼吧.
1 // 只會只會執行一次的程序,即程序啟動的時候執行的部分,相當於預定義 2 void setup() { 3 // 定義13腳為輸出腳 4 pinMode(13, OUTPUT); 5 } 6 7 // 程序的主循環,程序會不斷的循環執行部分 8 void loop() { 9 // 讓13腳輸出高電位,並維持1000ms[1s] 10 digitalWrite(13, HIGH); 11 }
這樣你就能看見外接的LED燈亮起了.
程式很簡單,我只做簡單的說明:
- 函數setup()會且只會在板子啟動的時候被執行,一般用於一些初始化的事情
- loop()函數是主函數[如果你疑問為什麼主函數不是main函數,那麼大可放心,因為實際上主函數還是main函數,只是其具體的實現被隱藏了起來了,這也就是你常聽說的封裝(這個封裝和元器件封裝有異曲同工之妙,但是不是同一個)]
- 其餘語句的作用我都已經給你寫在代碼當中了.
2. 讓這個燈閃爍起來
我們發現使用範例中的代LED燈會閃爍,可是我們自己寫的代碼不會閃爍,這可怎麼辦呢?很簡單,讓他亮1s,暗1s,亮1s如此循環即可.這樣的話我們需要一個延時函數,通過範例我們我們既可以模仿單片機自己寫一個,但是Arduino已經幫我們實現了延時函數,也就是delay函數.所以我們直接調用就可以了.那麼加上延時函數之後代碼變為:
// 第一個程序,點亮一個LED燈 // 只會只會執行一次的程序,即程序啟動的時候執行的部分,相當於預定義 void setup() { // 定義13腳為輸出腳 pinMode(13, OUTPUT); } // 程序的主循環,程序會不斷的循環執行部分 void loop() { // 讓13腳輸出高電位,並維持1000ms[1s] digitalWrite(13, HIGH); delay(1000); // 讓13腳輸出低電位,並維持1000ms digitalWrite(13, LOW); delay(1000); }
好吧,今天的任務就是這麼簡單.讓我們愉快的進入下一章吧.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· Ollama——大语言模型本地部署的极速利器
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· Windows编程----内核对象竟然如此简单?
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用