快適さ、熱中症対策には重要な湿度。IoT温度計に湿度を追加し、WBGTを簡易計算したものと加えて、古い iPad mini でも表示。 温湿度IoTは、SHT31を使ったIchigoJam BASIC 5行のIoTプログラムをIchigoSodaに電源をつないで動かしてます。 5分に1度の4G通信、sakura.ioなら月額使用料66円。オフィス他、親や、祖父母家に設置しておくのもいいでしょう。

IchigoOndo for ES5 src on GitHub
sakura.io の DataStore v2 のトークンと、登録したモジュールID、送信したチャンネル番号を記載すれば使えます。


iOS 9.3.5 で、アップデートが止まってしまった古いiPadですが、ES6で導入された let/const、class、TypedArray、=>による関数定義、ES7の async/await が使えないことを考慮すればOK。


今回のグラフ表示は、Chart.jsを使わず、HTML Canvas を使った自前実装。2軸使った表示で、区切り線が2種類出したくなかったのです。 赤い線が気温、オレンジがWBGT、水色が湿度、それぞれ薄い線は昨日のデータを表します。

環境省による暑さ指数WBGT、気温と湿度で算出する計算式が掲載されていたものを使用。

現在の暑さ指数(WBGT)について


県内ミニ観光、福井県大野市へ。いい空と夢助ソフト(だんごのせ、あんこ入りソフトクリーム) at 米の菓 ゆめすけ


野外冷房と大きな扇風機がある、テラス席、炎天下でも日陰で短時間なら大丈夫!


電話予約すると早そうです。(ゆめすけ at Facebook)


モモンガコーヒーのコーヒーソーダ!黒ビール風な、ビターの味わいがいい感じ!

暑い夏、WBGTにも注意しつつ、楽しみましょう!

links
- 環境省熱中症予防情報サイト 暑さ指数とは?
- 熱中症対策アプリ用オープンデータと暑さ指数予測ランキング、トップ840!

携帯キャリアを使ったWiFi不要で、どこでも使える月額60円IoT、sakura.ioに新機能!
sakura.io 新オプションサービス「デバイス間通信」提供開始のご案内 | さくらインターネット

いままでサーバープログラムを経由しないとできなかったsakura.ioデバイス同士の通信が、管理画面で設定するだけで送れるようになりました! 早速、IchigoJamのIoTバージョン、IchigoSodaを使って実験したところ、超簡単!片方のIchigoSodaで次のコマンド。(for IchigoJam BASIC 1.4)

IOT.OUT 1234

設定したもう一方のIchigoSodaで

?IOT.IN() 1234 OK

通信できた!(DataStoreにも同時に貯めたり、指定したwebへ送信と併用OK!)

sakura.ioのコントロールパネルで、プロジェクトを作成、デバイスを登録し、デバイス間通信から、通信元と通信先を選ぶだけ!

動画デモです。

1. 右側のIcihgoSodaのボタンを押すと、左側のIchigoSodaのLEDが光る!
送信側

10 IF BTN()=0 CONT 20 IOT.OUT 2 30 IF BTN()=1 CONT 40 IOT.OUT 1 50 GOTO 10

受信側

10 N=IOT.IN() 20 IF N=2 LED 1 30 IF N=1 LED 0 40 GOTO 10

