---
# System prepended metadata

title: 實際教學週補充
tags: [DIT 11th 教學 -- 新生教學]

---

---
tags : DIT 11th 教學 -- 新生教學
---
# 實際教學週補充


以下是各位在實際來接線前，我們希望大家先思考的一些問題。大家可以先想一下、去查個資料，如果仍有疑問，再來詢問教學！

## debounce

假設我們想要讀取按鈕訊號的上升邊緣。

按按鈕時，理想的輸出訊號會長這樣：

![](https://i.imgur.com/KvCHTC0.png)


但實際上，因為按鈕的機械結構性質，在接點接觸及分離時，會有一斷不穩定的訊號。所以它的輸出訊號會長這樣：

![](https://i.imgur.com/jzXQQ9M.png)
_（沒有照比例。彈跳的次數會更多、頻率會更密集）_

雖然在Tinkercad模擬時不會有這個問題，但是在實際使用按鈕時，這就會導致程式**讀取到很多次上升邊緣**。我們可以在寫程式時利用一些技巧來解決這個問題，但是要怎麼寫才能**避免重覆讀到訊號邊緣**呢？


## 上拉電阻、下拉電阻

大家可能還是有疑問，為什麼按鈕一定要接地、也要接電，面且還要接一個電阻？如果直接讓按鈕經過開關、再接到5V的電，不行嗎？這就要提到**上拉電阻**及**下拉電阻**。

![](https://i.imgur.com/jrQeSsz.png)

我們在影片教學週中提到的按鈕接法就是下拉電阻的應用。

以下拉電阻為例，我們可以分成兩件事情來看：

1. 為什麼要接地？（提示：floating）
2. 為什麼要接電阻再接地？（提示：短路）

上拉電阻也是一樣的原理。

## 繼電器、馬達與電源

以同一個訊號控制、兩個一組的繼電器要控制馬達正反轉時，以下這兩種接法在理論上都是可行的。但只有其中一個接法是可以的，另一種很可能會導致**電池短路**。為什麼呢？

![](https://i.imgur.com/FXWUiTC.png)

另外，不同於Tinkercad上的繼電器是同時控制兩個開關，我們實際教學週的繼電器模組的兩個繼電器可以分別控制，所以也可以想想有沒有其它接法喔。