---
tags : DIT 11th 教學 -- STM
---
數位示波器 (Digital Oscilloscope)
===
# 基本介紹
示波器是一種能夠顯示電壓訊號動態波形的電子測量儀器。它能夠將時變的電壓訊號,轉換為時間域上的曲線,原來不可見的電氣訊號,就此轉換為在二維平面上直觀可見光訊號,因此能夠分析電氣訊號的時域性質。更進階的示波器,甚至能夠對輸入的時間訊號,進行頻譜分析,反映輸入訊號的頻域特性。 (From 維基百科)
> 白話文 : 可以檢測並顯示工作週期的儀器。

## 常用功能介紹
1. 設定通道 ( 這一台有兩路,記得檢查你正在使用哪一路 ! )
2. 調整顯示的刻度
3. 進行單次觸發的擷取
4. 進行自動設定 ( 經常使用 )
:::success
:::spoiler 小知識
>

這台儀器也可以當作三用電表使用,不過我們通常不會這樣使用。
:::
# Demo
我使用一塊 Arduino Uno 進行演示,使用的程式如下。
```cpp=
#include <Arduino.h>
#include <Servo.h>
Servo servo;
void setup() {
servo.attach(9);
}
void loop() {
servo.write(90);
delay(1000);
}
```
---
經過檢測可以得知,利用 Arduino 裡面的函示庫 Servo.h 控制伺服馬達至角度 90 度,結果為 :
- Duty-Cycle : 7.36 %
- 頻率 : 50 Hz

由 ```50 Hz``` 算出 Period 為 ```1 / 50 = 0.02s = 20ms```,
所以可以算出其單一 Pulse 為 ```20 * 0.0736 = 1.472ms```。
再回來看看 Data sheet 裡面寫的,如果要控制 Servo 至 90 度需要 Period 20 ms / Pulse 1.5 ms 的波,與實測出來的結果差不多。

所以如果要自己生成 PWM 波控制伺服馬達,只要生成上述條件的波即可。