2. 文字列を相互に送り合うチャット!(入力時、先頭に「"」を付けてください )
どちらも同じプログラム(最大8文字まで、40行を8の倍数で128まで変更可能)

10 N=IOT.IN() 20 IF N ?">";STR$(N) 30 INPUT S 40 IF S OUT.IOT S,8 50 GOTO 10

3. 受信したら即、表示することもできます!
上記プログラムから30行、40行を削除

10 N=IOT.IN() 20 IF N ?">";STR$(N) 50 GOTO 10


IchigoSodaを持ってる人同士でいろいろ通信して遊べそうですね!
同じ送信元から複数の送信先を選べば、まとめて送信することもできます(最大設定数100)


CPUの上側についている小さなディップスイッチ、下側の[WAKE]設定を[EN](有効)側に切り替えて、IN2とGNDをLEDでつなぐと、何か受信した時にLEDを光ってお知らせすることもできます。 チャットで入力中にもメッセージ受信が分かって便利ですね。

岡山県の宇野バスでは、バスの混み具合と位置情報を送るバスIoTでの実用も始まりました!


IchigoJam BASICで、お手軽IoT、ますます加速していきそうです。 links
- sakura.io 新オプションサービス「デバイス間通信」提供開始のご案内 | さくらインターネット
- さくらインターネットが提供するIoTプラットフォームサービス、sakura.io | IchigoSoda/IchigoJam for sakura.io(ファームウェアの更新が必要です)

なぜ、こどもにプログラミングを教えるのか?
→ プログラミングが汎用的で強力なツールであり、こどもにできるほど簡単だから

社会にネット(=コンピューター)が広まる程、プログラミングの力は強まります。昔はゲームづくりや専門的な解析が中心でしたが、IoT時代、身近な課題解決にもすぐ活用できます。

「十分に発達した科学技術は、魔法と見分けがつかない(クラークの三法則)」
Bluetoothイヤホンで通話しながら歩いている様子はテレパシー、3Dプリンターはテレポーテーション、ドローンの編隊を自在に操る様はまるで魔法。自在に操れたらもっとステキです。


学校を変えた最強のプログラミング教育 | 松田孝
前原小学校元校長の松田さんの本にも、ドローンプログラミングがこどもや大人に与えたインパクトと、意外とシンプルな制御プログラミングが掲載されています。 (その後、更に改良され「FruitPunch(フルーツポンチ) x IchigoDyhook(いちごだいふく)」で、もっとシンプル、もっと手軽にドローンプログラミングできるようになっています。)


松田さんとの出会い、書いてありました!2016年12月、福井で開催した「第1回こどもプログラミングサミット」の会場にて、IchigoJamのはんだづけからのプログラミング体験をしてもらってからのご縁です。 (ナチュラルスタイル松田さんも登場!、学校は「社会の求め」に応えられるか?校長・教頭へのおすすめ本! – about yrm


zoomお茶会IoTと地方創生で共同プロジェクト進行中のKDDI松野さんも参加!
IoTは、ITの集大成。身近な課題から、世界的な課題まで、多方面での活躍が期待されていますが、深刻な担い手不足。小中学校でのプログラミング必修化は大きなチャンス!

今日テーマにしたのは、身近な課題、眠りの快適さをアップするIoT。 きっと、部屋の温湿度が大事!でも、快適と感じる状況は人によって異なります。 まずは計測。IoT対応IchigoJamと、手軽で高性能な温湿度計SHT31を使って、日々の変化を記録してみます。

1 @ARUN 10 POKE#700,#2C,#06:R=I2CR(#45,#700,2,#700,6) 20 IOT.OUT #700,8 30 WAIT 60*60*5 40 GOTO 10

I2Cで取得したデータを(10行)、IchigoSodaで送信し(20行)、5分待って(30行)、くりかえし(40行)。シンプルですね!

sakura.ioのモジュールの管理画面で、DataStoreV2 APIを設定します。1ヶ月分保存なら追加料金はかかりません。 管理画面からCSVでダウンロードができるので、あとは、解析し放題!

解析をプログラムで自動化したい場合、パソコンでデータをダウンロードしましょう。JavaScriptをパソコン上で動かす、Denoをインストールし、このプログラムを test.mjs として保存。 (sensorname: 保存するディレクトリ名、token: DataStoreV2のtoken、moduleid: 使用するモジュール)

import download from "https://code4sabae.github.io/sakuraio-es/download.mjs"; await download(7, "sensorname", "token", "moduleid", 1);

あとはコンソールで動かすだけ!

$ deno run -A test.mjs

これだけで過去1週間分のJSONデータを日付ごとにダウンロード完了です! 詳しく知りたい方は、オープンソースのJavaScriptプログラム(src on GitHub)をどうぞ。 JavaScriptについて学びたい場合は「JSはじめのいっぽ」をどうぞ。 ネットがあれば、わからないものを無限に追求できますね。(社会実装例、バスの走っている場所、混雑状況などのIoTによって進む見える化 by ダイヤ編成〚その筋屋〛公式 ❄ @Sujiya_Systemさん)

このように、実現したいことを叶える技術が急速に発展し、ネットというインフラによって多くはソフトウェア化している上に、その大半がオープンソースソフトウェアとして誰でも自由に利用でき、改造でき、その開発に貢献することもできます。

ものづくりには、ソフトウェア、ハードウェア・素材までさまざまなレイヤーがありますが、ソフトウェアづくりはコンピューターさえあれば誰にでも始められる最も手軽なものづくりです。


バリエーション豊富なIchigoJam、IchigoSodaは4G通信モジュール対応のソーダカラーがかわいいIchigoJamです。 中央のチップが、100円のCPU。今回の高精度温湿度計SHT31も右下、黒い四角がその本体。あとは電源つないで動かすだけ! 世界中から登場する小さくて安くてワクワクする電子パーツたち。 プログラミングでつないで何創る?夢、膨らみますね!

日本一プログラミングを小学校現場で実践した、松田さんによる熱い著書。
学校を変えた最強のプログラミング教育 | 松田孝
ワクワクする未来を、こどもたちへ!

福井県で始まった混雑状況オープンデータ。合わせて行いたい定量的なデータ計測を、鯖江市役所入り口にて設置!さすが鯖江市、依頼からスタートまで何もかも速い!

IchigoCounter - 鯖江市役所 人流オープンデータ
13時すぎに1分間に13人通ったピークが見られ、18時半からは人の流れが停止する様子が記録できています。


来庁者IoTカウンター実証実験中。ケースに入っていい感じ!IoT対応のIchigoJam、IchigoSodaのアンテナ2本はソフトバンクの4G回線につながっているので、既存の無線LANと無関係に安定的に動作します。 人流は200円の超音波センサー「HC-SR04」を使用。


超音波が返ってくるまでの時間を計測し、しきい値(T)を超えていたら人が通ったと仮定。1分間ごとにカウントした数をIoT.OUTコマンドで送信するだけのシンプルなプログラム。 反応してから一定時間待ち(W=1.5秒)を入れて、ひとりを重複してカウントしないようにするなどの調整はその場で観察しながら調整しました。 IchigoSodaにミニモニターとキーボードをつなぐだけで自由自在!

機材を持っていって、設置、プログラム、テスト、調整、設置完了まで1時間! 簡単にできるので、通りがかった中学校の校長先生にぜひ中学校でもIoTづくりをと、PRもできました。


鯖江市長、牧野さんも動作確認!
オープンデータ化、IT化、やれるところからどんどん進めていきましょう!

今回の鯖江市役所での実証実験ができたのは、スピーディーにOK出してくれた、市役所の方、市長のおかげです! 学生のみなさん、このステキすぎるまち、鯖江市に「jigインターン2020」で来てみませんか?(社会人の方の視察もぜひ)

全国の高専、夏休みが短縮されたことを受けて、今回は2週間に改定します。募集期間、延長しましたので、これなら参加できそう!という方、熱い町、鯖江でのインターン、ぜひご検討を!


古民家での共同生活、ウェルカム会!(昨年の様子)


jig.jp本店所在地、めがね会館にて、2週間のチーム開発(昨年の様子)


砂時計 - Matter.mjs」(box2d版Matter.jsmjsで移植)
今回は1週間短いので、事前サポートを充実させてカバーしようと思います。アプリづくりは、Swift / Kotlin / Java / JavaScript / Dartなどといろいろ選択肢はありますが、webアプリとしても使えて汎用性高いJavaScriptを基本言語として推奨。 その入門を作っていきます。

まずはこのスマホを傾けて楽しい砂時計プログラムを改造して遊ぶところからどうぞ!

<!DOCTYPE html><html><head><meta charset="utf-8"/> <title>sandglass - matter-es</title> <meta property="og:image" content="sandglass.png"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head><body> <script type="module"> import { Matter, createWorld } from "https://js.sabae.cc/matter.mjs"; const { Bodies, Body } = Matter; const world = createWorld(); const [w, h] = [500, 1000]; world.width = w; const nballs = 400; const cx = w / 2; const cy = h / 2; const ww = h / 40; const createWall = (x, y, w, h, th) => { const base = Bodies.rectangle(x, y, w * 2, h * 2, { isStatic: true }); Body.rotate(base, th); return base; } world.add(createWall(cx - w / 2, cy, ww, h / 2 + ww, 0)); world.add(createWall(cx + w / 2, cy, ww, h / 2 + ww, 0)); world.add(createWall(cx, 0, ww, w / 2, Math.PI / 2)); world.add(createWall(cx, h, ww, w / 2, Math.PI / 2)); const hole = w / 6; const hw = ww / 2; const hgap = h / 15; const th = Math.PI / 6; world.add(createWall(cx - (w + hole) / 4, cy - hgap, w / 4, hw, th)); world.add(createWall(cx + (w + hole) / 4, cy - hgap, w / 4, hw, -th)); world.add(createWall(cx - (w + hole) / 4, cy + hgap, w / 4, hw, -th)); world.add(createWall(cx + (w + hole) / 4, cy + hgap, w / 4, hw, th)); const bw = w / 60; for (let i = 0; i < nballs; i++) { world.add(Bodies.circle(cx + (w - ww * 2) * (Math.random() - .5), ww + (h / 4) * Math.random(), bw)); } document.body.onclick = () => { world.useRealGravity(); // 傾きセンサーを重力に反映(対応していたら) world.gravity.y = -world.gravity.y; // 重力反転 }; </script> </body></html>

sandglass.html とか名前を付けて保存し、ブラウザで開くだけで動きます!(要、ネット)
まずは砂の大きさを変えたり、数を変えたり、いじって見ましょう!

HTML/CSSもはじめての方は、こちらからどうぞ!(追記、JSはじめのいっぽも!)
創ろう、楽しい夏!

links
- 全国高専生向けjig.jpインターンプログラム2020 ~募集のお知らせ~
- jigintern2019のブログ(昨年参加者によるブログ)

以前紹介した、5コ950円で買える、安価でIchigoJam BASICだけでも使える超音波センサー「HC-SR04」。 他デバイスとの関係で、どうしてもBTNを使いたいとご要望あり。


できました!IchigoSodaにつないでIoT化していますが、IchigoJam、IchigoDakeでもOKです!

BTNはIchigoJam付属のボタンとSLEEPからの復帰のため外部でプルアップ抵抗をつなげていて、ANA(0)としてアナログ入力としても使えます。 つまり、CPU内部の設定としてはアナログになっているので前回紹介したマシン語で読み出そうとしてもうまくいきません。


BTNを割り当てているPIO1_4、LPC1114のデータシートの IOCON_PIO1_4 (アドレス#40044094) を見ると設定方法が書いてあります。 一度、マシン語を使ってどういう設定になっているか読み出してみましょう。

R0=[@IOCON_PIO1_4]L R0=[R0]L RET @IOCON_PIO1_4 DATA L #40044094

asm15でアセンブルして、読みだした値を8桁の2進法で表示

POKE#700,1,72,0,104,112,71,0,0,148,64,4,64 OK ?BIN$(USR(#700,0),8) 01000001

2:0 つまり最下位の0bit目から2bit目の3bitを使ったFUNCは1、次の2bitのMODEは0(プルアップなどなし)、次の1bitのHYSは0(無効)、6bit目はReservedとして予約されていて1を設定することになっていて、7bit目ADMODEが0でアナログ入力モードとなっています。

これをADMODE:デジタル入力+FUNC:PIO1_4と、`11000000 に一時的に変更する作戦でいきます。前回のカウントプログラムの前後にこの設定を足します。

PIO1のベースアドレスは #50010000、BTNは、PIO1_4の場所なので
?"#5001";HEX$(1<<(4+2),4) → #50010040 を@INに設定します。

'BTN(PIO1_4) <- digital R1=`11000000 R3=[@IOCON_PIO1_4]L [R3]L=R1 'count check R0=0 R1=[@IN]L @LOOP R2=[R1]L R0=R0+1 R2-0 IF !0 GOTO @LOOP R0=R0>>9 'BTN(PIO1_4) <- analog R1=`01000001 [R3]L=R1 RET @IOCON_PIO1_4 DATA L #40044094 @IN DATA L #50010040 'BTN=PIO1_4

アセンブルして、BASICのプログラムと組み合わせて、できあがり!

10 POKE#700,192,33,6,75,25,96,0,32,5,73,10,104,64,28,0,42,251,209,64,10,65,33,25,96,112,71,0,0,148,64,4,64,64,0,1,80 20 OUT1,1:OUT1,0:?USR(#700,0) 30 WAIT 5:GOTO 20

マシン語でカウントした値、R0をBASICに返す前に9ビット右シフト、つまり512分の1にしています。マシン語のカウントだと速すぎて大きな値になってしまうからですが、ここをいじると精度アップが見込めます。 ただ、IchigoJamでは1秒間に1.5万回くらい画面表示用の割り込みが発生するので、高い精度で計測するには割り込みを一時的に止める必要があります。

CPSID R0=0 R1=[@IN]L @LOOP R2=[R1]L R0=R0+1 R2-0 IF !0 GOTO @LOOP R0=R0>>5 CPSIE RET @IN DATA L #50001000 'IN1=PIO0_10

割り込みの一時停止は CPSID、最下位は CPSIE です。戻し忘れると何も操作できなくなってしまいます。下記、CPSIDした後リターンする危険なプログラム、SAVEした後、お試しください。

LET[0],#B672,#4770:?USR(#800,0)

完成した、超音波センサー、TrigをIN1に接続し、精度16倍バージョンがこちら!

10 POKE#700,114,182,0,32,3,73,10,104,64,28,0,42,251,209,64,9,98,182,112,71,0,16,0,80 20 OUT1,1:OUT1,0:A=USR(#700,0):?A 25 LED A<300 30 WAIT 5:GOTO 20

一定距離から近づくとLEDがついてお知らせ、リレー経由でスゴイ照明と組み合わせると防犯ライトにもなりますね!

5 B=0 26 IF B=0 AND A<300 B=1:N=N+1:IOT.OUT N:?"IOT!";N:WAIT30 27 IF B=1 AND A>=300 B=0

IchigoSodaを使って通ったらIOT.OUTでカウントを送るように改造も簡単です!
福井県で始まった「混雑状況オープンデータ」との連携も便利そう。


Let's IoT with IchigoJam x various sensors!

links
- 200円 超音波距離センサー HC-SR04 を IchigoJam で使う方法 - Armマシン語で時間を測ろう
- 今週末は越前がにロボコン! IchigoJamで超音波センサーをIN1とは違うポートで使う方法 BASIC編 マシン語編

テレビやキーボードが無くても使える、USBシリアル付きIchigoJam互換機、IchigoKamuyと同じく北海道生まれのハート基板で、日本の感染病床の推定残数を残りライフ的に表示させてみました。
厚生労働省からPDFで発表される、1つ星みなしオープンデータをJSON-API化したものを活用。プログラムはとてもシンプル!(src on GitHub、2020-05-12 js→mjs

const ij = require('./ichigojam.js') const fetch = require('node-fetch') const main = async function() { ij.command('CLV:WS.LED20') const url = 'https://app.sabae.cc/api/covid19japan_summary.json' const data = await (await fetch(url)).json() const ratio = 1 - data.ncurrentpatients / data.nbedforinfection console.log('現在患者数', data.ncurrentpatients, '感染病床数', data.nbedforinfection, '空き病床数(推測)', ratio) const nr = Math.floor(ratio * 20) ij.command(`FORI=0TO${nr}:[I*3+1]=30:NEXT:WS.LED20`) } main()

パソコンとIchigoJamでつくる、かんたんIoT。JavaScript on Node.js でチャレンジ!

IchigoKamuyやIchigoJamとUSBシリアルと、パソコンを使ったちょっと高度なIchigoJam入門。Node.js がまだの方、セットアップからどうぞ!
はじめてのウェブサービス、3分でわかるJavaScriptでつくる「チャット」の流れとチュートリアル Node.js編

USBシリアルのドライバの設定が終わったら、Node.jsから使えるように「serialport」モジュールをインストール。(参考、GitHubからプログラムをダウンロード!)

npm i serialport

まずはコンソールからIchigoJamを使ってみましょう!(console.mjs

const driver = '/dev/tty.SLAB_USBtoUART' const SerialPort = require('serialport') const port = new SerialPort(driver, { baudRate: 115200 }) const parser = new SerialPort.parsers.Readline port.pipe(parser) parser.on('data', console.log) const reader = require('readline').createInterface({ input: process.stdin }) reader.on('line', function (line) { port.write(Buffer.from(line + '\n')) })

driver には、自分の環境でのUSBシリアル接続先を設定しましょう(Windowosの場合は、COM8 など)

node console.js LED1 OK

シンプルなIchigoJamとして使えますね!

JavaScriptのプログラムで制御してみましょう!

port.write(Buffer.from('LED1\n')) setTimeout(function() { port.write(Buffer.from('LED0\n')) }, 1000)

LED1でつけて、setTimeoutを使って1秒後に消します。(led1.mjs

Promiseとawaitを使うと、分かりやすく書けます。(led2.mjs

const main = async function() { command('LED1') await sleep(1000) command('LED0') } main()

毎回設定などをプログラムで書くのも面倒なので、モジュール化するとぐっとシンプルに!(led3.mjs

const ij = require('./ichigojam.js') const main = async function() { ij.command('LED1') await ij.sleep(1000) ij.command('LED0') } main()

ハート基板や、WS2812Bを接続して、WS.LEDコマンドを使ってフルカラーLEDの制御!(wsled1.mjs

const ij = require('./ichigojam.js') const main = async function() { ij.command('[1]=30:WS.LED 20') await ij.sleep(1000) ij.command('CLV:WS.LED 20') } main()


1つ、赤に光らせることに成功!アニメーションする(wsled2.mjs)もどうぞ!

IchigoJamでも新型コロナウイルス対策!厚生労働省オープンデータのJSON-APIを使って、ハート基板を制御したものが、今回の作品でした!(wsled3.mjs


パソコンとつないで、光らせ方は自由自在!
どんなデータで、どう動かす?いいものができて、ずっと動かしたくなったらパソコン不要なIoT、MixJuice x IchigoJam や IchigoSoda がオススメです。


特別講演「100円で50MIPS!?こどもパソコンIchigoJam x GPU/VR/5G時代のオープンデータ、その心は?」 | キタゴエ
IchigoKamuyもハート基板も北海道産!Kita-Tech 2019のときの講演が記事に!

北海道と言えば、有志により東京都版から派生した「新型コロナ対策サイト」がいち早く立ち上がった、熱い場所!

COVID-19 JAPAN - 新型コロナウイルス対策ダッシュボード」を、現在患者数 / 感染症病床数 で、使用率目安を表示するように更新しました。

新型コロナウイルス感染症対策専門家会議の見解等(新型コロナウイルス感染症)|厚生労働省
厚生労働省からの対策指針。感染症病床がまずは優先と記述されています。足りなくなった場合への備えも大事ですが、まずはこの防衛ラインを意識して、地域で抑え込むことが大事!

links
- IchigoKamuyはんだづけ一人称視点動画 - パソコンに直結して楽しむIchigoJamでエルチカロボを作るまで
- IchigoJamでパソコンとUSBシリアル通信。Node.jsを使うとキーボードとモニタいらず – しずかなかずし

盛り上がったオープンデータデイハッカソンシンプル版VR版に続き、フィジカル版も作りたい!小中学生でも気軽に参加できるようにIchigoJam用のAPIを作りました。 単体ではネットにつながらないIchigoJam、ネットワークボード「MixJuice(¥2,750)」を使います。

IchigoJamの上にMixJuiceを挿し込み、電源をいれ、いろいろ表示が落ち着いたあと、一度、エンター。MJ APC コマンドで、無線LANのアクセスポイントに接続しましょう。

?"MJ APC SSIDXXXX PASSWORDXXXX 'WiFi connected: 192.168.xx.xx 'OK

WiFi connected と出れば接続OK!次の起動時からは自動的につながります。


APIによる取得は、MJ GET コマンドを使用します。(取得ファイル名は小文字の必要あり、新しいMixJucieなら MJ GETS でもOK)

?"MJ GET app.sabae.cc/api/covid19tokyo.txt 7 n_inspections 1068 n_patients 58 n_light 29 n_heavy 8 n_exit 20 n_death 1 s_lastUpdate 2020/03/07 8:00

いろいろエラーがでますが、こんな感じのデータが取得できればOK!(出展、東京都 新型コロナウイルス感染症対策サイト / Tokyo COVID-19 Task Force websitedata.json を加工。検査実施人数、陽性患者数、軽症・中等症数、重症数、退院数、死亡数の順。jsonでも取得可能)

最初の数値はデータの数、それ以降、データの名前とデータのセットが数分続きます。これを配列に保存するプログラムを作ったりして、活用しましょう!


10 ?"MJ GET app.sabae.cc/api/covid19tokyo.txt 20 INPUT N 30 FOR I=0 TO N-1 40 INPUT S 50 INPUT [I] 60 NEXT 70 'test 80 FOR I=0 TO N-1:?[I]:NEXT


画面に大きく表示したり、サーボを動かしてインジケーターを作ったり、WS2812Bで電光掲示板を作成するのもありですね!

Let's create something against COVID-19!

社会をアップデートするIoT、企業向け研修として活躍するIchigoJam!
はじめてのIoTプログラミング with IchigoJam x sakura.io powered by Hana道場。

さくらインターネット版IchigoJam、IchigoSodaを使った、プログラミング未経験者の大人向けのIoT社員研修。


1時間半で、プログラミングと電子工作の基本から、IoTプログラミングまでぎゅっと体験!


光センサーをブレッドボードに挿して作って、暗くなったら通知するプログラム、3行!


あっという間にスマホとつながる、IchigoJamのかんたんIoT!


盗られたくないプリンの脇に、光センサーを設置しておきましょう。忍び寄る手を検出したら、スマホに通知!即座にボタンを押すといろいろな音を鳴らして、警告しちゃおう!


IoTプログラミング はじめのいっぽ with IchigoJam x sakura.io (PDF, key, pptx)」

links
- IchigoJamでIoTプログラミング体験!出張Hana道場社員研修in東京~6&7回編~ | きらきら星のつぶやき☆

新潟県、ものづくりのまち、長岡市。長岡造形大、長岡市役所、長岡高専をリアル訪問!

はじめての長岡造形大学


シンボルツリーの桜!建物内外、さすが造形大!


先生の熱意によって長岡造形大内にできた、プロトタイピングルーム!


レーザーカッター切り出し「火気厳禁」かっこいい!


いいレーザーカッター、大活躍とのこと!(鯖江Hana道場にも少し小さめのあります)


かわいいサンプル。学部問わず興味ある学生多数とのこと!
コンセプト、外装、ハードウェアやソフトウェアの実装、見せ方、全部揃うと超強力!


長岡市役所隣、アオーレ長岡。新潟で30回続く、デザインコンテスト、NIIGATA IDS DESIGN COMPETITION 2020!ちょうど造形大の学長、和田さん講評されていました。


ストアで発見、ステキな卓上切出(ナイフ) MASUWA by 増田切出工場 & TWOOL(昨年度の準大賞)
企画販売は和田学長の息子さん!プログラミングに興味ありとのこと!


Insta360 EVO用ケースにほしい、伸びる、簡単、瞬間パッキング!ストラップに付けられるとより便利かも?


日本のめがねといえば鯖江ですが、長岡にもメガネ会社あり!アセテートにβチタンの芯をいれたメガネ!


かわいいコケのいれもの


企み、語り、創り、伝え、会う!


長岡駅隣のおもしろ空間、なんと左が市役所と右が市議会の議場!


旧デパートの1Fを、市営のファブ&コラボスペースとした「NaDeC BASE」長岡高専、長岡造形、長岡技科大も!


こちらも、プロトタイピングラボ、ものづくり工房あり!


長岡市バックアップのものづくり支援コンソーシアム「NAZE」と新潟の方言「ごうぎ」に漢字を当てた「豪技」


今年度初開催こども向けロボコン、ロボカップジャパンオープン!


NT鯖江にもご訪問いただいた、長岡市役所の橋詰さん、ご案内ありがとうございました!


続いて訪問、長岡高専!元気な長岡高専生!


多数の先生に参加いただいた、長岡高専にて講演&IoTプログラミング体験!(資料参考、高専生から中学生へ「はじめてのプログラミング、はじめてのIoT」 / 佐世保高専での学び

最新集約周辺機器IchigoDyhookとIchigoSodaの接続法。ジャンパーワイヤ6本使って、まずはIchigoDakeのRESET-GNDをつないで無効化し、IchigoDakeとIchigoSodaのKBD1-2/VIDEO1-2/GNDを5本で接続。

ちょっと面倒?DPCが登場すれば、ずっとシンプルになります!(IchigoJamカムロボのデバッグからラズパイ製品の現場調整まで、立ち乗りでこなすIchigoDyhook! – about yrm

4Gモジュール用には電源が必要なので、IchigoSodaにmicroUSB経由で給電。


あとは普通に使えます!接続状況表す、IchigoSoda上部の点滅が1回に変わったら、

IOT.OUT 15 OK

これでクラウドにデータが飛びます
受信したらLEDを付けて終了するプログラムも簡単!

1 IF IOT.IN()=0 CONT 2 LED1 RUN OK


GPSや高精度温湿度センサーSHT31、UVセンサーなどを搭載したIchigoSensorsを合体!
I2CでSHT31の温湿度データを読み出し、サーバーに定期的に送るプログラム(for IchigoJam 1.4)

10 POKE#700,#2C,#06:R=I2CR(#45,#700,2,#700,6) 20 IOT.OUT #700,8 30 WAIT 60*60*5:GOTO 10

シンプルに使えますが、がんばれば、割といろいろできちゃう、IchigoJam。
画面拡大(VIDEO3)して、IchigoSoda上で表示も行うIoT温度計にする例(℃をパターンを700行で生成)

5 VIDEO3:CLS:GSB@DC 10 GSB@TH 15 LC 4,4:?T/100;".";DEC$(T%100+100,2);CHR$(#708) 25 LC 4,6:?H/100;".";DEC$(H%100+100,2);"%" 27 IF TICK()>60*5 IOT.OUT T:IOT.OUT H:CLT 30 WAIT6:GOTO10 600 @TH:U=95:LET[U],#062C,#4401,#8808,#884A,#4350,#0C00,#4770 610 U=#800+U*2:R=I2CR(#45,U,2,#700,6) 620 [0]=17500:[1]=PEEK(#700)<<8|PEEK(#701):T=USR(U+2,#800)-4500 630 [0]=10000:[1]=PEEK(#703)<<8|PEEK(#704):H=USR(U+2,#800) 640 RTN 700 @DC:S="゚C":FORI=0TO7:POKE#708+I,PEEK(ASC(S)*8+I)|PEEK(ASC(S+1)*8+I)>>3:NEXT:RTN


さすが高専、トラ技ジュニア!(See also: 高橋名人とのコラボイベント


長岡名物シュークリーム、ごちそうになりました


高専x造形大で企む会(平行法で立体視可)


長岡は山本五十六氏の出身地。平和を願う長岡の直径650mという大花火の玉は直径90cm(3尺)!VR再現楽しそう。

地域の課題、ITとデザイン、力を合わせてどんどん解決!地域を越えてイノベーション!
地域のプログラミングといえば高専!GIGAスクール構想を先取りし、プログラミング的思考ことプログラミングを広めましょう!
ものづくりとデザインに力を入れるまち、長岡と鯖江。仲良くなれそう!

links
- 「プログラミング的思考」=「プログラミングする活動そのもの」 小学校プログラミング教育の手引第三版で減ったもの増えたもの
- 学校に激震!? 昭和の「一斉授業」から令和の「個別最適化された学び」へ! すべてのこどもたちに世界とイノベーションへの入口を、GIGAスクール構想とは?その実現に近いまちは?

福岡で開催「第19回九州・大学発ベンチャー・ビジネスプランコンテスト」にて、ブタが超好きと言う、宮崎大学の有方草太郎さんの豚肉の有機野菜プラン「Pioneer Pork」を「NICT賞」として選出! シリコンバレー研修を経て、3月に開催される「起業家甲子園」への出場に向けてのブラッシュアップ、ICT担当メンターとしてサポートします


動物好き、農学部、サークルに入る、豚に一目惚れ、アメリカに留学、衝撃を受ける、調べる、やってみたくなる、やる!(すでに用地を確保!)
「農業を変えたい!」豚と人に優しい養豚を実現しようとする大学生の決意 │ HiDANE


豚愛あふれる熱いプレゼンを動画をどうぞ!(宮崎大学の先生、土屋さん撮影)


19年目と歴史あるビジネスプランコンテスト、NICT賞選定審査員として参加してきました。NICT賞の設定は今回初!


大分大学 和田さん、スマカペ
電子ペーパーや、プロジェクションマッピング、AR、VRによるシミュレーションで現実にはありえない模様替えにもチャレンジしてみるのもいい。


北九州高専 山本さん、ヘルスケアロボットと健康手帳、広告収入とシステム利用料
ロボットにかわいい名前をつけてあげるか、待ったなしの医療費高騰問題に直球で取り組むといいかも。


佐賀大学 山城さん、座ると腰が痛い人向け、骨盤荷重軽減する福祉器具、フワット
座るでもスタンディングでもない第三の椅子ができたらおもしろそう


大分大学 松岡さん、ニオイで悩む人向けデバイス&アプリ
数値化するといろいろおもしろいので、オフィス環境の快適度を客観的に示す温度湿度CO2などと共にニオイも計測して、働く人との気分と相関を見てみるとかおもしろそう。


北九州高専 波野さん、AR技術を活用した、技術継承支援システム、マニュアルの電子化
独自開発のマーカーに期待!伝統技術の伝承にも、ARはあり!


九州大学 徳丸さん、電池の性能評価シミュレーションソフトの開発・販売
ウェアラブルは、スゴイ電池の誕生待ち。当たると大きい!


宮崎大学 河野さん、LGBT向けのサービス
鯖江市も重点的に取り組む、SDGsの5番目のゴール「ジェンダー平等」にLGBTが言及されなかった闇。日本の不動産、LGBT差別、存在する!?


崇城大学 岩井さん、藻を低コストで活性化させる
青色色素スピルリナなど、食の安全性と生産性向上は大いに進めていきたいところ


宮崎大学 有方さん、日本の養豚農家9割が動けない豚、放牧豚との共存モデル Pioneer Pork
IoTによる遠隔養豚場、今後増える日本の廃村、廃町も活かせそう。


NICT賞と副賞の鯖江スペシャルセットを手に、意欲燃やす有方さん。


NICTメンバー in 九州!


熱いぞ、福岡県!また来ます!


2017年の起業家甲子園に出場し、三菱東京UFJ銀行賞と審査員特別賞を受賞した、後藤みどりさんに再会!
熱意ある活躍は後輩にも伝わる!
Yuge KOSEN got the best prize at NICT Entrepreneurs' Challenge 2017 day 1

好きでたまらないものを持っている人は強い!
同じコトでも、嫌々やるのと好きでやるのではパフォーマンスは段違い。
好きでたまらないものが見つからない? そんな人にオススメ、3つの方法

1. 運命の出会いが来ちゃってる人に近づいてみよう!
どういうきっかけだったか?なぜ好きか、どうしたいと思っているか?
人類的には、みんなが同じものを好きになってしまうと競合しすぎて、変化に弱く、いいこと無し。
「好き」がみんな違うからおもしろいし、発展がある。
ますます多様性が必要な21世紀、出会っちゃった人のストーリー、いろいろ読んで自分との距離を感じましょう。

2. 新技術にチャレンジしよう!
プログラミングも、AIも、IoTも、小学生や80才のおばあちゃんおじいちゃんが始めるくらい簡単です。
必要なのは、始めるちょっとした勇気と、少しの時間だけ。
それまでの「好き」と新技術のつながりが見つかったら、それは大きな前進。
それを実際つくってみましょう。(ネット上でもリアルでも、コミュニティは大きな助けになります)
できたら、きっと自分が前よりちょっと好きになります。人に見せたら得意になれます。
もっと触れて、もっと楽しくなるループに入ったらしめたもの。

3. すべての人の言うことを聞かない
100人にアドバイスを求めたら、返ってくる、互いに矛盾する100の答え。
予測不可能な社会、答えは誰にもわからない。
人のせいにした失敗は何も生みませんが、自分で決めた失敗は成長の元!
自分で決めよう!自分を信じよう!

後は自分を信じてやり通すのみ!
継続は力なり。

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / RSS