今回の講義の目標は、LEDを光らせることです。電子回路がどういうものかを体感してみましょう。先週配ったLEDと抵抗を使います。
目次
- 3.1 電子回路
- 3.2 デバイス
- 3.3 LED
- 3.4 GPIO
- 3.5 LEDを光らせる
- 3.6 デジタル出力(を先取り)
- 3.7 実習
3.1 電子回路
この講義では、マイコンボードを中心にした電子回路(electronic circuit)を作っていきます。電子回路とは何か、ということはあまり難しく考えないことにしましょう。ここでは、様々な電子部品を電線で結んだものとしておきます。当然、電気を流します。
もう少し正確に言うと、電子部品に電圧をかけて電流を流すということになります。電子部品は、電流が流れて初めて仕事をしてくれます。小学校の時に、豆電球を光らせる実験をしたことと思います。あれです。電流はプラス極からマイナス極に流れます。電線をうまくつなぐことで、電子回路を作ります。
電圧と電流
電圧の強さは、ボルト(V)という単位で表します。電流の量は、アンペア(A)という単位で表します。一般的に、電圧を強くすればするほど、電流は多く流れます。1.5Vの電池1つで豆電球を光らせるより、2つの電池を直列につないで3Vにした方が、豆電球は明るく光るのでしたよね。
しかし、電流を阻害するものがあります。それが抵抗です。プラスとマイナスの間につながれた抵抗が大きくなればなるほど、流れる電流は少なくなります。抵抗の大きさは、オーム(Ω)という単位で表します。
電圧と電流と抵抗の間には、有名なオームの法則という関係が成り立っています。電圧を E 、電流を I 、抵抗を R で表した時、以下の関係が成り立っています。
E = R × I
これは式の変形を行うと、以下のようにも表せます。
I = E / R
多くの場合、電圧は決まっていて抵抗を使って電流を制御することになるので、 I = E / R の方が直感的に理解しやすいですね。つまり、抵抗 R (分母)を大きくすればするほど、電流 I は小さくなります。
では、逆に R をどんどん小さくしていくと、どんなことが起こるのでしょうか。 R が0に近づくと、 I は無限大に近づいていきます。電池のプラス極とマイナス極を電線で直接結ぶと、ちょうどこのような状況になります。電線自体にもわずかながら抵抗はあるのですが、とても小さいです。このような時、回路は短絡している、あるいはショートしているといいます。ショートすると大量の電流が電子回路に流れ、電子部品は破壊され、電池は熱を発して最悪の場合発火したり爆発したりします。特にリチウムイオン充電池を使っている場合には非常に危険です。
回路は絶対にショートさせてはいけません!
ショートさせないためには、適切な場所に適切な大きさの抵抗を入れる必要があります。
直列回路と並列回路
回路には、直列回路(serial circuit)と並列回路(parallel circuit)があります。豆電球の例で考えましょう。豆電球を直列につなぐとは、以下のようにすることです。

豆電球は、光を発する抵抗だと考えましょう。よって、回路はショートしていません。
並列につなぐとは、以下のようにすることです。

豆電球を直列でつなぐのと、並列でつなぐのとでは、どのような違いがあったか思い出しましょう。
- 直列につなぐと、豆電球を1つだけつないだ時よりも暗く光ります。
- 並列の場合のそれぞれの豆電球の明るさは、1つだけの時と明るさが変わりません。
- 電池の持ちは、直列の場合には豆電球を1つだけつないだ時と同じですが、並列の場合には早く無くなってしまいます。
2つの抵抗を直列につないだ場合、全体の抵抗値は2つの抵抗値の合計になります。豆電球の場合も同じで、1つつなぐよりも2つつないだほうが、より抵抗が大きくなります。抵抗が大きいのですから、オームの法則から計算できるように、回路全体を流れる電流は小さくなります。よって、豆電球は弱く光ります。同じ豆電球を2つ直列につないだ場合、それぞれの豆電球にかかる電圧は、電池の電圧の1/2となります。
2つの抵抗を並列につないだ場合は、少し複雑です。まず、電圧から考えます。並列回路の場合には、2つの豆電球それぞれにかかる電圧は等しくなります。この場合では、電源の電圧と、2つの豆電球それぞれにかかる電圧は同じです。つまり、局所的に見ると、豆電球1つを1つの電池につないだ時と同じ電圧・電流が、それぞれの豆電球に与えらえることとなります。よって、明るさは1つの時と2つの時で変わりません。
今度は、回路全体の抵抗を考えます。2つの豆電球の抵抗値を、それぞれ R1 、 R2 と呼ぶことにしましょう。並列につないだ部分全体の抵抗値を R とします。

