# 基礎功能

# 礎硬體能

## 按鍵

``` python
from Cocopi import BUTTON
```

### 初始化

``` python
BUTTON(gpioid)
```

### 參數說明
| 參數 | 值 |描述 |
| :--- | :--- | :--- |
| gpioid | 數位 | 按鍵對應的引腳，必填，按鍵A引腳為14，按鍵B引腳為8，按鍵C引腳為13，按鍵D引腳為7。 |

會返回一個BUTTON，後續的操作都是BUTTON物件的操作

### 判斷是否按下

``` python
BUTTON.is_pressed()
```

### 樣例

``` python
from CocoPi import BUTTON

key_A = BUTTON(14)
key_B = BUTTON(8)
key_C = BUTTON(13)
key_D = BUTTON(7)

while True:
    time.sleep(1)
    if key_A.is_pressed():
        print('A被按下')
    elif key_B.is_pressed():
        print('B被按下')
    elif key_C.is_pressed():
        print('C被按下')
    elif key_D.is_pressed():
        print('D被按下')
    else:
        print("沒有按鍵被按下")
```

## 溫溼度

```python
from CocoPi import AHT20
```

### 初始化

```python
AHT20()
```

### 獲取溫度

```python
get_temperature()
```

### 獲取溼度

```python
get_humidity()
```

### 樣例

```python
from CocoPi import AHT20

tah = AHT20() # 初始化
while True:
    print(tah.get_temperature()) # 獲取溫度
    print(tah.get_humidity()) # 獲取溼度
    time.sleep(1)
```
## 光照

```python
from CocoPi import LIGHTINTENSITY
```

### 初始化

```python
LIGHTINTENSITY()
```

### 獲取光照強度

```python
value()
```

### 樣例

```python
from CocoPi import LIGHTINTENSITY

light = LIGHTINTENSITY() # 初始化
while True:
    print(light.value()) # 獲取光照強度
    time.sleep(1)
```
## 陀螺儀

```python
from cocopiPython import Gyroscope
```

### 初始化

```python
Gyroscope()
```

### 獲取加速度

```python
get_acceleration(axis)
```

### 參數說明

| 參數 | 值 |描述 |
| :--- | :--- | :--- |
| axis | 字串 | 表示三維空間中的方向，必填，"x"表示X軸，"y"表示Y軸，"z"表示Z軸。 |


### 獲取傾斜角度

```python
get_tiltangle(axis)
```

### 參數說明

| 參數 | 值 |描述 |
| :--- | :--- | :--- |
| axis | 字串 | 轉動的方向，必填，"x"表示X軸，"y"表示Y軸。 |

### 樣例

```python
from cocopiPython import Gyroscope
import time

Gyroscope = Gyroscope()
while True:
    print("加速度X："+str(Gyroscope.getAcceleration("x")))
    print("加速度Y："+str(Gyroscope.getAcceleration("y")))
    print("加速度Z："+str(Gyroscope.getAcceleration("z")))
    print("傾斜角度X："+str(Gyroscope.getAngularVelocity("x")))
    print("傾斜角度Y："+str(Gyroscope.getAngularVelocity("y")))
    time.sleep(1)
```
## 板載LED燈

``` python
from CocoPi import LED
```

### 初始化

``` python
LED = LED()
```

### 開關控制

``` python
LED.out(vaule)
```

### 參數說明
| 參數 | 值 |描述 |
| :--- | :--- | :--- |
| value | 數位 | 點亮和熄滅控制，必填，1表示點亮，0表示熄滅。 |



### 樣例

``` python
from CocoPi import LED
import time

LED = LED() # 初始化
while True:
    LED.out(1) # 點亮
    time.sleep(1)
    LED.out(0) # 熄滅
    time.sleep(1)
```
## 錄音

```python
from cocopiPython import Record
```

### 初始化

```python
Record()
```

### 開始錄製

```python
start(time,path = "/root/user/audio/record.wav")
```

### 參數說明
|參數|值|描述|
|:---|:---|:---|
|time|數位|錄製時間，必填|
|path|字串|保存路徑，選填，默認爲/root/user/audio/record.wav|

### 停止錄製

```python
stop()
```

### 樣例

```python
from cocopiPython import Record

Record = Record() # 錄製初始化

print("錄音開始")

Record.start(4) # 開始錄製

print("錄音結束")
```

## 音頻播放

```python
from cocopiPython import AudioPlay
```

### 初始化

```python
AudioPlay()
```

### 讀取文件

```python
play_file(path)
```

### 參數說明
|參數|值|描述|
|:---|:---|:---|
|path|字串|音訊檔的路徑，必填|

### 設置音量

```python
setVolume(volume)
```

### 參數說明
|參數|值|描述|
|:---|:---|:---|
|volume|數位|音量，0～100，必填|

### 開始播放

```python
play()
```
注意，需要放到循環中才能聽到
### 結束播放

```python
stop()
```

### 樣例

```python
from cocopiPython import AudioPlay

audio = AudioPlay() # 播放初始化
audio.setVolume(100) # 設置音量
audio.play_file("/root/user/audio/record.wav") # 音頻文件
while True:
    audio.play() # 播放
```
## 視頻播放

```python
from cocopiPython import VideoPlay
```

### 初始化

```python
VideoPlay()
```

### 讀獲取視頻文件

```python
setVideoPath(path)
```

### 參數說明
|參數|值|描述|
|:---|:---|:---|
|path|字串|保存路徑，必填|

### 播放幀

```python
start(i)
```

### 參數說明
|參數|值|描述|
|:---|:---|:---|
|i|視頻幀|視頻文件的視頻幀，必填|


### 樣例

```python
from cocopiPython import VideoPlay

video = VideoPlay()
while True:
    print("start")
    for i in video.setVideoPath("/root/preset/video/output_240_240.mp4"):
        video.start(i)
    print("end")
```
