---
# System prepended metadata

title: Raspberry pi 讀取旋轉編碼器 rotary encoder

---

# Raspberry pi 讀取旋轉編碼器 rotary encoder

### 硬體規格 與 code功能
硬體規格: rotary (model: E38S6G5-1000B-G24N)
執行電腦系統: Raspberry pi - Ubuntu
code功能: 計算編碼器**旋轉方向**與**總count數(轉完一圈counter = 4000)**



### raspberry pi 硬體接線
#### encoder
紅線-VCC: 5V（物理引腳2或4）
黑線-0V:  GND（物理引腳6）
白線-A相: GPIO17（物理引腳11）
綠線-B相: GPIO27（物理引腳13）
屏蔽線-GND: 目前還沒接

![Screenshot from 2024-08-10 12-54-46](https://hackmd.io/_uploads/Skbnf_49R.png =70%x)
![044bbc3d-ae97-49ca-aa62-cfc8d57470c4](https://hackmd.io/_uploads/B1eOWQO4cR.jpg =70%x)
![image](https://hackmd.io/_uploads/BJl2lHC3YR.png =90%x)
![image](https://hackmd.io/_uploads/ryMULCnKR.png =70%x)


### encoder_test
1. 建立檔案
    ```
    touch encoder_test.py
    ```
2. 編輯檔案 (https://github.com/MEmma1227/Joystick/blob/main/encoder/encoder_test.py)
    ```
    nano encoder_test.py
    ```
    Save / Exit
    ```
    Ctrl + O , Enter / Ctrl + X
    ```
3. 使檔案具有執行權限
    ```
    chmod +x encoder_test.py
    ```
4. 執行 encoder_test.py
    ```
    python encoder_test.py
    ```


![Screenshot from 2024-08-09 22-08-22](https://hackmd.io/_uploads/SkvPvhQ5C.png)