この時、 R と R1 、 R2 の間には以下のような関係が成り立ちます。
1 / R = 1 / R1 + 1 / R2
今、 R1 と R2 がそれぞれ200Ωだったとしましょう。すると 1 / R = 2 / 200 となり、 R は100Ωだということが分かります。 1つの豆電球をつないだ時の抵抗値が200Ωに対して、2つの豆電球を並列につないだ時の抵抗値が100Ωになるということです。何だか不思議ですね。その結果、回路全体に流れる電流は、豆電球1つの場合よりも2つの場合の方が多くなります。結果、電池の減りが早くなります。
まとめると、以下のようになります。
- 直列回路
- 全体の抵抗値は、それぞれの抵抗値の和
- それぞれの抵抗に対してかかる電圧の和が、電源の電圧と等しい
- 回路を流れる電流は、どの場所でも等しい
- 並列回路
- 全体の抵抗値は、ちょっと面倒くさい計算が必要
- それぞれの抵抗に対してかかる電圧は、電源の電圧と等しい
- それぞれの抵抗に流れる電流の和が、回路全体を流れる電流と等しい
3.2 デバイス
これから使う電子部品に、どんなものがあるのか紹介します。この講義では、主に1つの部品が数円から200円程度のものを使います。まるで駄菓子のような値段です。「駄菓子コンピューティング」と呼ぶことにしましょう。
電源
電源(power source)とは、電気を供給してくれるものです。
- 電池: 日常的に良く使うのは、単3や単4等の乾電池ですね。これらは1.5Vです。ただし、充電式のもの(エネループなど)は1.2Vなので注意しましょう。その他、四角い形をした9Vの乾電池や、コインのような形をしたボタン電池があります。ボタン電池は3Vのものが多いです。

- USB: USBからは5Vが取れます。
- 充電池: リチウムイオンやリチウムポリマー、ニッケル水素など、色々なタイプがあります。しかし、この講義では、エネループとモバイルバッテリー以外の充電池を使ってはいけません。使い方を間違えると大きな事故になってしまうからです。

抵抗器
電子回路上で抵抗として働く部品が抵抗器(resistor)です。抵抗器は、通常、単に抵抗と呼ばれます。100Ωとか470Ωとか1KΩなど、様々な大きさの抵抗があります。抵抗を使う際には、どちらをプラスにつないで、どちらをマイナスにつなぐ、といった決まりはありません。これを極性がないといいます。また、多少乱暴に扱っても壊れません。100本で100円くらいと、非常に安価です。

抵抗には180Ωや330Ωなどの抵抗値の大きさがあります。抵抗の大きさは、抵抗の表面に3本または4本の色のついた線でプリントされています。この色のついた線を抵抗器のカラーコードといいます。
このカラーコードの読み方は、以下のWikipediaのページを読んでください。
https://ja.wikipedia.org/wiki/抵抗器
LED
LEDは、光る部品です。日本語では発光ダイオード、英語では Light Emitting Diode といいます。ダイオードという電子部品の一種です。線が2本伸びていますが、どちらをプラスにして、どちらをマイナスにするか決まっています。これを、極性があるといいます。足の長い方の線をアノードと呼び、足の短い方の線をカソードと呼びます。アノードがプラスで、カソードがマイナスです。これは、絶対に間違えてはいけません。

赤色LED、緑色LED、青色LEDがあります。ちなみに青色LEDは、3つのうちで一番最後に発明されました。発明者は日本人で、赤崎 勇・天野 浩・中村 修二の各氏です。この発明の対価をめぐって訴訟に発展したことは、みなさんも聞いたことがあるかもしれません。
LEDについては、この資料の後半で詳しく説明します。
スイッチ
スイッチやボタンは、電線を切ったり接続したりする部品です。押している時だけ接続するもの(タクトスイッチ)や、切断と接続の2状態を作り出せるもの(トグルスイッチ)などがあります。大きさや形もまちまちです。

センサ
センサ(Sensor)とは、物理現象を捉えるための部品です。色々なものがあります。
- 光センサ
- 色センサ
- 音センサ
- 加速度センサ
- 距離センサ
- 曲げセンサ
- 温度センサ
- 湿度センサ
センサをうまく使うことが、フィジカルコンピューティングの1つのポイントです。
アクチュエータ
アクチュエータ(actuator)とは、電流を物理的な運動に変える部品です。この講義では、モーターのことだと思ってください。モーターにはいくつか種類があります。
- DCモーター: 電圧の大きさに応じて回転速度が変わる、普通のモーターです。
- サーボモーター・ステッピングモーター: 回転角度が指定できるモーターです。サーボモーターとステッピングモーターは、制御の方式が違います。この講義では、サーボモーターしか使いません。
回路図
すでに回路図については第1回の講義資料で簡単に説明しました。以下の回路図は、LEDを点灯させる回路を示しています。

電源のプラスには、T字型の記号を使います。これをVccと呼びます。電源の表記はいろいろあって、横線の上に丸を描くやり方もあります。一番下にある記号は、グラウンド(あるいはグランド)です。グラウンドはGNDと略されます。Vccは図の上の方に描き、GNDは図の下の方に描くのが原則です。330というラベルがふってあるのが抵抗です。330Ωの抵抗であることを示してます。抵抗の下にあるのが、LEDになります。
3.3 LED
LEDは、ダイオードという電子部品の一種です。ダイオードには、電気を一方向にしか流さない性質があります。
LEDを使うときに、気をつけなければならないことは2つあります。1つは極性です。LEDのアノードはプラスに、カソードはマイナスにつなぎます。もう1つは、LEDに流す電流です。LEDは、製品によって流せる電流の上限値が決まっています。このような上限値のことを、絶対最大定格と言います。LEDに、絶対最大定格で決められている以上の電流を流すと、LEDは壊れます。
通常、どのような電子部品を使うときにも、データシートと呼ばれる説明書を参照します。このデータシートに絶対最大定格や、どのくらいの電流を流すとちょうど良いのかが記載されています。今回は、データシートを読むのはパスして、とりあえずやってみることにしましょう。
多くのLEDでは、20mAくらいの電流を流すと一番明るく光るようになっているようです。しかし、20mAを超えると急激に危険な領域に入ります。そこで、この講義では、5mAを流すことを標準とします。5mAでも十分に明るく光ります。
使用する抵抗の計算
3.3Vの電源を使ってLEDを光らせることを考えます。

それでは、抵抗を使う方法から説明しましょう。適切な抵抗を入れて、電流を制御するわけです。抵抗値を計算するにはオームの法則を使います。
E = R × I
これを変形させると、以下のような式を得ます。
R = E / I
今、電流 I は5mAと決めましたから、あとは電圧 E がわかればよいことになります。これは電源の電圧でよいのでしょうか?
それを知るには、LEDの性質を知らなければいけません。LEDは、電流が流れていれば光り、流れている電流が大きいほど明るく光る部品なのですが、ある一定以上の電圧がかかって初めて電流が流れ始めます。つまり、それまでは光らないということです。また、電流が流れ始めて光り出すと、ほんの少しの電圧の増加で大きく電流が増加します。これらのことから、LEDが光っている時には、光の強さによらず、ほとんど一定の電圧の低下が起こります。これを順方向電圧降下と呼びます。どのくらい電圧が降下するかはLEDによって異なり、正確にはデータシートを見なければわかりません。データシートには、順電圧(Vf)という名前で記載されています。今回使用するLEDの順方向電圧降下は2.0Vであるので、その値を例にして説明をします。
LEDを光らせる時の抵抗値を計算するには、LEDにかかる電圧がほとんど一定であることを考慮に入れて、以下のように行います。
抵抗値 = (電源電圧 – 順方向電圧降下) / LEDに流したい電流
実際に3.3Vの電源電圧で計算してみましょう。電流の単位はAですから、5mAは0.005Aとなります。
抵抗値 = (3.3V – 2.0V) / 0.005A = 260Ω
回路に260Ωの抵抗を入れれば、5mA流れてくれるわけです。しかし、授業中に配布した部品の中には260Ωの抵抗は入っておらず、代わりに330Ωの抵抗が入っています。これでは、ダメなのでしょうか。330Ωでどのくらいの電流が流れるかを計算してみましょう。
電流 = (3.3V – 2.0V) / 330Ω = 約3.9mA
これでも全く問題ありません。330Ωの抵抗を使ったとしても3.9mA流れますので、まだ光ります。LEDを光らせるときには、5mA前後であれば、ある程度適当で良いです。多くの場合、抵抗の値は近ければなんとかなります。
それでは、10KΩにしたらどうでしょうか。
電流 = (3.3V – 2.0V) / 10000Ω = 0.13mA
0.13mAだと光らないか、もしくは光ったとしても本当にわずかです。
注意!: 抵抗をはさまずに、LEDだけを3.3Vとグラウンドの間に接続すると、一瞬でLEDはこわれます。今回使うLEDは順方向電圧降下が2.0Vであるので、3.3Vの電圧がかかると大電流が流れてしまうからです。LEDを使うときは抵抗をセットで使うと覚えておきましょう。
3.4 GPIO
Raspberry Pi 3 Model A+ の表面を見ると、剣山のような細い針金が40本あります。これはGPIOと呼ばれるインターフェイスです。GPIOは General Perpose Input Output の略です。このGPIOにセンサなどをつなげることができます。

