Raspberry Pi Foundationからキーボード一体型のRaspberry Pi 400が発表されました。ラズパイ好きとしてはこれを試さない手はありません。今回は技適の試用許可も済ませたRaspberry Pi 400を入手したので、この使用感、工作例をお届けします。
今回の記事の流れ
- Raspberry Pi 400とは
- Raspberry Pi 400のオープニング
- 簡単な電子工作をやってみる(NeoPixelをチカチカ)
- Raspberry Pi 400を使ってみたまとめ
Raspberry Pi 400とは
Raspberry Piは手のひらサイズのワンチップ・コンピュータで、様々なハードウェアと接続する事ができ、数千円と安価なので、IoT時代の代名詞のようなデバイスになりました。ただ基盤がむき出しで、ディスプレイやキーボードが最初から無いので、電子工作を始めるのに少しハードルが高かったかもしれません。
そこにRaspberry Pi Foundationから2020年11月にキーボードとRaspberry Piが一体化したRaspberry Pi 400が登場しました!Raspberry Pi Foundationから見た目も楽しい外装付きのデバイスが出るのは初めてですし、ディスプレイにつなげば使い始められる、とても手軽なキットとして話題になっています。
ここでは事前に技適の試用許可を取得したRaspberry Pi 400(US配列キーボード)バージョンを手に入れ、その開封から使い勝手を見ていきます。簡単な電子工作もしてみますよ。
Raspberry Pi 400の開封!
それではRaspberry Pi 400を開封していきましょう! 箱はけっこう大きくて高さがあります。Personal Computer Kitと書いてあり、正に自分だけのパソコン・キットという感じです。
箱を開けると、いきなり本体のキーボード。Windowsボタンなどがある位置に、赤いラズパイボタンが!
箱の中、キーボードの下には、マウスと電源ケーブル、Raspbianインストール済みのMicro SDカードが入っています。
箱から中身を全部出してみましょう。他にHDMIケーブル(Micro HDMIーHDMI端子)と英語のビギナーズガイド・マニュアルが入っています。
本体のキーボードはこのような形、表面は真っ白で綺麗です。
今回はUS版のキーボードの為、英字配列になっています。日本語版が2021年にもリリースされる予定で、そちらは日本語キーボードになる予定だときいています。
キーボードを裏返すと、裏面はラズベリー色(?)。排熱の為の通気口もあります。
背面にはコネクタ類が並んでいます。ここを見るとRaspberry Piっぽく、左側にはお馴染みの40ピンがあります。右側には電源のUSB Type-Cや3つの Type A端子、LANコネクタなどが並んでいます。
マウスも白と朱色でキーボードと色が揃っていて、なかなかかっこいい。
それではRaspberry Piを起動する為に、それぞれをつないでみましょう。
HDMIケーブルを一番近くにあったテレビにつないでみます。あとは電源を入れるだけ。箱を開けて約1分で、Raspberry Piが立ち上がって使い始められました。
やはり、簡単は正義!史上一番使いやすいRaspberry Piではないでしょうか。
簡単な電子工作をやってみる(NeoPixelをチカチカ)
Raspberry Pi 400が立ち上がったら、ウィザードに従って、キーボードやWifi接続などの基本的なセットアップを済ませて下さい。
基本的な設定が終わったら、さっそく簡単な電子工作をやってみましょう。
まずはマルチカラーのLEDが連なって制御できるNeoPixelというものを使ってみます。
ここでは12個のNeoPixelがリング上に連なった、Adafruitが出している12連NeoPixelリングを使います。
このNeoPixelには裏側にIN(入力)、VCC(5V電源)、GND(0V)と端子が付いているので、ここにジャンパ・ケーブルを半田付けします。ケーブルの色はあるもので構いませんが、ここではIN(緑色)、VCC(黄色)、GND(青色)にしています。
それでは各ケーブルを以下表に従って、Raspberry Pi 400に接続します。
NeoPixel側 | Raspberry Pi側 |
VCC (黄色いケーブル) | PIN2 – 電源(5V) |
GND (青いケーブル) | PIN6 – GND |
IN (緑のケーブル) | PIN12 – GPIO18 |
Raspberry Pi 400背面の40ピンは、写真の向きで(左下にPIN1番、最右上にPIN40番と小さく書いてあります)下図のようになっています。
NeoPixelをつないだ後に、見える位置にセット。
NeoPixelを使い始めるに当たって、Adafruitのこちらのサイトを参照すると、大抵の事はできるようになっています。
https://learn.adafruit.com/adafruit-neopixel-uberguide/python-circuitpython
サイト内に書いてある以下コマンドにより、NeoPixelライブラリがインストールできます。
pi@raspi400:~ $ sudo pip3 install adafruit-circuitpython-neopixel
Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simpleCollecting adafruit-circuitpython-neopixel Downloading https://www.piwheels.org/simple/adafruit-circuitpython-neopixel/adafruit_circuitpython_neopixel-6.0.0-py3-none-any.whl
Collecting Adafruit-Blinka (from adafruit-circuitpython-neopixel) Downloading https://www.piwheels.org/simple/adafruit-blinka/Adafruit_Blinka-5.8.1-py3-none-any.whl (137kB) 100% |████████████████████████████████| 143kB 252kB/s
…
Successfully installed Adafruit-Blinka-5.8.1 Adafruit-PlatformDetect-2.22.2 Adafruit-PureIO-1.1.7 adafruit-circuitpython-neopixel-6.0.0 adafruit-circuitpython-pypixelbuf-2.2.0 pyftdi-0.52.0 pyusb-1.1.0 rpi-ws281x-4.2.5 sysv-ipc-1.0.1
その後、Adafruitサイトにあるサンプルプログラムを使ってみます。このリンクからダウンロードしてRaspberry Piに送るか、以下コマンドで取得、実行してみて下さい。
https://learn.adafruit.com/pages/2281/elements/3005652/download
pi@raspi400:~/ $ sudo mkdir Programs
pi@raspi400:~/ $ cd Programs
pi@raspi400:~/Programs $ sudo wget https://learn.adafruit.com/pages/2281/elements/3005652/download -O
neopixel_simpletest.py
pi@raspi400:~/Programs $ sudo python3 neopixel_simpletest.py
まずはNeopixelが様々な色に光り出したと思います。
ただピカピカ光るだけでも楽しいですが、せっかくなのでキーボードの押したキーと連動するものにしましょう。サンプルのプログラムとして以下のようなneopixel_keys.pyを作りました。プログラムはGithubにも格納しています。https://github.com/ktrips/raspi400
[ Program: neopixel_keys.py ]
import sys,tty,termios def getch(): fd = sys.stdin.fileno() old_settings = termios.tcgetattr(fd) try: tty.setraw(sys.stdin.fileno()) ch = sys.stdin.read(1) finally: termios.tcsetattr(fd, termios.TCSADRAIN, old_settings) return ch import time import board import neopixel # On CircuitPlayground Express, and boards with built in status NeoPixel -> board.NEOPIXEL # Otherwise choose an open pin connected to the Data In of the NeoPixel strip, i.e. board.D1 # pixel_pin = board.NEOPIXEL # On a Raspberry pi, use this instead, not all pins are supported pixel_pin = board.D18 # The number of NeoPixels num_pixels = 12 # The order of the pixel colors - RGB or GRB. Some NeoPixels have red and green reversed! # For RGBW NeoPixels, simply change the ORDER to RGBW or GRBW. ORDER = neopixel.GRB pixels = neopixel.NeoPixel( pixel_pin, num_pixels, brightness=0.2, auto_write=False, pixel_order=ORDER ) def wheel(pos): # Input a value 0 to 255 to get a color value. # The colours are a transition r - g - b - back to r. if pos < 0 or pos > 255: r = g = b = 0 elif pos < 85: r = int(pos * 3) g = int(255 - pos * 3) b = 0 elif pos < 170: pos -= 85 r = int(255 - pos * 3) g = 0 b = int(pos * 3) else: pos -= 170 r = 0 g = int(pos * 3) b = int(255 - pos * 3) return (r, g, b) if ORDER in (neopixel.RGB, neopixel.GRB) else (r, g, b, 0) def rainbow_cycle(wait): for j in range(255): for i in range(num_pixels): pixel_index = (i * 256 // num_pixels) + j pixels[i] = wheel(pixel_index & 255) pixels.show() time.sleep(wait) while True: char = getch() if char in ("r",”R”): #red print("Red!") pixels.fill((255, 0, 0)) pixels.show() if char in ("g",”G”): #green print("Green!") pixels.fill((0, 255, 0)) pixels.show() if char in ("b",”B”): #blue print("Blue!") pixels.fill((0, 0, 255)) pixels.show() if char in ("z",”Z”): #zoom print("Zoom!") pixels.fill((255, 255, 255)) pixels.show() if char in ("t",”T”): #tired then rainbow colors print("Rainbow colors!") rainbow_cycle(0.001) if char in ("s",”S”): #stop print("Stop Neopixel") pixels.fill((0, 0, 0)) pixels.show() if char in ("x","q",”X”,”Q”): #quit print("Program Ended") pixels.fill((0, 0, 0)) pixels.show() break
ここでは、キーボード上でRキーを押すと、赤く(Redに)光ります。同様にG(reen)やB(lue)を押すとその色に変化するはずです。また昨今Zoom会議などを行う時に、Z(oom)と押すと、明るく白色に光って顔色をよく見せられるかもしれません。そして疲れている時にT(ired)と押すと、レインボーに光って気分がアガるかも!?最後に、xまたはqと押すと電気が消えます。
(R)edを押した時 | (Z)oomを押した時 | (T)iredを押した時 |
いかがでしょうか?Raspberry Pi 400で簡単に電子工作できたでしょうか?
Raspberry Pi 400を使ってみたまとめ
Raspberry Piとキーボードが一体化したRaspberry Pi 400を使ってみました。
箱から取り出して、ディスプレーにつなぐだけですぐ使い始められるので、電子工作やIoTの敷居がグッと下がったのではないでしょうか? 手軽にLinuxを始めるのにも適していると思います。
外部機器や、LED、センサなどをつなぐコネクタ類もキーボード背面にまとめられていて、すっきり使いやすいようになっています。
今回はマルチカラーLEDのNeoPixelを光らせる最初の電子工作をしてみました。
その他にも、例えば人感センサーを付けて、座り過ぎ、仕事のし過ぎをチェックする事もできるかもしれません。
また温湿度センサーや明るさセンサーを付けて、デスク周りの環境チェック、快適な仕事場所を目指すのもいいかもしれません。
今後、このRaspberry Pi 400とセンサー、外部機器などを使って、様々な電子工作をしていきたいと思います!
(吉田 顕一)