# 控制板與程式設計入門 ## 1. 關於Arduino Uno控制板 ![](https://i.imgur.com/JqBl8qs.jpg) ## 2. Arduino 程式基礎 :::success ### 2-1 setup和loop函式 Arduino程式都是由setup和loop所組成,而這兩者正式名稱為<span class=red>函式(funtion)</span>(函式就是一段程式碼的集合。)以下是最基本的Arduino程式: ```c= void setup(){ //函式名稱前面void代表沒有傳回值 函式名稱後面跟者小括號 } //函式監會空一行 void loop(){ //大括號必須成雙成對,"{"開始。"}"結束。 } ``` 控制板每次重啟會執行一次setup()大括號中的程式,然後再執行loop()內的程式。 * setup()作用為<span class=red>設定程式參數</span>,且setup()只會被執行一次 * loop()裡的程式敘述將被<span class=red>不停重複執行</span>,直到電源關閉為止。 ::: ## Arduino 程式可由五個部分組成 : :::success 1. 匯入函式庫與定義 (可有可無) #include <SoftEasyTranfer.h> #define LEDPIN 13; 2. 宣告常數與全域變數 (可有可無) const float PI=3.14159; int r; 3. 設定函式 (必要) void setup() {} 4. 無限迴圈 (必要) void loop() {} 5. 自訂函式 (可有可無) float area(float r) { float a=PI*r*r; return a; } ::: ## 資源 http://yhhuang1966.blogspot.com/2015/09/arduino_14.html ### 課本練習P.094 :::success 程式碼 ```C= /*step 1 宣告常數與變數ˋ*/ //設定可變電阻針腳編號 const int sensorPin =0; //設定led針腳編號 const int ledPin = 9; /*step 2 設定led為輸出模式*/ void setup() { // put your setup code here, to run once: pinMode(ledPin,OUTPUT); } /*無限迴圈*/ void loop() { // put your main code here, to run repeatedly: //讀取可變電阻針腳的值 int value = analogRead(sensorPin); //根據可變電阻值計算led亮度 //將0~1023輸入轉為0~255 int intensity = map(value,0,1023,0,255); //設定連接led的針腳 analogWrite(ledPin,intensity); } ``` 接線: https://wokwi.com/projects/374057790772794369 ::: <style> .red{ color:red; font-weight:bold; font-size:18px; } </style> <style> .green{ color:green; font-weight:bold; font-size:18px; } </style> <style> .meanful1{ background-color:#7CFFCB; color:#0A3200; } </style>