Raspberry Piの公式ページにGPIOについての説明があります。
https://www.raspberrypi.com/documentation/computers/os.html#gpio-and-the-40-pin-header
https://www.raspberrypi.com/documentation/computers/os.html#gpio-pinout
GPIOの針金のようなものはピンと呼ばれています。このピンは、 Raspberry Pi に実装されているマイコンとつながっています。ピンは1つ1つに役割が割り振られています。今日は、あまり意識しなくて良いですが、次回からはこの役割をきちんと調べた上で使うことになります。
ピンには1番から40番まで番号がふられています。上の写真の左側(SDカードスロット側)を上にして Raspberry Pi を見たとき、一番左上のピンが1番ピン、その右隣が2番ピン、1番ピンの下が3番ピン、その右隣が4番ピン、という具合になります。

作業中に何番ピンが何かがわからなくなった場合は、pinout
コマンドで簡易的に調べることもできます。
1 |
$ pinout |

3.5 LEDを光らせる
それでは、実際にLEDを光らせてみましょう。電源の+側としては Rasperry Pi のGPIOに出ている3.3Vを使います。また、電源の-側としてはグラウンドを(GROUND)を使います。グラウンドは0Vを意味するきまりなので、覚えてください。
もう1度、「3.4 GPIO」を確認して、3.3VがGPIOの何番ピンなのかを確認しましょう。1番ピンと17番ピンですね。今回は1番ピンを使います。グラウンドは6番、9番、14番、20番、25番、30番、34番、39番です。今回は6番ピンを使います。
使う部品の確認
使う部品は以下の通りです。
- ブレッドボード
- LED
- 抵抗(330Ω)
- やわらかいジャンパワイヤ(オス-メス・赤と黒を1本ずつ)
- 固いジャンパワイヤ(適当な長さのものを必要なだけ)
ブレッドボードは、以下のような見た目をしています。

たくさんの穴が空いていますが、この穴は内部でつながっている所とつながっていない所があります。この穴にLEDや抵抗から伸びている線を差し込んで、回路を形成していきます。ブレッドボードの穴は、以下に示す図のように+と-が印字されている部分は横方向につながっていて、真ん中の部分は上下2つに分かれており、それぞれ縦方向につながっています。

抵抗はカラーコードを見ることによって抵抗値の大きさが分かります。330Ωの抵抗のカラーコードは、金色を右側にして、橙(オレンジ)、橙(オレンジ)、茶(ブラウン)、金(ゴールド)になっています。カラーコードの色味は、ものによってばらつきがあり見にくいかもしれません。以下の写真に写っている3本は、どれも330Ωの抵抗です。

やわらかいジャンパワイヤは以下のような見た目をしています。片側を Raspberry Pi のGPIOにつなぎ、もう片側をブレッドボードに挿します。電源の+側(3.3V)には赤のジャンパワイヤをつなぎ、電源の-側(グラウンド)には黒のジャンパワイヤをつなぐのが慣例です。

固いジャンパワイヤは、ブレッドボード上で回路を組むときに部品と部品を連結するために使います。

