M5StickVのGroveコネクタを使って外部機器と接続する方法を紹介します。

Groveコネクタとは

Seeed社のコネクタ規格です。
2mmピッチ4ピン(信号1、信号2、Vcc、GND)で統一されています。
各種センサーとのアナログ入出力、I2CやUART等のデジタルの通信インタフェースとして幅広く使えます。

Groveコネクタを使うことではんだ付けや配線の手間が省けます。
コネクタやケーブル単品も販売されています。

M5StickVのGroveコネクタは電源が5V、信号線が3.3Vです。
信号ピンは34ピンと35ピンがGPIOとして割り当てられています。
アナログ入力は受けられません。

Seeed社のGroveコネクタ規格 紹介ページ
Grove System – Seeed Wiki

ブザーを鳴らす

Grove Buzzer V1.2というブザーを鳴らすサンプルスクリプトです。

#ブザーを鳴らす
from fpioa_manager import *
from Maix import GPIO
import utime

fm.register(34, fm.fpioa.GPIO0)
buzzer = GPIO(GPIO.GPIO0, GPIO.OUT)

while True:
    buzzer.value(1)
    utime.sleep(0.1)
    buzzer.value(0)
    utime.sleep(0.9)
#PWM出力でブザーを鳴らす
from machine import Timer,PWM
from fpioa_manager import *
from Maix import GPIO
import utime

fm.register(34, fm.fpioa.GPIO0)
tim = Timer(Timer.TIMER0, Timer.CHANNEL0, mode=Timer.MODE_PWM)
ch = PWM(tim, freq=440, duty=1, pin=34)

freq = 0
loop = 0
dir = True

while True:
    if dir:
        freq += 1
    else:
        freq -= 1

    if freq>440:
        frew = 440
        dir = False
    elif freq<262:
        freq = 262
        dir = True
        loop += 1

    time.sleep(0.01)
    ch.freq(freq)
    if loop>1:
        ch.disable()