# Arduino(待完成馬達教學) ## 硬體介紹 ### 開發板 ![](https://i.imgur.com/HKvZz6u.png) - [Arduino Uno R3](/3DU1TjHCSf20E9KvxjkNRA) ### 麵包板 ![](https://i.imgur.com/svsuUDk.png) - [麵包板](/ke3YPFLDQFWZ-LYJ8SSZxw) ### 線材1 ![](https://i.imgur.com/rzGPdgB.png) - [杜邦線](/1UdSez3yQ9q1CU3aorUcKA) ### 線材2 ![](https://i.imgur.com/360ZruS.png) - [Type-B 傳輸線](/tULIkZY4Q2WScM2tbkl3DA) ### 燈泡 ![](https://i.imgur.com/7rCHDDL.png) - [LED](/fReuu6bOTUi-B_LgV0wK6g) ### 電阻 ![](https://i.imgur.com/zVlcJm6.png) - [電阻](/stVlFSioTvae5CXtfglV6Q) ### 感測器1 ![](https://i.imgur.com/97C1jq2.png) - [HC-SR04 超聲波感測器](/zRY9pNQzQ7urbVXQVNfHAQ) ### 馬達1 ![](https://i.imgur.com/MxzONoG.png) - [TT 玩具馬達](/1h6cKwcrTQ-0ajMOYI4WIA) ### 馬達2 ![](https://i.imgur.com/lU9LpTi.png) - [MG996R 伺服馬達](/6qKkKbhORB2bZSWSeVhOmQ) ### 模組1 ![](https://i.imgur.com/9JpT3IC.png) - [HC-05 藍牙模組](/5b0RirhET2OrsWw2cS0-nQ) ### 模組2 ![](https://i.imgur.com/PUJw1tp.png) - [TB6612FNG 直流馬達驅動板](/RJC8PeHWQlSHP2p9QWPVLg) ## 軟體介紹 ![](https://i.imgur.com/6XsDhAV.png) - [Arduino IDE](/xZ1jlc_7TcSD4g7NcwZFqQ) ## Arduino紅綠燈實作 ### 實作目標:使用三色LED做出紅綠燈。 #### 1.LED 實作(能控制燈號閃爍) #### 接線圖: ![](https://i.imgur.com/Xgkxrcw.png) #### 程式碼: ``` c void setup() { pinMode(8, OUTPUT); // 設定腳位8為輸出模式 } void loop() { digitalWrite(8, HIGH); // 數位腳位8開始供電 delay(1000); // 等待1秒 digitalWrite(8, LOW); // 數位腳位8停止供電 delay(1000); // 等待1秒(然後重新開始循環) } ``` #### 2.三色LED接線 #### 接線圖: ![](https://i.imgur.com/srZm9Dq.png) > 紅+ - 8 > > 紅- - GND > > 黃+ - 9 > > 黃- - GND > > 綠+ - 10 > > 綠- - GND > > 註: > * 長腳端為+;短腳端為- > * 長腳端需連接電阻 #### 程式碼: ``` c void setup() { pinMode(8, OUTPUT); pinMode(9, OUTPUT); pinMode(10,OUTPUT); } void loop() { digitalWrite(10, HIGH); delay(5000); digitalWrite(10, LOW); delay(500); digitalWrite(9, HIGH); delay(3000); digitalWrite(9, LOW); delay(500); digitalWrite(8, HIGH); delay(5000); digitalWrite(8, LOW); } ``` > 請嘗試增加燈泡/改變程式碼,設計成兩套燈號(十字路口)的模式 ## Arduino 超聲波感測器(HC-SR04)實作 ### 實做目標:學習超音波感測器使用 #### 接線圖: ![](https://i.imgur.com/LbSxsez.png) > Vcc - 5V > Trig - Pin 12 > Echo - Pin 11 > Gnd - GND #### 程式碼: ``` c int trigPin = 12; //定義 Trig Pin int echoPin = 11; //定義 Echo Pin long duration, cm, inches; void setup() { Serial.begin (9600); // 設定序列埠通訊頻率 pinMode(trigPin, OUTPUT); // 設定輸入及輸出 pinMode(echoPin, INPUT); } void loop() { digitalWrite(trigPin, LOW); delayMicroseconds(5); digitalWrite(trigPin, HIGH); // 給 Trig 高電位,持續 10微秒 delayMicroseconds(10); digitalWrite(trigPin, LOW); pinMode(echoPin, INPUT); // 讀取 Echo 的電位 duration = pulseIn(echoPin, HIGH); // 收到高電位時的時間 cm = (duration/2) / 29.1; // 將時間換算成距離 cm 或 inch inches = (duration/2) / 74; Serial.print("Distance : "); Serial.print(inches); Serial.print("in, "); Serial.print(cm); Serial.print("cm"); Serial.println(); delay(250); } ``` ## Arduino TT 玩具馬達實作 ### 實做目標:學習 TT 馬達使用(搭配DRV8833)