おじさんプログラマー『プログラム玩具:embot+』を使って非実用的なロボットつくる🤖

# はじめに
はじめまして、NECソリューションイノベータ株式会社でビジネス探索(兼 技術探索)を行っている 森松 祐樹 と申します。
プログラム一筋35年で、普段は新規ビジネスのサービス開発や技術探索でゴリゴリとプログラムを書いています。

# embotとの出会い
私は46歳を超えているからか、コーディングをするのに~~飽きて~~疲れてきたので、ノーコードにでも手を出そうかなと思っていました。そんなとき、会社の起業マインド系の研修で見つけました！！ その名も ~~プログラミング玩具~~ノーコードツール [「embot（エムボット）」](http://qiita.com "Qiita Home") 

これは良いぞとピーンときたので、研修中にも関わらずオンライン注文。
少ないお小遣の中から1万円弱の捻出は痛手でしたが、これで仕事が捗るなら安いものですよね。
※個人的な妄想です


# embotとは
ところで皆さんはembotをご存知でしょうか？
embotは弊社と競合している大手通信会系子会社の社内ベンチャーで起業された [「株式会社e-Craft」](https://www.e-craft.jp/)様の製品になります。
私が考える特徴としては、
* スマートフォンやタブレットのアプリを使って、ブロックをドラッグ＆ドロップするだけでプログラミングができる
* 特別な知識がなくても、視覚的なインターフェースでプログラミングが可能
* 実行結果を可視化するためのダンボールロボットとセンサーや駆動系ユニットが付属

だと思います。

# 商品開封
ということで、注文した翌日に届いた商品をみてみましょう:grin:

### [外箱]
対象年齢が6才以上なので超簡単に利用できるノーコードツールってことでしょうか。6才(＋40)の私ともマッチしていますね。販売先のメーカもタカラトミーとは懐かしいです。40年ぶりに同社の~~おもちゃ~~製品に触れるなんて感無量です:joy_cat:
![外箱.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/4b819afc-26cd-aa57-2d46-56860e64bc61.jpeg)

### [中身(ダンボールロボット)]
ノーコードだけではつまらないのでロボットの組み立てと言う体験を付加してくれるのが素晴らしい！
![段ボールロボット.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/171f61e3-76e6-e136-a46b-5421e109f805.jpeg)


### [中身(ユニット＆説明書)]
実行結果をモニターだけでなく、スピーカー/LEDライト/ブザー/サーボモータに出力できるとのことなので、これまた素晴らしい体験がで期待できます。お金をかければ別途市販されている色々なセンサーも追加できるそうです。
![ユニット説明書.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/84797efc-7b53-419e-afe1-0d495fe1364a.jpeg)

# 組み立て
マニュアルによれば30分もあれば組み立てができるとのことですが、手先が不器用なので1時間以上かけて完成させました。
マニュアル通りにすればお子様でも作成できる難易度ですが、ダンボールであるがゆえに間違った方向に曲げたり、無理に挿したりすると、後々の耐久性に影響しそうです。ダンボールの先端がふにゃふにゃになっちゃう。。

1. 部位単位にある程度組み立てる
![IMG_3611.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/bd164720-df40-74b5-9f44-3096939a54f9.jpeg)

1. センサーとメインユニットなどの配線をする
![IMG_3612 2.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/403ca119-773b-bdd2-7d07-2b9b89b0b89e.jpeg)

1. 最終組立てとして部位通しを合体させる
最終組み立てができて歓喜の声をあげて写真を取っていたら、わんこも顔をだしてくれました:laughing:

![IMG_3616.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/88d470a2-931a-b471-d62c-40fce3f8765b.jpeg)

1. 無機質なのでデコレーションして完成
名前はクッキーワンちゃん(トイプードルです):hearts:です。
![IMG_3618.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/7b4ffec9-8004-cfbd-c1f3-ccc2ffefe6c5.jpeg)

# ローコードツール（アプリ）の導入

ロボットの準備ができましたので、ローコードツールをインストールします。

1. iosまたはandroidのストアからembotアプリをインストールする
![IMG_0601.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/c1bdfe9c-78b8-3712-85b9-06dec2d7ff68.png)

1. アプリを起動して会員登録後、ログインする
![IMG_0598.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/82fded9a-dc43-485c-ac49-9de5aeaa4d45.png)

1. ログイン後の画面のメニューから勉強したり、プログラムを作る
![IMG_0599.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/b006674c-b859-2b48-6ef9-73f8e2e70aee.png)

# アプリケーション課金
ログイン後のメニューに「ひらめきAPI」がありますが、
毎月300円の費用がかかる「ひらめきAPI」をアプリ内課金しないと、自由にテキストを指定して発声させることができないようです:sweat:
天気予報やニュースのAPIも利用可能ですが、漠然としない価格設定。。しょうがないので課金もしておく。大人だからからお金あるし。。。
※課金しなくてもブザーを用いてドレミファソラシドなどの音を出すことは可能です。
![IMG_0594.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/d0b5effe-98fa-9d51-68af-bda21c4aafa1.png)
![IMG_0595.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/716532df-d185-c9b2-ddcf-1ba40d90743a.png)

# 触ってみる
試しにロボットが自分自身を名乗って挨拶するプログラムを作ってみました。
パズルのように処理を組み合わせて必要なパラメータを選択するだけで作成できるのは可視化されていてわかりやすいですね。
（一般的なノーコードツールも同様ではありますが）
わかっていたことではありますが、独自のリソースが取れないので、出来ることが限定されます:frowning2:本当はオリジナルAPIを呼び出してあんなことやこんなことをさせたかったのですが残念:cry:

### メイン
![IMG_0603.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/e92c450c-429f-0e30-a201-cb7393acaddc.png)

### あいさつ関数
![IMG_0602.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3949991/2e0a2708-b012-6256-d401-47063b00f026.png)

### 実行結果(動画)
<iframe width="479" height="851" src="https://www.youtube.com/embed/Psr9v3rWEIY" title="embot+　あいさつ　サンプル" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>

あ〜ぁ、シュールな動き:joy:
今後、ランダムに癒やしメッセージを発声してくれるように改造します:sweat_smile:

# さいごに


### ポジティブな感想
1. 楽しみながら学べる
	- 工作（紙や段ボール）とプログラミングを組み合わせるというユニークな体験が、子どもたち大人にとても楽しめると思います
1. プログラミング初心者に最適
	- 視覚的なプログラミングインターフェース（ブロックプログラミング）が簡単で直感的
	- 難しいコードを覚える必要がなく、子どもでもすぐに使える
1. 創造性を育む
	- ロボットの外装デザインからプログラム作成まで、全体を自分のアイデアで作り上げるプロセスがクリエイティブな感性を芽生えさせる可能性があります
	- オリジナル作品を作る達成感がある
1.	教育現場での活用が多い
	- 学校だけでなく企業内ワークショップでの導入も有効的

### 改善してほしい点
1. 耐久性に関する懸念
	- 紙や段ボールで作るため、使用頻度が多い場合には壊れやすそう
	- 繰り返し使うには工夫が必要
1. プログラムの自由度
	- 基本的なブロックプログラミングでは簡単だが、より高度なプログラミングをしたい場合には限界がある。巷に溢れているAPIを呼び出せるようにして欲しい
1. 実行環境について
    - embot単独で動作するようにして欲しい。embotのアプリを起動してプログラムを実行しないかぎり動作できない

embotは面白い体験ができる~~ノーコードツール~~玩具です。ぜひ皆さんも試してみてください。
私は子ども向けのプログラミング学習ボランティアにembotを持っていこうと思います:grinning: