福野泰介の一日一創 - create every day

Nintendo Laboでサーボを動かす方法 / IchigoJamの楽器として使うNintendo Laboと電子工作

2018/04/22
#KidsIT #IchigoJam #maker 

Nintendo Laboを使ったプログラミング。Joy-Con(R)についているIRカメラで電子工作!
IchigoJamからLaboへは赤外線LEDで、LaboからIchigoJamへは光センサーが活躍します。

IchigoJamからNintendo Laboをコントロール

Nintendo LaboをIchigoJamの楽器にしてみよう。

赤外線LEDを用意して、IRカメラに向かって光らせると「IRカメラ(赤外線OFF設定)」に白く認識。
これを「スポイト」で「音をならす」や「振動」につなぐだけ。

(かわくだりゲームに効果音と、終了時の振動を追加した動画)

準備するもの
- IchigoJam 1500円〜2000円くらい
- 赤外線LED 5コ100円(10コ150円100コ950円


目に見えない赤外線LED、IRカメラには見えてます!


OUT3 OK OUT1 OK OUT2 OK OUT0 OK

OUT3 で、赤外線LEDを2つとも光らせて、IRカメラで反応する場所を確認して、その場所にスポイトをセット!


スポイトの設定はデジタル、範囲をいい感じに調整しよう。

5 OUT1:WAIT30:OUT0 10 CLS:X=16 20 LC X,5:?"O" 30 LC RND(32),23:?"*" 35 WAIT3 36 X=X-BTN(LEFT)+BTN(RIGHT) 37 IF SCR(X,5) OUT2:WAIT30:OUT0:WAIT30:GOTO5 40 GOTO20

かわくだりゲームに、OUT1で効果音(5行)、OUT2でゲームオーバー時の振動(37行)を加える改造を施したもの。


赤外線LEDの場所とIRカメラ(Toy-Con(R))の位置を固定する治具を作って置くと良い感じ。
IRカメラを広くとって、暗い箱の中にいれ、ピアノのように、赤外線LEDをたくさん並べるとコントロールの幅が広がります。

Nintendo Laboでサーボを動かす

今度は逆に、光センサーを使って、Nintendo LaboからIchigoJamをコントロール!

(Toy-Con(L)のスティックでサーボを操っている動画)


IRカメラの赤外線発射機能「IRひかる」を使って、Nintendo LaboからIchigoJamへ信号を送ろう。 光センサーで受け取った信号に応じて、サーボを動かすプログラムをIchigoJamで作っておけばできあがり!

準備するもの
- IchigoJam 1500円〜2000円くらい
- 光センサー(フォトトランジスタ) 2コ100円
- 10kΩの抵抗 100コ100円
- サーボ SG-90 400円
- ジャンパーワイヤー 60本220円
- ブレッドボード 130円


IchigoJamに、ジャンパーワイヤーVCC(赤)、IN2(オレンジ)、GND(青)を3本さす。
ブレッドボードに赤、オレンジ、3つ飛ばして、青とさす。
赤をさした列にフォトトランジスタの長い方、オレンジに短い法をさす。
オレンジの列と、青の列に抵抗(10kΩ)をさす。*抵抗に向きはない

テストプログラム

10 ?ANA(2):WAIT10:CONT RUN

Nintendo Laboで「タッチ」と「IRひかる」をつなぎ、光らせて値がどう変わるか観察しよう。

10 IF ANA(2)<300 CONT 20 CLT 30 IF ANA(2)>250 CONT 40 T=TICK():?T 50 GOTO 10

IchigoJamで光っている長さを測るプログラム。「IRひかる」の光る長さを変えて実験!

「IRひかる」光る長さを0.00のものと、0.14前後のもの、2つ用意して、タッチやスティックで光るようにセット。
サーボとIchigoJam、茶色をGNDへ、赤を5Vへ、オレンジをOUT2へつなぐ。
IchigoJamのプログラムに光っている長さに応じて、サーボを動かすプログラムを追加。

41 IF T<15 PWM 2,200 42 IF T>=15 PWM 2,60

Joy-Conのスティックでサーボが動きます!
IchigoJam単体でコントロールできるサーボの数は4(OUT2、OUT3、OUT4、OUT5)
Nintendo Laboからの信号を受け取って、どの動かすかは自由自在!

光センサーで「画面ひかる」を検出したり、加速度センサーでJoy-Conの振動を検出したり、サーボでマーカーを振ってみたり、つなぎ方いろいろ、遊び方いろいろ。

赤外線LEDと赤外線受光モジュールを使って、家電の制御とつなぐことも!?
DMM 4K対応、プログラマブル学習リモコン by IchigoJam / Programmable IR receiver and sender

記憶に残る日。若者に世界が見える体験を! One Young World 2017 福井報告会

2018/04/21
#doc #KidsIT #IchigoJam #fukui #PCN #web 

コミュニケーションとは「伝えること」ではなく「伝わること」
今まで誰からどんな衝撃をもらって、今の自分が在るのか?
自分は、相手に何をプレゼントできるか?

社会をより良くするため、例え小さくても押し続けよう


2015年のバンコク開催に参加した白崎さん。
法律で、テロとどう戦うかの議論中に現れた青年。 難民キャンプで子供向けに自由に夢を描いてもらうアートワークショップでテロの連鎖を止めようとしている話に衝撃を受けた。


日本初の都道府県選出代表、福井県で選ばれた、中嶋さんによる報告。


「Fukui to the World」
頭をガツーンとやられたような、ショッキングな体験。この積み重ねが人生。
1年で記憶に残っている日は何日ある?と、若きリーダーに向けて問いかける、大久保さん。
One Young World 国際本部メンバー、Japan Committee 委員長

福井から始まった、県選出モデル。
都道府県すべてから一人ずつ日本代表が選出され、世界とネットワークを作ってくるビジョン!


196カ国1300人の若きリーダーが集まる濃密な4日間を紹介。
環境、貧困、平和、そして、教育など、世界共通の課題のセッション。
各国の若きリーダー、SDGsの内、何が最も重要か?話し合い、発表したワークショップ。
食事の時間も貴重なお話時間。インドの女性と仲良くなって、贈り物が後日届けてくれたとのこと!


PCNとして福井を中心に「こどもプログラミング」を広める活動、コロンビアでも!

1 IF BTN()=0 GOTO 1 2 OUT 1:WAIT 60 3 OUT 0:WAIT 60 4 GOTO 2

誰かがボタンを押してくれたら、1秒おきにモーターを回したり止めたりしてくれるロボットのIchigoJam BASICによるプログラム。

手順番号、1〜4でロボットにやってほしいことを伝えます
1. もし(IF)、ボタン(BTN)が押されていなかったら(=0)、1へ行け(GOTO1)・・・ボタンが押されるまで待つ
2. モーターなどを回せ(OUT 1)、そして、60数えるまで待て(WAIT 60 = IchigoJam時間で1秒を意味する)
3. モーターなどを止めろ(OUT 0)、そして、60数えるまで待て(WAIT 60)
4. 手順番号2へ行け(GOTO 2)

毎秒5000万回をも計算する、たった100円のコンピューターにやってほしい想いを伝えるのがプログラミング。 伝わったかどうかはコンピューターは瞬時にメッセージや、結果で応えてくれるのがいいところ。


日本にもある、世界に目を向けるきっかけ。
ベトナムから参加の起業体験イベント「Startup Weekend Fukui」や、アフリカからの留学生のためのict4e会社説明会などを通じて、興味を持ったとのこと。


最後に中嶋さん、今後の活動として「こどもプログラミング」へのコミットを表明!(左から、遠路敦賀から参加の元気な高校生、大久保さん、中嶋さん)
やりましょう!


昨年つながった、アフリカ、ルワンダ。
今年も10月子供たちへのワークショップを企画中のict4e/ict4r代表の原さんと白崎さん
ルワンダ語版IchigoJamプログラミング教材「IchigoJam print in Rwandan」アリマス!


中嶋さん報告にもあった、平和セッションでのルワンダ代表からの体験談ほかハイライト動画


オランダ、ハーグで開催、OYW2018
語学力より大事なこと、「社会をより良くしたい」という想い。

「one web」をミッションとするwebを始め、日々誕生する、かつて存在しなかった様々な世界をつなぐツール達。 各国言語に対応した認識&読み上げ、翻訳に対応する「UDトーク」や「Google翻訳」がある今、怖がる理由はなくなりました。 必要なのは、一歩踏み出す勇気だけ。

みんなで作る、ひとつの世界。
One Young World」体験したい人、ぜひアクションを!

世界もひとつの地域。
体験なしに理解するのは難しい。

links
- One Young World | One Young World Japan Committee - OYW日本委員会
- How to attend the Summit | One Young World - OYW本部 2018開催
- W3C Mission
- 日本企業も注目していくべき?世界で輪が広がっている「One Young World」とは | ビッグライフ21 Biglife21

Nintendo Laboレビュー、7セグディスプレイづくりとファミリーベーシックの思い出

2018/04/20
#KidsIT #mie 

Nintendo Lab のものづくり環境「Toy-Conガレージ」で7セグディスプレイづくり。
タッチでブロックをつなげる論理回路風に、自由に作れるモードがあります。

一番苦労したのが位置合わせ。動作している様子とロジックの紹介などはこちら。

「画面ひかる」ブロックを「うごく」で設定し、数に応じて光る部分が動くものと「中間」の「スポイト」を使って、各セグメント発光へつないで、0〜9まで7セグメント表示。 状態の整理用に「タイマー」ブロックを0.0設定して使用。ロジックを整理してどれだけシンプルに作れるか挑戦するのもあり(ヒント、カルノー図

タッチの操作が微妙で、思ったことと違う動作になってしまって困る。
ロジックを整理するのにまとめて選択が欲しい。
中間のブロックにバリエーションが足りない。
スポイトは入力がしっくりくる。
作ったプログラムの共有ができない(キャプチャーからのプログラム再現が困難または無理、ベーマガ・PCNこどもプロコンへ投稿できない)。
やっぱり普通にプログラムを書かせてほしい(もしかして、裏モードがあったりする!?)


「画面ひかる」は、IchigoJam同様、白オンリー。色を付けたい時は、古のカラーセロハンテクノロジー。


7セグLEDの用紙があったのでテンプレートがあるのかと思いきや、切り抜いたセグメントを手で埋めるという工作案内。 コンピューター制御したくなるよう誘っている!?ということで、やってみたのが上記でした。


アルプス電子の周波数の指定ができちゃう振動モーター内蔵コントローラーを使ったラジコン。前進のみ。


ダンボールの加工品質が良いので、表面が剥がれてしまうという残念なことがおきにくそう。


工作用のダンボールがたくさん!説明の紙はなし。すべてSwitch上で説明される。


Amazon限定!マステがかわいい。


Toy-Conガレージにたどり着くまでのチュートリアルが丁寧。(だけど、飛ばしたい・・・。)

本日、PCN三重代表、岡村さん来福!

届けてもらった、PCNこどもプロコン2017冬で、jig.jp賞受賞の三重県の清水帯刀くんから写真とうれしいメッセージ。 LEDマトリクスがお気に入りとのこと!派手にチカチカさせちゃってね!(チカチカのさせ方

清水くんの作品、JYUURYOKU IZYOU TITAI (重力異常地帯)
ボールの替わりにくるくる変わるカタカナが斬新な、IchigoJam BASICの作品でした。

PCNこどもプロコン2017冬 | PCN プログラミング クラブ ネットワークより)

ものづくり力アップの一番の近道は、作りたいものをとことん作ること!

31年前、小3の時、自分でゲームが作れることに驚いたファミリーベーシック。 BASICから入るプログラミングの世界は、入門本と実機、全国の仲間が作った生きた参考プログラムさえあれば、自分で思う存分チャレンジできる最高の遊び場でした。 ファミリーベーシックのおかげで始まったプログラミング人生。

Nintendo Laboから始まる、ファミリーベーシック第二章に期待!

links
- Nintendo Labo | Nintendo Switch | 任天堂
- ファミリーベーシック - Wikipedia
- 動画 - Nintendo Labo Toy-Con 01 - 7seg LED / 7セグメントLEDづくり - YouTube

電波時計の電波を見る。モールス信号デコーダーで学ぶデコーダープログラム

2018/04/19
#IchigoJam #KidsIT #maker 

自動的に時刻を合わせてくれる電波時計。 その仕掛けは、佐賀県(60kHz)と福島県(40kHz)に2箇所ある、起業家甲子園でおなじみNICT(情報通信研究機構)の施設から発信される電波にあります。 IchigoJamと電波時計モジュール(関西など用60kHz40/60kHz設定可能版 - aitendo)を使って電波時計づくりにチャレンジ!


高い音と低い音が同時になっても和音として認識できるように、電波も、周波数によってスマホの通信、無線LAN、テレビやラジオ放送など、同時に重ね合わせて使っています。 その中でも30kHz-300kHzの長波と呼ばれる帯域中で動いているのが標準電波(電波時計)、振動しているか否かという原始的な送信方法が使われています。

NICTのweb「標準電波の出し方」に、その信号フォーマットが紹介されています。

1bps = 1bit per second = 毎秒1bit
1データ 60bit、60秒/1分
データ種:マーカー(HIGH:200msec LOW:800msec)、1(HIGH:500msec LOW:500msec)、0(HIGH:800msec LOW:200msec)、モールス信号
エンコード方式:2進化10進数(BCD)による、時、分、通算日、年(西暦下2桁)、曜日、うるう秒情報、停波予告情報


通常時(毎時15分、45分以外)のタイムコードより)
うるう秒に対応する方法などがおもしろい!

電波時計モジュール(60kHz)は3.3VでもOKなので、ピンソケットをはんだづけ。IchigoJamのOUT1,-1として入力に切り替え、IchigoJamのVCC,GND,OUT1,OUT2に挿し込む。

10 OUT1,-1 20 ?IN(5);:CONT RUN

信号が見えました!
デコードプログラムをちょっと書いてみましたが、時々ノイズが入って化けてしまいます。

標準電波の変わっている点、毎時15分と45分の時はフォーマットは通常と違って、年と曜日の替わりに、モールス信号と停波予告が含まれています。

ノイズ混じりのデコードに挑戦する前に、モールス信号のデコーダーで腕試ししておきます。

モールスデコーダー for IchigoJam
モールス信号は、電波時計と同様、電波の特性周波数が振動しているか否かで伝える電波を使った最古で最もシンプルなコミュニケーション方式です。 短いON/OFFと、その3倍の長さを基本に、文字や文章を表します。

まずはボタンを押したかどうかを表示してみます(BTN(32)をBTN()にするとIchigoJam本体のボタンになります)

10 ?BTN(32);:CONT RUN 00000000000111000001100

ボタンが押された長さを測ってみます

10 IF BTN(32)=0 CONT 20 CLT 30 IF BTN(32)=1 CONT 40 ?TICK() 50 GOTO 10 RUN 15 4 4 6

短いはTICK()で10、1/6秒を区切りとして、長ければ3、短ければ1を表示してみます

35 IF TICK()>10 N=3 ELSE N=1 40 ?N; RUN 313311

押されていない間の時間も測って、長く押されていなかったら文字の区切りとします

45 CLT 46 IF TICK()<30 AND BTN(32)=0 CONT 47 IF TICK()>=30 ? RUN 13 333 111

1と3で表すモールス信号、A〜Zを配列にセットして、デコードするプログラムを追加します

2 LET[0],13,3111,3131,311,1,1131,331,1111,11,1333,313,1311,33,31,333,1331,3313,131,111,3,113,1113,133,3113,3133,3311 RUN 100 FOR I=0 TO 25:IF [I]=M ?CHR$(65+I) 110 NEXT:RTN M=13:GSB100 A OK

3と1を一桁ずつ足していくプログラムを作成

5 M=0 37 M=M*10+N 47 IF TICK()>=30 ?" ";M:M=0 RUN 0 13 13 333 333

デコーダーと組み合わせて、できあがり!

47 IF TICK()>=30 ?" ";:GSB100:M=0 RUN 31 A 3111 B 3131 C 333 O 111 S

こちら、できあがった簡易モールスデコーダープログラム全文

2 LET[0],13,3111,3131,311,1,1131,331,1111,11,1333,313,1311,33,31,333,1331,3313,131,111,3,113,1113,133,3113,3133,3311 5 M=0 10 IF BTN(32)=0 CONT 20 CLT 30 IF BTN(32)=1 CONT 35 IF TICK()>10 N=3 ELSE N=1 37 M=M*10+N 40 ?N; 45 CLT 46 IF TICK()<30 AND BTN(32)=0 CONT 47 IF TICK()>=30 ?" ";:GSB100:M=0 50 GOTO 10 100 FOR I=0 TO 25:IF[I]=M ?CHR$(65+I) 110 NEXT:RTN

手による遅い信号デーコードに慣れたら、同じくゆっくりな電波時計の信号デコードにも挑戦!

links
- 標準電波の出し方 - NICT国立研究開発法人 情報通信研究機構 日本標準時グループ
- 電波時計モジュール(60KHz) - aitendo
- 電波時計モジュール(40/60KHz) - aitendo
- 電波 - Wikipedia
- 音声読み上げで自学する和文モールス信号 on IchigoJam
- IchigoJam モールス信号エンコーダー アルファベット編
- こどもパソコン IchigoJam - はじめてのプログラミングパソコン(1500円)
- IchigoJam検定

プログラミングで楽しく学ぶ「分数の足し算 / IchigoJamプリント」 - IchigoJam検定をリリース!

2018/04/18
#IchigoJam #KidsIT 

鯖江の小学校の算数の先生に、つまづきやすいポイントを聞くとやはり多い「分数」。
分数を数と訳した大失敗はひとまず置いておき、分数の足し算の解き方はプログラムそのものです。


分数計算プログラムで、1/5 + 2/8 を計算した様子

10 ?"A/B+C/D=" 20 INPUT "A?",A 30 INPUT "B?",B 40 INPUT "C?",C 50 INPUT "D?",D 60 F=B*D:E=A*D+B*C 65 FOR I=F TO 2 STEP -1 66 IF F%I=0 AND E%I=0 F=F/I:E=E/I 67 NEXT 70 IF F=1 ?E ELSE ?E;"/";F

作り方をIchigoJamプリントとしました。思う存分改造して、分数という罠を突破しましょう。

分数の足し算(算数) PDF

漢字を習っていない子供向けにも!

ぶんすうのたしざん(さんすう) PDF

IchigoJamの理解度をチェックする、IchigoJam検定をリリースしました!
2018年春「IchigoJam検定」を開始いたします! 〜2020年のプログラミング教育必修化に向け「IchigoJam」をお役立てください〜

links
- プログラミングの理解度をはかる「IchigoJam検定」小学生以上を想定 | リセマム
- 子どもパソコン「IchigoJam」がスキルを計る検定を開始 | ICT教育ニュース
- 分数が分かるアプリ
- 小学校で分数は教えるな!分数は数ではない 数の教育探求

デジタル指点字、6点式体表点字デバイスをIchigoJamで作る方法。代表が中学生のPCN支部誕生!

2018/04/17
#IchigoJam #braille #KidsIT 

指点字。見えず聞こえない、盲ろうの教授、福島智さんの本「ことばは光」に登場する、コミュニケーション手段です。 指の感覚というインプットを使い、6点で1文字を表す点字を、話し手から両手の人差し指、中指、薬指の6指使って受信する。

振動モーターを使った長谷川さん考案の体表点字の応用として、6つの振動モーターに拡張する回路を書いて、作ってみたのがこちら。

被験者は福井大学教育学部附属義務教育学校(以下、福大附属)科学部の小林くん
分かりそう!との声。

3Vで動き、100mA程度消費する、振動モーター(円盤型、2コ100円)を動かすには、せいぜい10mA程度しか流せないIchigoJamのOUTポートでは力不足。 そこで登場、電気信号で切り替えるスイッチ、MOSFET(モス・エフイーティー)、2N7000。 VGSthというしきい値が、2.1Vなので、OUT命令で3.3Vを出力するIchigoJamにぴったり。MOSFETの出力電流(ID)も200mAと振動モーター1つ駆動に十分です。


FAIRCHILD 2N7000 データシートより)
G(gate)に電圧をかけるとON、D(drain)からS(source)へと電流が流れます。

