edit

Raspberry Pi用Grove Base Hat

現在、Groveシステムはセンサー、アクチュエータ、およびディスプレイを含め、大きなシリーズに成長してきました。将来、より多くのGroveモジュールがGroveエコシステムに追加する見込みです。 Groveは、数十万ものメーカー、エンジニア、教師、学生、さらにはアーティストの学習、製作、創造することに役立っています。弊社は常にGroveモジュールをより多くのプラットフォームと適用させるということに責任を感じています。そのため、私たちはRaspberry Pi用Grove Base Hatと Raspberry Piゼロ用Grove Base Hatを開発しました。

Raspberry Pi用Grove Base Hatは様々な需要に応じて、多種類なポート(デジタル/アナログ/I2C/PWM/UART)を搭載しています。また、内蔵されたMCUを用いて、12-bit 8チャンネルADCもRaspberry Piに接続できます。

簡単に言えば、現在、Raspberry Pi用Grove Base HatをサポートしているGroveモジュールがおよそ60個あります。さらに、Raspberry Piに適用した新しいモジュールも追加し続けます。

商品特徴

  • Raspberry Pi ⅔B/3B+/4/Zeroに適用
  • 内蔵MCUを搭載
  • 12-bit ADC
  • 多種類なGroveポート

商品詳細

アイテム
動作電圧 3.3V
MCU STM32
ADC 12-bit 8チャンネル
Groveポート 6 デジタル
4 アナログ
3 I2C
1 PWM
1 UART
Raspberry pi通信バス I2C
I2Cアドレス 0x04

Attention

この商品の動作電圧は3.3Vなので、3.3V以上のを入力しないでください。そうしないと、Raspberry Piを壊す恐れがあります。また、このHatがGroveポーとを通って、5VのGroveモジュールで動作することができないので、3.3V互換のGroveモジュールを使ってください。

ハードウェア一覧

ピンアウト

一覧

GPIO

Raspberry piと同じピンアウトを持っている。

PWM(パルス幅変調)

Grove PWMポートがRaspberry PiのハードウェアPWMピンのGPIO/BCM ピン12(PWM0)とGPIO/BCMピン13(PWM1)に接続します。また、 すべてのGPIOピンがソフトPWMとして使えます。

Note

0- Grove ポート以外のすべてのシルクスクリーン層のピン番号はBCMピン番号です。BCMピンとフィジカルピンの区別を知りたいなら、こちらをご参照ください。

1- ハードウェアPWMと比べて、ソフトウェアPWMの精度がより低くて、高周波数のときに故障する恐れもあります。

2- GPIO/BCMピン18もPWM0としてマークされます。実際には、GPIO/BCM 12とGPIO/BCM 18が同じPWMチャンネルをシェアしているので、異なるレートに設定することができません。

3- オーディオジャックもPWM 0とPWM 1を使って出力するので、そのソケットでオーディオを出力しながら、PWMを使うことができません。

UART

Grove UARTポートがGPIO14(UART0 TX)とGPIO15(UART0 RX)に接続します。 UARTが一般的にGPIOを介してPiを制御する便利な方法としてPiに使用されます。または、シリアルコンソール (デフォルトで有効になる)からkernelブートメッセージにアクセスすることに使用されます。それに、UARTがArduino、bootloaded ATmega、ESP8266などを自分のPiに連結することに使用されます。

デジタル

このボードには六つのデジタルGroveソケットがあります。通常にはGroveケーブルの黄色のワイヤ(4ピンGroveソケットの一番上のピンに接続するワイヤー)は信号ワイヤーなので、デジタルGroveポートを D5/D16/D18/D22/D24/D26 と名付けます。

アナログ

周知の通り、Raspberry PiにはADCがありません。そのため、直接にアナログセンサーで動作できません。 現在、内蔵されたMCU STM32のおかげで、Grove base hatが外部の12-bit ADCとして動作できます。つまり、Raspberry Piとアナログセンサーを一緒に使うことができるようになります。さらに、 四つのアナログソケットも利用できます。

このアナログセンサーが12-bit ADCにアナログ電圧を入力します。ADCがアナログデータをデジタルデータに変えた後、それがI2Cインターフェースを通してRaspberry Piにデジタルデータを入力します。

I2C

このボードには三つのI2Cポートが利用できます。それらのポートが直接にraspberryのI2Cピンに接続します。この部分をI2Cハブとして考えられます。seeedのほとんどの新しいgroveモジュールがI2Cインターフェースを搭載しているので、この三つのポートが非常に便利だと見られます。

SWD

SWDポートがファームウェアをhatに書き込むことに使用されます。また、このセクションで、i.e.、 ピン 9/ピン10/ピン11 という三つのGPIOピンが見えます。これら三つのピンが任意のGroveポートにも使用されていないので、ピンの衝突を心配せず、自由に使用することができます。