3.3節で示した回路図と一致するようにブレッドボードに部品を配置すると、以下のようになります。赤いジャンパワイヤは Raspberry Pi の3.3V(1番ピン)に、黒いジャンパワイヤは Raspberry Pi のグラウンド(6番ピン)につながっています。LEDの足の長さに注意してください。下の写真では見えませんが、LEDの足の長い方は+側(抵抗側)につながないといけません。
注意!: 危険なことはありませんが、大事なことなのでもう1度書きます。抵抗をはさまずに、LEDだけを3.3Vとグラウンドの間に接続すると、一瞬でLEDはこわれます。LEDを使うときは必ず間に抵抗をはさんでください。

写真のように、電源からのワイヤはブレッドボードの+と-のラインにつなぐとわかりやすいです。
赤いワイヤから辿っていくと、330Ωの抵抗につながり、LEDに行き、固いジャンパワイヤ(青)を伝って黒いワイヤにたどり着くのがわかります。これが3.3節の回路図どおりであることを確認しましょう。
このように、正しい部品が正しい順番につながっていさえすれば、ブレッドボード上のどこを使ってもかまいません。ブレッドボードのどことどこがつながっているのかを、よく確認しましょう。
回路を Raspberry Pi の電源に接続して、 Raspberry Pi とMacBookをつなぐとLEDが点灯するはずです。

3.6 デジタル出力(を先取り)
次回以降もう少し詳しく説明しますが、 Raspberry Pi のGPIOは電圧の入力(Input)と出力(Output)を制御することができます。GPIOのピンうち、3.3V、5V、GROUNDは電源ですが、そのほかのピンには GPIO 0 のように、GPIOに続いて番号が記されています。これら GPIO 0 から GPIO 27 までは、入出力に使える汎用的なピンになります。
GPIOのピンをデジタル出力のために使うように設定にすると、そのピンの電圧を3.3Vにするか0Vにするかを決めることができます。このことを使ってLEDをプログラムから点灯させたり消灯させたりしてみましょう(点灯制御)。
回路図は以下のようになります。

「3.3 LED」の回路図と比べると、電源の3.3Vの部分が「GPIO 17」と書かれた五角形に置き換わっています。この五角形はマイコンボードの入出力ピンを意味するきまりです。
ここで、GPIOのピンの電圧を3.3Vにするか0Vにするかを決めることができることを思い出してください。3.3Vにすればグラウンドとの間に電圧がかかるので電流が流れてLEDが点灯します。0Vにすればグラウンドとの間に電圧はかからないので電流は流れずLEDは消灯します。
実際にブレッドボードに回路を作った様子は以下のようになります。ややこしいですが、 GPIO 17 は11番ピンなので、11番ピンから抵抗にジャンパワイヤをのばします。電源の+側でも-側でもないワイヤは赤と黒以外(ここでは黄色)を使うことが慣例です。

