こんにちは、うこ(@harmoniko)です。僕は今まで外部ライターとして参加していましたが、この度アルバイトとしてLIGに入社し、DevRelメンバーへと昇格しました! これからモノづくり系の記事をいろいろと書いていこうと思いますのでよろしくお願いします〜!
さて、今年の桜は例年より早めに開花し、すでにお花見を楽しんだ方も多いと思います。花見と言えばお酒ですよね! 今回はさくら色のマイコンボード「GR-SAKURA」とアルコールセンサを使い、息を吹きかけるとLEDで “酔っ払い度”を示してくれるアルコールチェッカを作ってみます。
このように息を吹きかけると……
さくら色になったので、適量ですね! 酔っ払い度を 全く飲んでいない(緑)→ 少し飲んでいる(黄色)→ 適量(さくら色)→ 飲みすぎ(赤)で示します。
もうそろそろ桜シーズンは終わりつつありますが、アルコールチェッカはもちろん年中使えるので、ご興味ありましたらぜひぜひチャレンジしてみてください♪
必要なもの
- GR-SAKURA(または Arduino UNO)
- USBケーブル
GR-SAKURAはAオス-miniBオス、 Arduino UNOはAオス-Bオスが必要です。 - GROVE アルコールセンサ
GROVEでなくても、電源電圧が5Vでアナログ出力ができれば利用可能です。 - さくら色など好きな色のLED 5個(今回は緑1本、黄色1本、さくら色2本、赤1本)
- 220Ωの抵抗 5個
- ジャンパワイヤ 5本
- ブレッドボード
すべて含めて4000〜5000円ほどで揃えることができます。Arduinoをすでにお持ちの方だと1500円ぐらいです。ブレッドボードで簡単な部品の配線をしたことがある方ならサクサク作れるかと思いますが、初心者の方でも工作できるように解説してみました。1時間もあればできるので、ぜひ挑戦してみてください。
GR-SAKURAとは?
GR-SAKURAは、見た目が春っぽくてかわいいさくら色のマイコンボードです。Webブラウザさえあればプログラミングができる仕組みになっていて、初心者でも簡単に開発できます!
さらに、最初からSDカードスロット、無線モジュールスロット、温度センサ、スイッチがついています。例えばArduinoではこれらを全部自分でつけないといけないのですが、そういった作業もなくすぐに手軽に扱える優れものです。
それでは、さっそく作ってみましょう!
作ってみよう!
1. パーツを配線して、GR-SAKURA(Arduino UNO)に接続しよう
まずはブレッドボードを使って配線をし、ボードへパーツ類を接続しましょう! (画像はジャンパワイヤを使い過ぎてしまっていますが、実際には5本あれば十分です)
LEDと抵抗を次のように接続します。(初心者の方で、LEDと抵抗についてより理解したい方はこちらを参考にしてみてください)
・A1〜A5ピンに抵抗を接続する
・抵抗の反対側に各LEDのアノード側(足が長いほう)を接続する
・LEDのカソード側(足が短いほう)はぜんぶまとめてGNDピンに接続する
抵抗の値は、ここでは220Ωに指定していますが、だいたい200〜500Ω前後であればどんなものでもOKです。(厳密には、LED色ごとに電流値を計算してそれぞれに適した抵抗を使うことが望ましいです)ただし、必ずLEDひとつにつき抵抗はひとつずつ付けましょう。
初心者の方は、以下の画像を参考にしてみてください。
実際にブレッドボード上でLEDと抵抗を接続するときはこのようになります。画像はArduinoになっていますが、GR-SAKURAも同じピン配置となっています。
ブレッドボードへのGROVEアルコールセンサの接続ですが、GROVEのコネクタはほとんど売られていないため、ここでは抵抗のあまった足を利用して接続しています。
こんな感じです。4本のジャンパワイヤを使ってボード側のピンと接続します。VCC(赤線)とGND(黒線)はそれぞれボードの5VピンとGNDピンに接続します。SCL(白線)もGNDピンへ接続します。DAT(黄線)はA0ピンへ接続します。
ちなみにさくら色のLEDですが、akiba LED ピカリ館で販売されていました。色合いはやさしいですがかなり高輝度ですよ。
注意:GR-SAKURAの場合
この部分をハンダづけをするなどしてショートさせないと、5V電源が利用できず、うまく動作しないので注意です。もしハンダごてがなければ、不格好にはなってしまいますがワニ口クリップでショートさせておくと良いです。
2. プログラムを書き込もう
GR-SAKURAの場合
公式サイトにあるGR-SAKURAのチュートリアル「はじめよう」ページの21番まで進めてみてください。
チュートリアルを終えたら、こちらのWebコンパイラ(Web上でプログラミングできるエディタ)にアクセスします。すると、「ゲストログインについて」というポップアップが出るので「承諾」をクリックしましょう。

次に「テンプレート選択」が現れるので、必ず「GR-SAKURA_Sketch_V1.08.zip」を選択し、適当なプロジェクト名をつけて「プロジェクト作成」をクリックします。
左カラムの「gr_sketch.cpp」をダブルクリックするとサンプルコードが真ん中に表示されます。こちらのページ(GitHub)にあるコードをコピーして、ここに貼り付けてください。
右カラムの「ビルド実行」をクリックします。数十秒ののち、上のような画面になるのでポップアップを閉じます。
左カラムの一番下に「sketch.bin」という項目があるので、右クリックメニューからダウンロードを選んで自分のPCに保存します。
GR-SAKURAが正常にPCに接続されていれば、外付けドライブ「GR-SAKURA」として認識されます。そのなかに、このダウンロードしたファイルをコピーしてください。もし認識されていなければ、GR-SAKURAとPCをUSB接続した状態で、GR-SAKURA基板上にあるピンク色のスイッチを押してもう一度確認してみましょう。
Arduino UNOの場合
Arduino UNOをパソコンに接続して、Arduino IDEの新規ファイルにこちらのページ(GitHub)のコードをArduino IDEにコピー&ペーストし、Arduino UNOに書き込んでください。
3. ためしてみよう
Arduinoは書き込み直後、GR-SAKURAはスケッチのコピーが完了次第、動作が始まります。アルコールセンサの特性上、電源を入れてから数分は正しい値を示さないようなので少し待ちましょう。
上の動画では、テスト段階のコードのためLEDの挙動が上記リンクのコードとは異なりますが、焼酎のはいったボトルキャップの真上にセンサを近づけるとLEDが左から順に光りはじめる様子が確認できます。
基本的に、検知されたアルコール濃度が低いほうから、
若芽(緑)→ つぼみ(黄色)→ 花(さくら色)→ 熟した実(赤)
と光るようにしています。お酒をまったく飲んでいないと緑色すら光りませんが、飲み過ぎると赤いLEDだけが光るようになっています。気持ちよく酔っているときにさくら色のLEDが光るように調整できればGoodですね! 適量がいちばんです。
センサの状態や外気温、それに個人差がとても大きいため、うまく光るセンサ値の範囲設定はスケッチのコメントを参考にして調整してみてください。例えば、デフォルトでは反応が悪い(酔っ払っているのに緑色)と感じたら、数値をすべて小さく(-100など)すると反応が良くなります。
なお、これはあくまでおもちゃですので、クルマの運転前の確認などには絶対に使わないでくださいね。一滴でも飲んだらハンドル握っちゃダメですよ。
ちょっとアレンジ編
このままだとお花見会場には持ち出しにくいので、ポータブルになるように電池を背負わせて、基板への部品のハンダ付けをしてみました。
さらにプログラムもちょっとだけ改造して、電源をつけたときはだいたいの気温がわかる「ぽかぽかインジゲータ(温度測定)」、GR-SAKURA表面の青いスイッチを押しているときは「酔っ払い度インジゲータ(アルコールチェッカ)」になるように手を加えました。
このアレンジスケッチはこちら(GitHub)からどうぞ。ただし、GR-SAKURA限定です……。GR-SAKURAをお持ちの方は、ハードウェア部分は一切触らなくても同じように動作しますのでぜひ試してみてください。
おわりに
ということで、GR-SAKURAとLED、アルコールセンサをつかって、アルコールチェッカを作ってみました。実はこのGR-SAKURAですが、先日LIGのエンジニア・のびすけが主催している「IoTLT」に登壇したときにいただいたものです。そして先日、秋葉原でさくら色のLEDを発見し、これらでなにか春っぽいモノを作れないかと考えて、今回のアルコールチェッカを作ってみました。
パーツさえ手に入ればすぐにできますので、ささっと作ってお花見に持っていってみてはいかがでしょうか。時期的には少々遅くなってしまった感がありますが、まだまだ見ごろなところもたくさんあると思います。東京はそろそろ終わりそうですが、あとしばらくの春めきを楽しんでいきたいですね。
それでは、次のモノづくり記事もお楽しみに!