6つの振動モーターを制御するために、6つのMOSFETを配置します。
こういう時は紙と鉛筆(ボールペン)が便利、ちょうどいい配置が見つかりました。

Sを真ん中に一直線に配置し、GNDに接続。
振動モーターは3.3VからDをつなぐピンソケットに接続。
Gの隣にOUT1-6から配線。

IchigoJam用の拡張基板の工作には、aitendoの信号名入りユニバーサル基板[P-JAM-EXT-U]が便利です。
IchigoJam Tについている3.3Vは、最大300mA、振動モーター6つ(600mA)には不足するので、IchigoJamのCN5の5Vから電源をとって、別途レギュレーターで3.3Vをつくります。
手元にあった500mAのレギュレーターを2つ並べましたが、最大2Aのレギュレーター(2コ100円)がきっとシンプル。


振動モーター6つをマスキングテープで腕の貼り付け、動作確認。いい感じに震えます。

10 FOR I=0 TO 63 20 OUT I:WAIT 10 30 OUT 0:WAIT 60 40 NEXT 50 GOTO 10

6点、6bitで順番に出力するテストプログラム
(点字について、創ろう!攻殻機動隊の世界、体表点字で有線編 - 高専カンファレンス in 高尾2018 kosenconf-118takao // Speaker Deck


音声合成ボードの使い方とI2Cを紹介。いろいろしゃべらせて遊びながら夢広がっている様子。
大きな音が鳴るようにすると、関心引きそう。AIスピーカーは創れる!
しゃべるIchigoJamで、聞くプログラミング - 音声合成版ブラインドプログラミング


力強い看板「科学部」の先には・・・


天国がありました!ジャンクで創造、そして、販売へのチャレンジも楽しいかも!?
自分で創ったモノを売ってみよう!はじめてのしょうばい - 高性能温湿度計のつくりかた(SHT31編)


かわいいお魚。水族館プロジェクトがあるとのこと!


スッポン!なんと近所の川にもいるらしい。


中学生が代表するPCN支部、誕生へ!

代表の小林くん(右から2番目)は、はじめての人には教えられるけど、初級者向けにも教えられるようになりたいと意欲的。 附属幼稚園、福大教育学部の大学生、先生へと教えられる人は周りにたくさん!自分で設計して作っているという、自動ドアへもアドバイス。

メンバーで共有する、Twitterアカウントを作って、活動報告や、わからないこと質問などに使うと良いかも。 作った知見は、GitHubを使ってwebサイトとしての公開も効果的。いろんなツールを使いこなして、より良い社会を創っちゃおう!

すべての科目をプロジェクトベースで進める福大附属の新スタイル、子供たちが世界の教育を変えようと取り組む姿がスゴイ。日本の教育システム、まだまだポテンシャルありますねっ。

links
- プログラミングは勉強だってゲームに改造できる秘密の道具、福井大学附属中学校21世紀夢講座2017年から義務教育学校へ

音声読み上げで自学する和文モールス信号 on IchigoJam

2018/04/15
#IchigoJam #KidsIT 

読み上げてくれるとできるながら学習。
人間、複数の感覚から刺激されたことはよく覚えるようにできている。
なので、読んで、聞いて、手を動かして、作ってみて、考えてみるのがいい。

音声読み上げチップ AquesTalk pico x IchigoJam を使って、いままで覚えてこなかった和文モールス信号に挑戦。
100文字/分速度のモールス信号に続いて、かなをイロハ順に読み上げてくれるモノを作ってみました。

プログラムはこちら。配列に和文モールス信号が50コ、AquesTalk読み用のかなが50コ入れる。

10 LET[0],13,1313,3111,3131,311,1,11311,1131,331,1111,31331,1333,313,1311,33,31,333,3331,1331,3313,131,111,3,113,13113 20 LET[25],1133,13111,1113,133,3113,3133,3311,3333,31333,13133,33133,31313,31311,31133,31113,11313,33131,13311,33113,31131,13331,33313,13131,11,11331 30 LET[50],"i","ro","ha","ni","ho","he","to","ti","ri","nu","ru","wo","wa","ka","yo","ta","re","so","tu","ne","na","ra","mu","u","i" 40 LET[75],"no","o","ku","ya","ma","ke","fu","ko","e","te","a","sa","ki","yu","me","mi","si","e","hi","mo","se","su","n","da","pa" 100 FOR I=0 TO 49 110 ?[I],STR$([50+I]) 120 N=[I]:GSB@MORSE:WAIT 30 130 S=[50+I]:GSB@TALK:WAIT 30 140 NEXT 150 END 200 @MORSE:S=100 210 P=10:W=360/S:IF W<10 W=-36*261/S*10 220 B=10000:FOR J=0 TO 4:M=N/B%10:IF M<0 M=M+6:N=N+35536 230 IF M LED1:BEEP P,600:WAIT W*M:BEEP0:LED0:WAIT W 240 B=B/10:NEXT 250 WAIT W*3 260 RTN 300 @TALK:U=I2CW(#2E,S,LEN(S)):U=I2CW(#2E,13):RTN

ハマったポイントは、3と1とで表していたモールス信号、5文字の33000以上だと16bit正数の上限を越えて、値がマイナスになってしまう。
マイナスになった時は、適度な数を足して補正。(置換が使える環境であれば、3の替わりに2にしたほうが簡単)

工夫したポイントは、WAITのマイナス値指定を使うことで、1/(261*60)秒単位で待ち時間を調整し、より正確なモールス速度を実現している。200行のSを変更してみよう!
IchigoJam BASICリファレンス WAITの項目参照、IchigoJam web は未対応)

Nに符号化したモールス信号をセットして、呼び出す。下記は、有名なSOSの発信。

N=111:GSB@MORSE:N=333:GSB@MORSE:N=111:GSB@MORSE

links
- IchigoJam モールス信号エンコーダー アルファベット編
- モールス符号 - Wikipedia

IchigoJam モールス信号エンコーダー アルファベット編

2018/04/13
#IchigoJam #KidsIT 

PCN秋葉原Assemblageにて出会った、ハムつながり!
学生時代、モールス信号覚えてとったあアマチュア無線の免許。目に見える文字やモノを頭のなかでモールス信号にする訓練。

まずはシンプルなキーボードで打ったキーをモールス信号として出力するプログラムづくり。

モールス信号エンコーダー アルファベット編 (RUN on IchigoJam web)
Web Audio API を使って、サウンド出力にも対応している IchigoJam web でも動きます!

Aとタイプすると、ピピーっと鳴って、LEDも合わせて光ります。
いろいろ打っていると、なんとなく覚えられちゃいますよ。


本日、鯖江でKidsVenture&PCNミーティング
すべてのこどもたちにプログラミングを!

IoT for everyone! 大人IoTプログラミング体験 at Salesforce.com Tokyo Marunouchi

2018/04/12
#IchigoJam #IoT #KidsIT 

東京丸の内、世界一のCRMソフトウェア企業、セールスフォース・ドットコムにて、IoTプログラミング体験会。

こどもIoTハッカソンの流れに沿って、IchigoJamを使ったはじめてのプログラミング&電子工作&ネットワークづくり、そして、sakura.ioを使ったはじめてのIoTとアイデアソンまで!


IoTの前に「T」できた!(セールスフォース・ドットコムのみなさま!)


翔泳社デブサミでお会いした、セールスフォース・ドットコムの阿部さんも共同著書のIchigoJam紹介本つながりも!
子どもに読んで伝えたい!おうちではじめるプログラミングの授業 (SHOEISHA DIGITAL FIRST) | 阿部 崇, 平 初 |本 | 通販 | Amazon
子ども向けパソコン「IchigoJam」どこで買う?~はじめてのプログラミングキット購入とセットアップ (1/2):EdTechZine(エドテックジン)」 by レッドハット 平 初さん


まずはコンピューターの基本要素、インプット、アウトプット、電源の3点つなぐセットアップから


ディスプレイ、キーボードを外して、ボタンを押しながらスイッチON、モノがプログラミングできました
映画マトリックス、最終シーンの主人公ネオように、社会に潜むコンピューター達の息遣いが聞こえますか?


かわくだりゲームで学ぶアプリケーションの基礎、子供も大人もワーっとなる、魔法のコマンド、GOTO20
100円だって5000万回、コンピューターの繰り返し速度だって超高速(動画


今回の新アイテム、1つ40円の温度センサー(MCP9700-E/TO


平らで字が書いてある方を上に、足が右をむくようにおき、IchigoJamのCN4のGND/OUT1/OUT2に差し込みます
OUT1を入力(IN5)へ切り替え、アナログ信号入力コマンドANA(5)で温度に連動する数が取得できます
指で温めるとじわじわ上がる温度、飲み物で冷やすとどんどん下がる


値段の違いは、精度の違い。
原価の把握と必要最小現のスペックを見極めるがIoTビジネス成功の秘訣!


デバイスに刺さっているSIMカードが見えますか?
いよいよIoT、鯖江市営バスでも活躍、月額65円で1万回(日付除いて、最大1.2MB送受信)通信できる4Gデバイス sakura.io をつなぎます。

即興でもつくれちゃう、IoTピアノ

10 GSB810:IF F BEEP N,30 15 WAIT10:GOTO10

スマホから数を送るとその数に応じて圧電サウンダー(30円)から音が奏でられます
12名でのIoT合奏団のできあがり!


復習用「こどもIoTハッカソン大人体験会」の資料(アイデアまとめなど少し加筆版)


もっとやりたい!ぜひオンラインショップもある「PCN(プログラミング クラブ ネットワーク)」へどうぞ!

丸の内だと、PCN直営、秋葉原のフラッグシップ店、ASSEMBLAGEも近いです
東京駅から3分、JR秋葉原駅の電気街口から徒歩1分!


楽しい時間、ありがとうございました!
IoT programming for everyone!


お花きれいなセールスフォース・ドットコム社内、アストロ&クラウディ、かわいい

links
- Salesforce - セールスフォース・ドットコム
- 寄せられた感想
- こどもIoTハッカソン
- Hana道場
- こどもパソコン IchigoJam - はじめてのプログラミングパソコン(1500円)

自分で創ったモノを売ってみよう!はじめてのしょうばい - 高性能温湿度計のつくりかた(SHT31編)

2018/04/08
#KidsIT #sabae #megane #IchigoJam #maker 

人はなぜ勉強するのか?
→ 価値提供力を高め、社会をより良く発展させるため。

最もシンプルな価値提供、自分で創って自分で売る。
「はじめてのおつかい」ならぬ「はじめてのしょうばい」体験を鯖江市の定例祭、誠市で実施。
小学生自ら、メーカー兼販売店兼販売員となって、行き交う人に売り込み!
商品は、先日「ハードオフ x Hana道場企画、ジャンクREメイクショップ」で創ったもの。


ラジオの発電機と扇風機の羽を再構築してメガネに接続魔改造された「せんぷうメガネ」2,000円


メカなメガネだから「メカネ」ナイスネーミング!


ガラケーを再構築した「電話けんし」500円


基板やコンピューターをたっぷりつかったメガネ「コンピューターづくし」1000円(税抜)


メーカーさんと一緒に写真が撮れるサービス、いいね!


試着できます


興味がある人ない人、買ってくれる人くれない人、値段は高い?安い?


商売というコミュニケーション、売り手の立場が分かると、買うときの意識も変わります。


どういう店構えにするといいかな?「自分の商品を売る」をゴールにあれこれその場でチャレンジ!
自分の作品が売れたあとも、「友達の作品を紹介して一部もらおう」など、早速商売の幅が広がってました。
雨で客足少ないなら、売り込んじゃおうと、会場中を商品を持って走り回ってました。


ここでしか買えないメガネ!


美味しくてお買い得な、たくあん
周りのお店で何がいくらで、どのくらい、どういう人に売れている?現場で学ぶマーケティング。


鯖の丸焼き!


あったかいシシ汁、おいしかった!


定番サバエドッグ、実はその誕生は2010年7月12日の誠市(命名は鯖江市長!)
サバエドッグ(福井県鯖江市) 持ち歩くソースカツ丼  :日本経済新聞
全国にファンを持つ鯖江グルメの代表格。いち早く掲載したのはこのブログ

あるくソースカツ丼!?サバエドック登場、雨でも賑わう7月誠市&ご縁市
新しい商品が生まれるお祭、誠市!


市長と!


楽しかった、またやりたいとの声!それぞれ何か手応えを掴んだ様子。


5度台まで下がった冬日、ストーブと福井弁でしゃべる温度計が活躍してました。


950円の高性能温湿度計、SHT31
ピンヘッダーでブレッドボード上で接続してもOKですが、基板でIchigoJam用にコンパクト化!


SHT31使用 高精度温湿度センサモジュールキット: 組立キット 秋月電子通商 電子部品 ネット通販
基板 for プラケース(2枚入) - aitendo」←この基板をニッパーで切って使ってます


下二桁表示で、リアルタイムにくるくる変わる温度と湿度がなかなか新鮮。

SHT31、I2Cで数値を取り出す方法

POKE#700,#2C,#06:R=I2CR(#45,#700,2,#700,6)

温度や湿度の計算にマシン語を使って (A*B)>>16 を実現

R1+=R0 R0=[R1+0]W R2=[R1+1]W R0*=R2 R0=R0>>16 RET

これをasm15マシン語表を見て手でアセンブルしたものを使います。
ポインタで連続する2つの変数を渡して計算するテストで確かめましょう
マシン語わからなくても使えればOK!)

POKE#700,1,68,8,136,74,136,80,67,0,12,112,71 [0]=17500:[1]=24834 ?USR(#700,#800)-4500 2131 ← 21.31度

温湿度計に仕立てます!

10 U=96:LET[U],#4401,#8808,#884A,#4350,#0C00,#4770:U=#800+U*2 15 GSB@LINIT 20 POKE#700,#2C,#06:R=I2CR(#45,#700,2,#700,6) 30 [0]=17500:[1]=PEEK(#700)<<8|PEEK(#701):T=USR(U,#800)-4500 40 [0]=10000:[1]=PEEK(#703)<<8|PEEK(#704):H=USR(U,#800) 45 CLS:?"@"; 50 ?" ";T/100;".";DEC$(T%100+100,2);CHR$(1);" "; 60 ?H/100;".";DEC$(H%100+100,2);"%"; 70 ?" ":S=#900:GSB@LPOS:GSB@LPUT 80 WAIT10:GOTO20 300 @LINIT:LET[0],#38,#39,#14,#70,#56,#6C,#3C,#C,#1:FORI=0TO8:POKE#700,0,[I]:R=I2CW(#3E,#700,2):NEXT 305 POKE#700,0,#48:R=I2CW(#3E,#700,2):POKE#700,#40,#18,#18,7,8,8,8,7,0:R=I2CW(#3E,#700,9):RTN 310 @LPUT:R=I2CW(#3E,S,LEN(S)):RTN 320 @LPOS:POKE#700,0,#80:R=I2CW(#3E,#700,2):RTN

液晶AQM1602とSHT31を接続して使用
10行:掛け算&シフトのマシン語を配列に格納

WS2812Bでキラキラ光るバー表示もステキかも。
温度センサーIC MCP9700-E/TO 低消費電力リニアアクティブ: センサ一般 秋月電子通商 電子部品 ネット通販

次は何創る!?

links
- はじめてのはんばい!ジャンクREメイクショップ in誠市: Hana道場
- バラバラにしてつくって販売!?ジャンクREメイクショップ: Hana道場
- HARD OFF × Hana道場 ジャンク品REメイクショップ開催 | 親切丁寧な買取、リサイクルショップならハードオフグループ

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / high-res profile image