PythonからGPIOを制御するためには、 GPIO Zero というライブラリを使います。以下のようにして、インストールしてください。(すでにインストールされている(そういうメッセージが出る)かもしれません。)これは当然 Raspberry Pi にログインして行います。
1 |
$ sudo apt install python3-gpiozero |
GPIO Zero のドキュメントは以下の場所にあります。
https://gpiozero.readthedocs.io/en/stable/
適当な場所に、LEDchika
というディレクトリを作成して、以下の内容をled_chika01.py
という名前で保存します。保存したらシェルから実行してください。このプログラムは、1秒間隔でLEDを点けたり消したりします。いわゆる「Lチカ」プログラムというやつです。プログラムを終了するには、Ctrl-Cを押します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from gpiozero import LED from time import sleep led = LED(17) def main_loop(): while True: led.off() sleep(1) led.on() sleep(1) if __name__ == '__main__': main_loop() |
led = LED(17)
の17
がGPIO 17
の17
に対応します。GPIO 17
は11番ピンです。LED(17)
とすることでLEDクラスのインスタンスが生成されます。そのインスタンスはled
に代入されます。LEDクラスのインスタンスは、on
とoff
というメソッドを持っています。
https://gpiozero.readthedocs.io/en/stable/api_output.html
LED(17)
とすることで、GPIO 17
はデジタル出力用に設定されます。on
で3.3V、off
で0VがGPIO 17
にかかります。
メインループ
組込みシステムのプログラムは、組込みソフトウェアと呼ばれます。組込みシステム開発といったらハードウェア込みの開発ですが、組込みソフトウェア開発と言ったら組込みシステムのうちのソフトウェアの開発だけを指します。
組込みシステムは多くの場合、電源を入れるとすぐにプログラムが起動して、そのままずっと動き続けます。電子レンジは、電源を入れるとすぐに操作受付が可能になり、調理が終わってもユーザからの入力を受け付け続けています。このように、組込みソフトウェアは無限ループの構造になっているのです。
組込みソフトウェアは、通常、メインループと呼ばれる無限ループを持っています。このメインループの中で、ユーザからの入力を受付たり、それに対する反応を返したりします。
先ほどのプログラムでは、main_loop()
という関数がメインループになっています。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
from gpiozero import LED from time import sleep led = LED(17) def main_loop(): while True: led.off() sleep(1) led.on() sleep(1) if __name__ == '__main__': main_loop() |
この講義では、メインループの名前としてmain_loop()
を使うことにします。この書き方を守ってください。main_loop()
の中には、無限ループであるwhile True:
を書きます。
main_loop()
を呼び出しているのは、以下の部分です。
1 2 |
if __name__ == '__main__': main_loop() |
__name__
という変数は特別な変数で、このプログラムがシェルから実行された時には__main__
が自動的に代入されています。led_chika01.py
がモジュールとして他のプログラムに輸入(import)された時には、__name__
にはled_chika01
が代入されます。つまり、このif文は、モジュールとして輸入されたのかシェルから実行されたのかを判別しているわけです。この書き方は、Pythonのお約束のようなものなので、従っておきましょう。
3.7 実習
実験1 いろいろな抵抗を使ってLEDを光らせる
講義中に説明した回路図を参考に、いろいろな抵抗を使ってLEDを光らせます。まずは、330Ωの抵抗を使って、光る様子を観察します。その後、抵抗を1KΩと10KΩに変えて実験します。330Ωのときと1KΩや10KΩのときで、LEDの光り方にはどのような変化があるのかを報告してください。
実験2 5VでLEDを光らせる
GPIOの2番から5Vがとれます。これを使ってLEDを光らせましょう。この実験でも抵抗は3種類試してください。
実際に光らせる前に、LEDに何mAの電流が流れるのかを計算してみましょう。そして、どのくらい光るのかを予想しましょう。
実験結果には、回路図(手書きでよい・ただし読みやすいように太字ペンや照明の調整を使いましょう)、電流の計算と明るさの予想、光らせたときの写真、予想との比較による考察を入れてください。
実験3 GPIOでLEDの点灯制御をする
3.6節で作成したled_chika01.py
を改造して、まずは2つあるsleep()
関数の引数を変えるとどうなるのか観察してみましょう。sleep()
関数の引数には1未満の(1以上も)小数を指定することもできます。
sleep()
関数の動作が理解できたら、自分が好きだと感じる点滅パターンを探して、調整してください。細かい調整を少しするだけで、大きく心地よさが変化する場合もあるので、時間が許すならばこだわって実装してください。
さらに、単純な点滅の繰り返しだけでなくより複雑な光りかたを、「生き物みたいな感じ」「金属探知機みたいな感じ」「R2-D2みたいな感じ」など、何かテーマを決めて作成してください。ここまでくると、引数を変える以上のプログラムの書き換えが必要かもしれません。どのようにするとできるのか、工夫してみてください。
作成したプログラムだけでなく、以上の過程で観測したこと発見したことを、実験レポートにまとめてください。
実験4 複数のLEDを制御する
2つ以上のLEDを個別に制御してみましょう。個別にということは、GPIOのピンも2つ以上必要です。(2つ以上のLEDを同時に制御するなら、1つのGPIOピンから2つのLEDにつなぐ回路を作ればできます。よければ、これも試してみましょう。)
この実験の光らせかたは自由に決めてよいので、美しさとオリジナリティを可能なだけ発揮してください。例えば、4つのLEDをウェーブ状に光らせるなど、複数のLEDを使うと、1つよりもきれいなパターンを編みだすこともできると思います。
— by 飯田 周作、沼 晃介、石井 健太郎 専修大学ネットワーク情報学部