GRaspberry Pi用Grove Base Hat Vs. GrovePi+

パラメータ Raspberry Pi用Grove Base Hat GrovePi+
動作電圧 3.3V 5V
MCU STM32F030F4P6 ATMEGA328P
Groveポート 6デジタル(3.3V) 4アナログ(3.3V) 3 I2C(3.3V) 1 PWM(3.3V) 1 RPISER(UART):Raspberry Piに接続する(3.3V) 1 SWD 7デジタル(5V) 3アナログ(5V) 3 I2C(5V) 1 SERIAL:ATMEGA328P D0/1に接続する(5V) 1 RPISER: Raspberry Piに接続する(3.3V) 1 ISP
Grove-デジタル 直接Raspberry Piに接続する ATMEGA328Pデジタルピンに接続して、I2Cシグナルに転換して、レベル変換器を介してRaspberry Piに接続する
Grove-アナログ STM32F030F4P6(12bit ADC)に接続して、I2Cシングルに転換し、直接にRaspberry Piに接続する ATMEGA328Pアナログピン(10bit ADC)に接続して、I2Cシングルに転換して、レベル変換器を介してRaspberry Piに接続する
Grove-I2C 直接Raspberry Piに接続する レベル変換器を介して to Raspberry Piに接続する
Grove-PWM 直接Raspberry Piに接続する NA
RPISER 直接Raspberry Piに接続する 直接Raspberry Piに接続する
SERIAL NA ATMEGA328PデジタルピンD0/D1に接続して、I2Cシングルに転換して、レベル変換器を介してRaspberry Piに接続する
SWD ファームウェアをSTM32F030F4P6に書き込む NA
ISP NA ファームウェアをATMEGA328Pに書き込む
Raspberry Piに接続するピン 40 26

入門

ハードウェア

必要な部品

-- Raspberry Pi x1
-- Raspberry Pi用 Grove Base Hat x1
-- Groveモジュール

  • Step 1. Raspberry Pi用 Grove Base Hatを Raspberry Piに差し込む。

  • Step 2. Groveモジュールを対応のGroveポートに差し込む。

  • Step 3. micro-usbケーブルでRaspberry Piを給電する。

Warning

すべてのハードウェアの接続が完了した後で、Raspberry Piを給電したほうがいいです。このセンサーモジュールをホットプラグしないでください。そうしないと、Raspberry Piがクラッシュする恐れがあります。

ソフトウェア

このセクションでは、 seeed grove.py というライブラリーをインストールする方法やRaspberry Pi用 Grove Base HatのI2C、PWMデジタルおよびアナログポートの使い方について紹介します。

Tip

Raspberry Piの使い方が知らない場合、始まる前にまずこちら をチェックしてください。

構成

groveセンサーを操作するには、grove.pyがmraa/smbus2/rpi.gpi/rpi_ws281xのような数多くなハードウェアインターフェースライブラリーに依存しています。

インストール

オンラインワンクリックインストール

ワンクリックのインストールを利用して、速く始めます。次のコマンドを使用すれば、全ての従属物と最新的なgrove.pyがインストール/アップデートできます。

curl -sL https://github.com/Seeed-Studio/grove.py/raw/master/install.sh | sudo bash -s -

Success

うまくいったら、次のような知らせが見えます。

1
2
3
4
5
6
```
grove.py-0.5が成功にインストールされました
#######################################################
最新的なGrove.pyがgithubからインストール完了   !!!!!
#######################################################
```

ステップバイステップのインストール

ワンクリックのインストール以外にも、ステップバイステップで全ての従属物と最新的なgrove.pyをインストールすることもできます。詳しくは、 githubページをご参照ください。

ステップバイステップのインストール

grove.pyライブラリーをコピーしてソースファイルをチェックすることができます。

Gitクローン https://github.com/Seeed-Studio/grove.py

使用

現在、Raspberry Pi用 Grove Base Hatが複数の Grove モジュールと一緒に使用できます。 grove_ というコマンドをタップして、 Tab キーを押して、 サポートしているGroveリストをチェックします。

pi@raspberrypi:~$ grove_
grove_3_axis_compass_bmm150        grove_i2c_color_sensor_v2          grove_mini_pir_motion_sensor       grove_rotary_angle_sensor          grove_temperature_sensor
grove_4_digit_display              grove_i2c_motor_driver             grove_moisture_sensor              grove_ryb_led_button               grove_thumb_joystick
grove_air_quality_sensor_v1_3      grove_lcd_1.2inches                grove_oled_display_128x64          grove_servo                        grove_tilt_switch
grove_button                       grove_led                          grove_piezo_vibration_sensor       grove_slide_potentiometer          grove_touch_sensor
grove_collision_sensor             grove_light_sensor_v1_2            grove_pwm_buzzer                   grove_sound_sensor                 grove_ultrasonic_ranger
grove_gesture_sensor               grove_loudness_sensor              grove_recorder_v3_0                grove_switch                       grove_water_sensor
grove_high_accuracy_temperature    grove_mech_keycap                  grove_relay                        grove_temperature_humidity_sensor  
pi@raspberrypi:~$ grove_

そして、ポートの種類によってそれらの使い方を教えます。

PWMポート

Grove -ブザーを例として、PWMポートを紹介します。

ハードウェア接続図

コマンドラインインターフェースで次のコマンド sudo grove_pwm_buzzerをタップしてください。

pi@raspberrypi:~$ sudo grove_pwm_buzzer
Insert Grove-Buzzer to Grove-Base-Hat slot PWM[12 13 VCC GND]

3800
3400
3000
2900
2550
2270
2000
exiting application

ブザーが数回鳴った後止まって、このプログラムが自動的に終了します。

デジタルポート

Grove - 超音波レンジャーを例として、デジタルポートを紹介します。

ハードウェア接続図

コマンドラインインターフェースで次のコマ grove_ultrasonic_ranger 5 6 をタップしてください。

pi@raspberrypi:~$ grove_ultrasonic_ranger 5 6
Detecting distance...
6.979909436456088 cm
7.966469074117726 cm
12.451204760321255 cm
15.184797089675378 cm
17.429220265355603 cm
18.73230112010035 cm
20.717752390894397 cm
19.83807004731277 cm
17.3059003106479 cm

^CTraceback (most recent call last):
  File "/usr/local/bin/grove_ultrasonic_ranger", line 11, in <module>
    load_entry_point('grove.py==0.5', 'console_scripts', 'grove_ultrasonic_ranger')()
  File "/usr/local/lib/python3.5/dist-packages/grove/grove_ultrasonic_ranger.py", line 107, in main
    time.sleep(1)
KeyboardInterrupt

Grove - 超音波レンジャーとターゲットオブジェクトの距離を変更すると、測定値はそれに応じて変更されます。 Ctrl+C を押して終了させます。

Attention

ほとんどのgroveモジュールにとって、grove_ultrasonic_ranger 5 6 のようにピン番号パラメータを追加する必要があります。 56 がGPIO/BCMピンです。しかし、最初の例の grove_pwm_buzzerで、コマンドの後でパラメータを追加していないと気づいたかもしれません。 それがPWMポートとI2Cポートがピン番号パラメータを必要としていないからです。Groveソケットの周りでピン番号シルクスクリーンが見つけられます。

アナログポート

Grove - 空気質量センサー v1.3 を例としてアナログポートを紹介します。

ハードウェア接続図

コマンドラインインターフェースで次のコマン grove_air_quality_sensor_v1_3 0 1 をタップしてください。

pi@raspberrypi:~$ grove_air_quality_sensor_v1_3 0 1
Detecting ...
62, Air Quality OK.
63, Air Quality OK.
61, Air Quality OK.
61, Air Quality OK.
59, Air Quality OK.
62, Air Quality OK.
60, Air Quality OK.
60, Air Quality OK.
59, Air Quality OK.
60, Air Quality OK.
60, Air Quality OK.
60, Air Quality OK.

57, Air Quality OK.
^CTraceback (most recent call last):
  File "/usr/local/bin/grove_air_quality_sensor_v1_3", line 11, in <module>
    load_entry_point('grove.py==0.5', 'console_scripts', 'grove_air_quality_sensor_v1_3')()
  File "/usr/local/lib/python3.5/dist-packages/grove/grove_air_quality_sensor_v1_3.py", line 68, in main
    time.sleep(.1)
KeyboardInterrupt

このセンサーで空気の質量を検査することができます。 Ctrl+C を押してこれを終了させます。

Notice

アナログポートにとって シルクスクリーンピン番号が A1, A0 のような存在であることに気づいたかもしれません。しかし、コマンドでは、デジタルポートと同じようにパラメータ 0 と **1**を使います。 そのため、モジュールを正確なポートに接続するようにしてください。そうしないと、ピンの衝突が起こるかもしれません。

I2C

Grove - OLEDディスプレイ128x64 を例としてI2Cポートを紹介します。

ハードウェア接続図

コマンドラインインターフェースで次のコマン grove_oled_display_128x64 をタップしてください。

pi@raspberrypi:~$ grove_oled_display_128x64
pi@raspberrypi:~$ 

何も起こっていないようですが、自分のoledをチェックしたら、サイバー界で最も有名な文を見つけることができます。😄

Note

I2Cツールを使ってgroveモジュールのI2Cアドレスをスキャンすれば、二つとそれ以上のアドレスを見つけるかもしれません。 0x04 が Raspberry Pi用 Grove Base Hat のアドレスです。

回路図

資料

プロジェクト

次はこの商品の紹介ビデオです。

技術サポート

技術的な問題は フォーラムに提出してください。