# Arduino(待完成馬達教學)
## 硬體介紹
### 開發板

- [Arduino Uno R3](/3DU1TjHCSf20E9KvxjkNRA)
### 麵包板

- [麵包板](/ke3YPFLDQFWZ-LYJ8SSZxw)
### 線材1

- [杜邦線](/1UdSez3yQ9q1CU3aorUcKA)
### 線材2

- [Type-B 傳輸線](/tULIkZY4Q2WScM2tbkl3DA)
### 燈泡

- [LED](/fReuu6bOTUi-B_LgV0wK6g)
### 電阻

- [電阻](/stVlFSioTvae5CXtfglV6Q)
### 感測器1

- [HC-SR04 超聲波感測器](/zRY9pNQzQ7urbVXQVNfHAQ)
### 馬達1

- [TT 玩具馬達](/1h6cKwcrTQ-0ajMOYI4WIA)
### 馬達2

- [MG996R 伺服馬達](/6qKkKbhORB2bZSWSeVhOmQ)
### 模組1

- [HC-05 藍牙模組](/5b0RirhET2OrsWw2cS0-nQ)
### 模組2

- [TB6612FNG 直流馬達驅動板](/RJC8PeHWQlSHP2p9QWPVLg)
## 軟體介紹

- [Arduino IDE](/xZ1jlc_7TcSD4g7NcwZFqQ)
## Arduino紅綠燈實作
### 實作目標:使用三色LED做出紅綠燈。
#### 1.LED 實作(能控制燈號閃爍)
#### 接線圖:

#### 程式碼:
``` 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接線
#### 接線圖:

> 紅+ - 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)實作
### 實做目標:學習超音波感測器使用
#### 接線圖:

> 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)