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

オープンデータ伝道師への出動要請あって、新潟県妙高市へ。

鯖江市などでのオープンデータの活用を事例を交えて紹介、IoTプログラミング体験、地理院マップアプリをベースに避難所一覧2つ星オープンデータのアプリ化、SPARQL!

妙高市役所、上越市役所の皆さんと!5つ星オープンデータで、つなげましょう、上越と鯖江!


妙高市避難所一覧(サンプル)
こちら、研修内にて使った、妙高市オープンデータの避難所一覧を表示するものに、更に、今回の旅写真を加えてみました。避難所データはWordファイルで、緯度経度未記載。緯度経度地図を使って、3点ほど追加してみました。 マップアプリづくりも、IchigoJamのプログラミングを一歩先。(src on GitHub

5つ星オープンデータを手軽に実現する odp で、アプリ作成もとっても簡単に!
災害別避難所案内「ヒナンパス」は、データをいれると、即使えます。


縮小すると、上越妙高駅付近や、名物とん汁ラーメンなどの写真も置いてみました。(addIcon)


妙高市議の村越さんと!(アップいただいた、IoT研修中の動画


月額64円で実現、IchigoSoda(sakura.io x IchigoJam)でかんたんIoTプログラミング!
妙高市役所、オープンデータ担当の池田さん、とても楽しそう!


雪の上越妙高駅!雪は少ないそう。


会場は、妙高市役所。エレベーターで見かけたゆるキャラ「ミョーコーさん
胸元の馬は、雪解けとともに山に現れる、跳ね馬!
跳ね馬(はねうま)・牛形 - haneumas jimdo page!
妙高市役所最寄りの新井駅から上越妙高駅をつなぐ、妙高はねうまラインの名前の由来。


災害相互応援協定を結ぶまち、姉妹都市など、関係ある都市同士を結ぶオープンデータもおもしろそう。


松茶屋のとん汁ラーメン、一見大きなとん汁


でも、らーめんが入ってる!


唐辛子を雪にさらして、3年寝かす、薬味、かんずり!いろいろ付けておいしい!


上越妙高駅近くにあるコンテナを並べた飲食店、FURUSATTO(フルサット)


こちらにも、かんずり!特性中華ソースで食べる、地元の鳥料理が美味!(食堂酒場 酉かつ

その土地ならではの特産物、ローカルチェーンなど、グルメオープンデータ、あるといいですね!

EXIFのGPS、位置情報付き写真から、JSONデータをつくるPython3のプログラムつくりました。お手軽マップづくりがはかどります。

from PIL import Image def toDegree(v): d = float(v[0][0]) / float(v[0][1]) m = float(v[1][0]) / float(v[1][1]) s = float(v[2][0]) / float(v[2][1]) return d + (m / 60.0) + (s / 3600.0) def fixfloat(d, beem): s = str(d) n = s.find('.') if n < 0: return s s += "0000000000" return s[0:n + beem + 1] def fixnum(n, beem): s = "0000000000000" + str(n) return s[-beem:] def getExifGPS(fn): im = Image.open(fn) exif = im._getexif() for id, value in exif.items(): if id == 0x8825: # GPS gps = value lat = toDegree(gps[2]) if gps[1] == 'S': lat = -lat lng = toDegree(gps[4]) if gps[3] == 'W': lng = -lng return fixfloat(lat, 7) + "," + fixfloat(lng, 7) return '' def getExifDate(fn): im = Image.open(fn) exif = im._getexif() for id, value in exif.items(): if id == 0x9003: # DateTimeOriginal s = ''.join(value.split(':')) return ''.join(s.split(' ')) return '' def getImageSize(fn): im = Image.open(fn) h, w, c = im.shape return str(w) + '.' + str(h) import os import sys files = os.listdir('./') list = [] for f in files: if f.endswith('.jpg') or f.endswith('.JPG'): list.append([ f, getExifDate(f) ]) list.sort(key = lambda x: x[1]) if len(sys.argv) > 1: nameprefix = sys.argv[1] n = 0 for i in range(len(list)): f = list[i][0] f2 = nameprefix + '-' + fixnum(n, 2) + ".jpg" os.rename(f, f2) list[i][0] = f2 n += 1 print('[') for item in list: f = item[0] print('{ name: "' + f + '", size: [ ' + getImageSize(f) + ' ], latlng: [ ' + getExifGPS(f) + ' ] },') print(']')

光るIchigoJamバッジができました!

アイロンビーズと光る電子工作は相性、良し!


KidsVenture@児童養護施設のアイロンビーズ部屋で創られたIchigoJamバッジ!


ダイレクトにつないでもOKですが、いろんなものを接続しやすいように、WS2812B付属のコネクターを使って、着脱式にしてみます。


L字ピンヘッダーが壊れにくい。熱収縮チューブを使ってはんだづけ部分を強化しておきます。


IchigoJam側の端子、できあがり。


WS2812B、LEDテープを10コずつ、2つ切り出す。


電線でDOUT-DIN、5V、GND同士をつなぎ、DIN側に接続コネクターをはんだづけ。


ホットボンドで裏面に接着。


あとはIchigoJamでプログラムを打ち込むだけで、光る!
WS2812B x IchigoJamでエモいウェアラブル「イチゴ帽子」プログラミング入門とマシン語、舞鶴x鯖江コラボに向けて
光らせ方、自由自在!いろんな作品作れそうですね!

ブログにアップする写真、EXIFデータを消して軽くする方法 (Python3編)

pip install pillow

画像編集ライブラリ、PILをインストール

import os import PIL.Image dir = './' files = os.listdir(dir) for f in files: if f.endswith('.jpg') or f.endswith('.JPG'): with PIL.Image.open(dir + f) as src: src.thumbnail((1220, 1220), PIL.Image.ANTIALIAS) data = src.getdata() mode = src.mode size = src.size with PIL.Image.new(mode, size) as dst: dst.putdata(data) dst.save(dir + f, 'JPEG', quality=90, optimize=True)

画像サイズを1220にリサイズして、データだけ保存することで、EXIFデータが消えて軽くなる。
ちょっとした手間、プログラミングでどんどん自動化して時間創出!

links
- 広がるプログラミングと電子工作、こども、おじいちゃん、校長、そして、ギャル!見事にちょうどいいカセットテープ x IchigoJam

児童養護施設の未就学児から高校生まで幅広く、プログラミングと電子工作の楽しさ伝える「KidsVenture with PCN仙台・PCN東京」の開催でした。

こちら園内、IchigoJamでプログラミングワークショップの会場となった、お部屋。


LEDのコントロール、かわくだりゲーム、ゲーム機でおなじみジョイスティックと、光センサーまで、2時間楽しんでくれました! 何度もリセットして初めから!ってやる、6才の子、かわいかった!そう、何度でも納得行くまでできるのが、プログラミングのいいところ。


掲載されたら原稿料もでちゃう、電子工作マガジン&ベーマガ、プレゼント!
高専出身者4名でミニトークイベント&質疑応答、エンジニアという仕事の楽しさも紹介してきました。


楽しんでくれたこどもたち、周りのお友達にも伝えてみよう!みんなで学ぶのも楽しいよ。
こちらパッパッとでる5つの数を暗算して、応えるゲーム「VSあんざん」
まずはひとり用、短いバージョン(とりあえず打ち込んで遊びたい人へ)

1 A=0:FORI=1TO5:CLS:LCRND(32),RND(21):B=RND(9)+1:?B:A=A+B:WAIT30:NEXT:CLS:INPUT"ANS?",N:IFA=N?"SEIKAI!!"ELSE?"HAZURE:";A

次に、上記をわかりやすく行を分けてかいたバージョン(内容は全く一緒、読みやすい?)

10 A=0 20 FOR I=1 TO 5 30 CLS:LC RND(32),RND(21) 40 B=RND(9)+1:?B 50 A=A+B 60 WAIT30 70 NEXT 80 CLS:INPUT"ANS?",N 90 IF A=N ?"SEIKAI!!" ELSE ?"HAZURE:";A

正解するたびに、どんどん速く難しくなっていくバージョン

5 W=60 10 A=0 20 FOR I=1 TO 5 30 CLS:LC RND(32),RND(21) 40 B=RND(9)+1:?B 50 A=A+B 60 WAIT W 70 NEXT 80 CLS:INPUT"ANS?",N 90 IF A=N ?"SEIKAI!!":W=W-5:WAIT 30:GOTO 10 100 ?"HAZURE:";A

最後に、2人で対戦するバージョン

5 W=60 10 A=0 20 FOR I=1 TO 5 30 CLS:LC RND(32),RND(21) 40 B=RND(9)+1:?B 50 A=A+B 60 WAIT W 70 NEXT 80 CLS:INPUT"PLAYER1 ANS?",N 81 INPUT"PLAYER2 ANS?",M 82 IF N=M GOTO 90 83 IF A=N ?"PLAYER1 WON!":END 84 IF A=M ?"PLAYER2 WON!":END 85 GOTO 100 90 IF A=N ?"SEIKAI!!":W=W-5:WAIT 30:GOTO 10 100 ?"HAZURE:";A

リファレンスや、教科書をみながら、ひとつずつ解読、変えたり、消したり、いろいろ改造して好きなように遊ぶのがプログラミング上達の近道!
わからないところ、Twitter で #IchigoJam 付けて、質問してね。


PCNこどもプロコンなど、いろいろチャレンジしちゃおう!

ウェアラブル業界世界最大、ウェアラブルEXPO開催。

多くの入場者で賑わうウェアラブルEXPO受付。


2011年、初の民生用メガネ型ウェアラブルデバイスとして登場した、MOVERIOと同様、シースルータイプの実用品 。 さまざまな業務で使われ始めている。


いよいよ販売始まる、両眼シースルータイプのメガネスーパー、ENHANLABO b.g. 人だかり。


こちらは工事現場などようと思われる、b.g.


とても高精細なフルHDをシースルーで実現したもの。品質的には通常のディスプレイを代替できるレベル。 机の上にモニターではなく、歯医者さんのように、楽な姿勢でアーム型のディスプレイを目の前に持ってきて作業するような姿での実現もかっこ良さそう。


ウェストユニティスブース


単眼型 ウェストユニティスの新型 InfoLinker2。こちらも画質化し、画角、バッテリーの持ちがアップ!


鯖江のメガネメーカー、ボストンクラブによる neoplug と、ウェストユニティスのコラボ、メガネ!


アルプス電気 x neoplug、ハプティックリアクタ搭載の振動するメガネ!


脳波測定器の組み合わせ。ウェアラブルレディなメガネ、開発用途に好評、もっと手頃なバージョンも!?


neoplug 対応の赤いメガネ、試着。カジュアルな、メガネ型ウェアラブルデバイスづくり、ぜひチャレンジしましょう!

こちら自作ウェアラブル、光るネクタイの改良版。

ネクタイ裏に仕込む、ウェアラブルファッション。白シャツが間接照明的に機能する。


LPC810用8ピンICソケットのVCC/GND/PIO0_2以外をカット。DIN側にまずはVCCとGNDを広げてはんだづけ。


DINからPIO0_2には抵抗の切れ端などではんだづけ。


ホットボンドで固めておくと安心!


コンパクトな仕上がり。


骨伝導マスクというかなりサイバーなウェアラブル展示、発見。 ヘッドセットとマイクと空気清浄機能が付いたマスク型ガジェットとは斬新! 内側から光るマスクなんてのもおもしろいかも。

創ろう、着るIT!

東京で開催する、さばえIT推進フォーラム、電脳メガネサミット2019、2.22開催です!
メガネ型ウェアラブルとオープンデータがある未来を見据え、今できることとは!?

福井県あわら市細呂木小学校にて、IchigoJamを使ったあわら市の教員向けプログラミング研修会、市内を中心に30名の教職員の方に受講いただきました。

プログラミングは全くの初めての方ばかり。 小学生に体験してもらっているように、IchigoJamスピードパックから取り出し、まずは配線。 電源をいれたら、ウォーミングアップで「A」と打って、エンター、エラーを出す。「Syntax error」と英語を話すコンピューター、かっこいい。


何度間違ってもキれません。自転車の練習で最初にやらないといけないのは安全な転び方。プログラミングも同じ、まずは間違っても安心体験。


小学生にオススメしたいペアスタイル、交互にキーボードを打ってもらい体験を共有。エルチカゲームも、かわくだりゲームも、盛り上がりました! 受講いただいた先生に聞いたところ、シナリオがあったら自分でもできそうとのこと!

まずは、45分2コマ用に、コンピューターサイエンスの基本とプログラミングを楽しく学ぶカリキュラムの指導案(授業の設計図)づくりがいい様子。 まずは、スライドの順番や、細部の表現をブラッシュアップ!


ちょっと手間取る最初の接続、モバイルバッテリーへの電源線2本を省略せずに記述版。
便宜的に番号は振っていますが、どの順番につないでも大丈夫です。


接続終わったらスイッチオン!起動の速さと、いつ切っても壊れない頑丈さがIchigoJamのウリ!


「このLEDをつけてもらおう」今回追加したスライド


L E D 1 と4つキーボードでタイプして、最後に、エンター!


ついた!コンピューターと物理が結びついたおもしろさが、直感的に分かる瞬間。

中略


LEDをつけたりけしたり、好きなタイミングにして遊んだ後、


保存!4つまでOKですが、0番への保存はスペシャルです。


電源を切って


テレビとキーボードの線を抜いて、バッテリーだけがつながった状態にします。


ボタン押しながらIchigoJam起動で自動的に自分たちで作った、0番プログラムが起動!


これをエルチカロボットの呼ぶ


実はすでにたくさんのロボットが身の回りに!


その中身にはコンピューター。そのコンピューターに保存されているのが、誰かが作ったプログラム!


コンピューターはどこにいる?


お家のコンピューター、探してみよう!
はじめてのプログラミング with IchigoJam」フルバージョンは計59スライド

いよいよ来年に迫った、プログラミング教育スタート。学習指導案として、まとめてみます!
(下記、まずは大まかな項目のみ)

学習指導案「はじめてのプログラミング with IchigoJam」

・基本項目
学年:3年生
科目:総合的な学習の時間
回数:1回(45分)
学習形態:一斉授業、体験学習

・順序
キーボードをさわる前でもOK
ローマ字を学習する前でもOK(関連させるといい)

・使用機材
スライド
IchigoJam(生徒2人に1台)

・目的
コンピューターの特徴、速さと記憶力を知る。
コンピューターが社会で活用されていることを知る。
プログラミングによって、コンピューターを活用できることを知る。
アルファベットの大文字と記号がキーボードで打てるようになる。
簡単な英単語を知る。


あわら市細呂木小学校、天井が高くて広くて心地良い今回の会場は、全校生徒が毎日一緒に給食を食べるランチルームでした!

links
- 動画&スライド公開、プログラミングB分類、総合と英語2コマ使った「はじめてのプログラミング」 - 鯖江市進徳小学校でモデル授業

- 今こそ地域との「自由研究」復活を!? 第4回こどもプログラミングサミット2018 in Fukui フォトレポート&所感
- 石川県かほく市にPFUあり! 教員向けこどもプログラミング講演会とクリスマスタイピンプログラミング!
- 自発性を引き出すプログラミング体験 - 福井県越前町でも教員向けプログラミング研修、創造的IT人材とは!?
- キラキラの笑顔づくり法を応募しよう!ソニー科学教育研究会にて教員向けIchigoJamプログラミング研修 with PCN福大附属
- 鯖江市全15小中学校を結んだ教員向けプログラミング研修とネクストステップ、総務省実証事業と同日開催

オープンデータなどを議論する、産官学コンソーシアムVLED利活用・普及委員会
内閣官房IT室からオープンデータの取組状況の報告、都道府県でのオープンデータ普及率、福井県が100%と現在単独ナンバーワン!

私からの情報提供として、オープンデータへの関心の高まりから、2017年につくった「緯度経度地図」の人気なことと、地図アプリは無料で簡単に作れること、G空間ハッカー養成講座開催をご紹介。 (Geospatial Hackers Program、鯖江開催 2/9-10

国土地理院の地理院地図とオープンソースなマップAPIである leafletjs との組み合わせをラップした「egmapjs」を使えば、初心者42でも簡単に地図アプリが作れます!

地理院地図をリニューアルしようと、シンプルに作り直してみたものがこちら(動かせます)

緯度経度地図 - egmapsjs」 - src on GitHub

使いやすく育てていきたいと思います。ご意見・ご要望など、ぜひお寄せください。
GitHubのissueとして書き込んでいただく、Facebookでのコメント、Twitterなどでどうぞ!
もちろんGitHubからフォーク、プルリクなどもOKです!

ちなみに、地理院地図オリジナルがこちら(ちょっと色がキツイ)

これを、CSSフィルターでまろやかにカラーデザイン変更しています (src on GitHub)

filter: hue-rotate(-10deg) saturate(70%) brightness(104%);

ちなみにオープンストリートマップはこのようなカラーデザイン

Googleマップなど、いろいろ地図を見比べるとおもしろいです。

国立高専、正式には「独立行政法人 国立高等専門学校機構 〇〇工業高等専門学校」と長い。
高専は日本独自の教育カリキュラム、「高専はKOSENであり訳さない!」と、高専機構理事長の谷口さん。


高専の英語サイトは「KOSEN」とシンプルで目立つ表記。


こちら、高専の日本語サイト、文字が長い。

もし改名すれば各学校は相当シンプルになる。例えば福井高専で、次のように12文字短縮。
独立行政法人国立高等専門学校機構 福井工業高等専門学校
独立行政法人高専機構 福井高専

ちなみに、福井高専のドメインは、fukui-nct。 以前の英語名称 Fukui National Collage of Technology だった頃の名残り。
現在書いてある訳語「National Institue of Technology」は、国立の研究所?と誤解を生むだけなので削除したい。


初開催となる、高専の未来を語る会、食事しながらざっくばらんスタイルで開催(写真ぶれでスミマセン)
高専機構谷口理事長による高専への熱い思いからスタート!


高専OB、10名による、3分間で自己紹介と高専の未来への提言!


高専機構と高専卒起業家。
未来の高専に関して、提案、提言は多岐に渡った、2時間半にも及んだ、愛あるディスカッション。
次回も楽しみです!

1つ、追加の提言「高専の目的を変更」
現行の目的:深く専門の学芸を教授し、職業に必要な能力を育成する
新しい目的:深く専門の学芸を教授し、複雑な世界に対処できる能力を育成する

専門性はそのままに、国際バカロレアのエッセンスを混ぜ、社会との関わりを強化しました。
職業という言葉は従事するイメージが強く、起業家、イノベーターに結びつかないので廃止希望。
教育の基本理念(目的・方針)に関する教育基本法の規定の概要
* 過去、改正の動きもあったようです


生きる力は、変化できる力、創り出す力。高専起業家OBパワー発揮していきましょう!
(*OBは、OB。boyの意味は忘れます)


この日のお昼は、専攻科インターン成果発表会のため石川工業高等専門学科へ。
この看板をパッと見て高専だと認識できる人は少ないと思ったほうがいいでしょう。
ここも「石川高専」とすれば、わかりやすいし目に付きやすい。


高校で必修となるGIS、高専ではもう一歩先いっておくべきですね。
jigインターン生、ナリによるSPARQL入門はこちら。
SPARQL初心者の学習日誌 :: 開発者サイト|オープンデータプラットフォーム


福井県内のIT企業と、地域ICTクラブで開催した、越前がにロボコンを大会前からサポートしてくれました!
高専生の実践力と、地域とIT力が共にアップするローカルロボコン、ローカルプロコン、ぜひ広めたい。

約3ヶ月という長期インターンを専攻科(5年卒業後の2年間課程)にて実施している石川高専。インターンについて発表する学生は皆、社会との関わりで学ぶ大切さを感じている様子。 まさに体験に勝る学習なし。できるだけ早いタイミングでのインターンと、その単位認定化を進めると、一層強い高専生になるでしょう。

地域のおもしろい企業の社会人による招待講義や、地元自治体へのヒアリングなど、実社会との接点を増やし、成果を埋めば、知名度問題、やる気問題共に解決!


女の子向けのプログラミングを実践する、神戸高専出身、激レア高専卒女性起業家、幸田フミさんとも再会!
児童養護施設の女児のために、働く女性ができること。:FUMITALK – FUMIKODA JOURNAL【フミコダ】
高専生の女性割合は20%。海外での工学部では女子の方が多いなど、性差の問題ではなく、日本の問題。

理系思考と女子比率が低い、日本の特徴は、小中学校の先生が理系ではないことがきっと原因。
日本の女子高生はなぜ理系になりたがらないのか | 舞田敏彦のデータで読み解くDUALな疑問 | 日経DUAL、)

理系、かつ、自分に近いお兄さんお姉さんから学ぶプログラミングによるインパクトは大きく、文系男子偏重を正す大きなチャンス!
総務省|若年層に対するプログラミング教育の普及推進事業|「IchigoJamでものづくり」~地域人材を活かして行うもの作りを通した科学技術体感型授業~」福井高専学生が小学生向けメンターに
高専生が伝える小学生プログラミング at スゴイ津幡町まちなか科学館、高専生先生の意気込み&感想動画 / KidsVenture x 石川高専

こちら本日の装備品、コンパクトにまとめた光るネクタイ LPC810 x 単4電池バージョン。

七色に輝くネクタイのプログラム(LPC810をあやつろうを使って、IchigoJamから書き込む)

10 POKE#700,0,4,0,16,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,251,255,239,47,72,223,33,1,96,47,72,1,104,3,34,210,67,17,64,1,96,45,72,45,73,1,96,45,72,12,33,1,96,1,36,36,7,50,38,48,2 20 POKE#746,32,96,0,32,0,33,2,70,2,42,0,221,3,58,0,35,1,37,40,66,0,208,51,70,91,26,0,43,0,218,91,66,163,84,127,180,0,240,21,248,0,240,51,248,127,188,33,74,163,24,31,70,3,63,3,58,1,59,1,63,61,120 30 POKE#784,29,112,1,58,249,209,1,49,177,66,221,209,1,48,6,40,217,209,215,231,24,72,33,70,21,76,4,34,128,37,11,120,34,96,43,66,8,208,0,0,0,0,0,0,0,0,0,0,0,0,0,0,34,96,7,224,0,0,34,96,0,0,0,0,0,0 40 POKE#7C6,0,0,0,0,0,0,109,8,233,209,73,28,1,56,228,209,112,71,7,79,1,63,253,209,112,71,128,128,4,64,16,0,4,64,192,193,0,64,191,255,255,255,0,32,0,160,0,35,0,160,128,26,6,0,96,0,0,0 50 A=#700:L=256:LRUN1 SAVE0 NEW 1 'LPC810 Writer 110 UART3,2:OUT2,0:OUT1,0:WAIT9:OUT1,1 120 CLS:?"?":GSB@R 130 ?"Synchronized":GSB@R 140 ?12000:?:GSB@R:GSB@R 150 ?"A 0":GSB@R:GSB@R 160 ?"U 23130":GSB@R 170 ?"W 268436096 ";L:GSB@R:UART1,2:LC0,-1:FORI=0TOL-1:?CHR$(PEEK(A+I));:NEXT:UART3,2:LC0,6:? 180 ?"P 0 0":GSB@R 190 ?"E 0 0":GSB@R 200 ?"P 0 0":GSB@R 210 ?"C 0 268436096 256":GSB@R 220 OUT2,1:OUT1,0:OUT1,1:LED1:END 300 @R:K=INKEY():IF K=13 K=INKEY():WAIT9:RTN ELSE CONT SAVE1 LRUN0

続いて、電子工作。

単4電池2本の電池ボックスをDOUT側5VとGNDへ。
制御用マイコン LPC810 のVCC、GND、PIO0_2 を、DIN側の5V、GND、DINにはんだづけ!

asm15、Armマシン語のプログラムはこちら
(IchigoJamで慣れた小中学生向け「やさしいArmマシン語入門」を読むと解読できます)

DATA L #10000400 ' stack DATA L #21 ' entry point DATA L 0, 0, 0, 0, 0 DATA L #EFFFFBDF ' VALID_CODE = 0x100000000-0x10000400-0x21 @ENTRY R0=[@SYSAHBCLKCTRL]L R1=#DF 'SWM, GPIO, I2C:off, FLASH, FLASHREG, RAM, ROM, SYS [R0]L=R1 R0=[@FLASHCFG]L R1=[R0]L R2=3 ' flash no wait: set 0b00 R2=~R2 R1&=R2 [R0]L=R1 R0=[@PINENABLE0]L R1=[@PINENABLE0_DATA]L [R0]L=R1 R0=[@GPIO_DIR0]L R1=`1100 ' PIO0_2 and PIO0_3 [R0]L=R1 @MAIN R4=1 R4=R4<<28 ' = RAM #10000000 R6=50 ' =V R0=R6<<8 [R4]L=R0 ' HUE ' R0, R1: loop ver ' R4 : ram ' R6 : V ' R2, R3, R5, R7 : temp @HUE ' R4 color address R0=0 ' 0 to 5, =I @HUE_LOOP1 R1=0 ' to T, =H @HUE_LOOP2 R2=R0 R2-2 IF LE GOTO @HUE_SKIP1 ' if A>2 R2-=3 @HUE_SKIP1 R3=0 R5=1 R0&R5 IF 0 GOTO @HUE_SKIP2 R3=R6 ' =V @HUE_SKIP2 R3=R3-R1 R3-0 IF GE GOTO @HUE_SKIP3 R3=-R3 @HUE_SKIP3 [R4+R2]=R3 PUSH {R0-R6} CALL @WS2812B CALL @WAIT POP {R0-R6} @SLIDE_DATA R2=[@LED_N]L R3=R4+R2 R7=R3 R7-=3 R2-=3 @SLIDE_DATA_LOOP R3-=1 R7-=1 R5=[R7] [R3]=R5 R2-=1 IF !0 GOTO @SLIDE_DATA_LOOP R1+=1 R1-R6 ' =V IF !0 GOTO @HUE_LOOP2 R0+=1 R0-6 IF !0 GOTO @HUE_LOOP1 GOTO @HUE 'WS2812B x1 driver 'param ' R4 - address (B, R, G) 'use ' R0 - data count (ex WS2812B x 3) == 3 ' R1 - address (B, R, G) ' R2 - OUT value ' R3 - data value ' R4 - GPIO address ' R5 - bit count @WS2812B R0=[@LED_N]L R1=R4 R4=[@GPIO_NOT0]L R2=`100 ' PIO0_2 @LOOP_DATA R5=#80 R3=[R1] @LOOP_BIT [R4]L=R2 R3&R5 IF 0 GOTO @ZERO NOP NOP NOP NOP NOP NOP NOP [R4]L=R2 GOTO @JOIN @ZERO NOP [R4]L=R2 NOP NOP NOP NOP NOP NOP @JOIN R5=R5>>1 IF !0 GOTO @LOOP_BIT R1=R1+1 '+6clock R0-=1 IF !0 GOTO @LOOP_DATA RET 'WAIT 'use ' R7 - wait count @WAIT R7=[@WAIT_N]L R7-=1 'wait R7*3+1 clock IF !0 GOTO -1 RET ' init @SYSAHBCLKCTRL DATA L #40048080 @FLASHCFG DATA L #40040010 @PINENABLE0 DATA L #4000C1C0 @PINENABLE0_DATA DATA L #FFFFFFBF @GPIO_DIR0 DATA L #A0002000 @GPIO_NOT0 DATA L #A0002300 ' WS2812B @WAIT_N DATA L 400000 @LED_N DATA L 32*3 ' length of WS2812B * 3

高専機構も後援、PCNこどもプロコン2018
過去最多作品数を集め、現在審査に入っています。
高専賞の受賞者には、宮崎県、都城高専が主管校となる高専プロコン30周年記念大会への招待が決定!
第30回都城大会(2019) 2019/10/13-14」
お楽しみに!

鯖江のものづくり友達、きものサロンまるよさんからスズムシがうるさすぎると相談あり。 一定間隔でスズムシの鳴き声が聞こえる、スズムシボックスを秋の店内にあると風流でいいのだけれど、ちょっと鳴く間隔が短すぎて、鬱陶しい、と。

9V電池を電源に、鳴き声電子回路が入っていることがわかったので、できるだけ非破壊による改造を試みる。 電源ケーブルを延長する形にして、トランジスタによる電子スイッチと、マイコンによる時間制御、マイコン用の3.3V生成が必要。


ブレッドボードで定期的に電源がONになる動作を確かめて、何秒間隔がいいか実験する
IchigoJam BASICなら、確認簡単!

10 OUT 1 20 WAIT 22*60 30 OUT 0 40 WAIT 180*60 50 GOTO 10

ONにしてから鳴くまでに間があるので、22秒間ONにすることで、ちょうど1ループ鳴く。そのままONにしておくと10秒たらずで何度も鳴くのは確かに鳴きすぎ。 ひとまず、3分間待って、再度鳴くようにしてみると、風流さが出た。


このままでは、箱に納まらないので、回路図を書いて、ユニバーサル基板にはんだづけする。 トランジスタを2段、3.3Vレギュレーター1つとIC3つ。どのようにつなぐかがパズルのようで楽しい。 Upverterなどで基板を起こしてもいいが、時間とお金が少々かかる。


IchigoJamよりコンパクトな、IchigoDakeでも、まだ納まらなかったのと、ちょっとオーバースペックなのも気になるので、LPC810へ移植する。 22秒間 ON にして、180秒は低電力モード(deep power down)で OFF にするプログラムを、IchigoJamからLPC810へ書き込む。

10 POKE#700,0,4,0,16,33,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,223,251,255,239,22,72,23,73,1,96,23,72,1,104,3,34,210,67,17,64,1,96,21,72,21,73,1,96,21,72,12,33,1,96,21,77,4,38,46,96,25,72 20 POKE#746,23,74,1,58,253,209,1,56,250,209,17,72,3,33,1,96,20,48,12,33,1,96,15,72,1,104,4,34,17,67,1,96,14,72,1,104,1,34,17,67,1,96,12,48,13,73,14,74,81,67,1,96,48,191,128,128,4,64,217,2,0,0,16,0 30 POKE#786,4,64,192,193,0,64,191,255,255,255,0,32,0,160,0,35,0,160,0,0,2,64,16,237,0,224,0,128,0,64,0,9,61,0,16,39,0,0,22,0,0,0,180,0,0,0 50 A=#700:L=180 100 UART3,2:OUT2,0:OUT1,0:WAIT9:OUT1,1:CLS:?"?":GSB@R 110 ?"Synchronized":GSB@R:?12000:?:GSB@R:GSB@R:?"A 0":GSB@R:GSB@R 120 ?"U 23130":GSB@R:?"W 268436096 ";L:GSB@R:UART1,2:LC0,-1:FORI=0TOL-1:?CHR$(PEEK(A+I));:NEXT:UART3,2:LC0,6:? 130 ?"P 0 0":GSB@R:?"E 0 0":GSB@R:?"P 0 0":GSB@R 140 ?"C 0 268436096 256":GSB@R:OUT2,1:OUT1,0:OUT1,1:END 150 @R:K=INKEY():IF K=13 K=INKEY():WAIT9:RTN ELSE CONT

180byteのArmマシン語をLPC810へ、書き込む(接続方法は、IchigoJamプリント参照)。30行の末尾、22と180の部分は、ONとOFFの秒数、好きな値に変えられる。(Armマシン語のソースプログラムは本記事末尾)


LPC810をIchigoDakeとピン配置をあわせるボードをはんだづけしてつくる。(LPC810の2番ピンWAKEUPをプルアップしないと、低電力モードが動作しないので注意!)


納まった!


元の箱に戻って、3分おきに鳴るように改造されたスズムシボックスのできあがり!

(LPC810を定期実行させる、Armマシン語 in asm15

DATA L #10000400 ' stack top DATA L #21 ' entry point DATA L 0,0,0,0,0 DATA L #EFFFFBDF ' VALID_CODE = 0x100000000-0x10000400-0x21 @ENTRY R0=[@SYSAHBCLKCTRL]L R1=[@USE_DEVICE]L [R0]L=R1 R0=[@FLASHCFG]L R1=[R0]L R2=3 ' flash no wait: set 0b00 R2=~R2 R1&=R2 [R0]L=R1 R0=[@PINENABLE0]L R1=[@PINENABLE0_DATA]L [R0]L=R1 R0=[@GPIO_DIR0]L R1=`1100 ' PIO0_2 and PIO0_3 [R0]L=R1 ' LED R5=[@GPIO_NOT0]L R6=`0100 [R5]L=R6 ' WAIT (WAIT_CNT * ON_SEC) R0=[@ON_SEC]L R2=[@WAIT_CNT]L R2-=1 IF !0 GOTO -1 R0-=1 IF !0 GOTO -4 ' init deep power down R0=[@PMU_PCON]L R1=3 ' PM = deep powerdown [R0]L=R1 R0+=#14 'PMU_DPDCTRL R1=`1100 ' enable 10kHz [R0]L=R1 ' deep power down R0=[@SCB_SCR]L R1=[R0]L R2=4 ' deep sleep R1|=R2 [R0]L=R1 ' wake up timer R0=[@WKT_CTRL]L R1=[R0]L R2=1 ' use 10kHz R1|=R2 [R0]L=R1 R0+=#C ' WKT_COUNT (SLEEP_CNT * OFF_SEC) R1=[@SLEEP_CNT]L R2=[@OFF_SEC]L R1*=R2 [R0]L=R1 WFI @SYSAHBCLKCTRL DATA L #40048080 @USE_DEVICE 'WKT, SCT:off, SWT, GPIO, I2C:off, FLASH, FLASHREG, RAM:off, ROM:off, SYS DATA L `1011011001 @FLASHCFG DATA L #40040010 @PINENABLE0 DATA L #4000C1C0 @PINENABLE0_DATA DATA L #FFFFFFBF @GPIO_DIR0 DATA L #A0002000 @GPIO_NOT0 DATA L #A0002300 @PMU_PCON DATA L #40020000 @SCB_SCR DATA L #E000ED10 @WKT_CTRL DATA L #40008000 @WAIT_CNT DATA L 4000000 ' 1sec (12MHz) @SLEEP_CNT DATA L 10000 ' 1sec (10kHz) @ON_SEC DATA L 22 ' (sec) @OFF_SEC DATA L 180 ' (sec)

2017年のクリスマス時に作ったものをベースに小変更。
@ON_SEC、@OFF_SEC 部分が、ONにする時間と、OFFにする時間。IchigoJam BASICからPOKE文でも簡単に変更可能。

1985年、ベーマガの発行元でもある、電波新聞社から発売されたゲーム「デーモンクリスタル」が、Nintendo Switchで復刻! 敵を倒し、謎を解き、アイテムでパワーアップしつつ、鍵を取り、次のフロアへ。現代のゲームシステムにも脈々と受け継がれています。

暗闇から探し出す感じをIchigoJamのゲームにしてみました。
音を頼りに、すばやく宝箱を探す「たからさがしゲーム」

プログラムはシンプルに短く!

10 X=15:Y=15:CLT 20 A=RND(32):B=RND(22) 30 CLS:LC X,Y:?CHR$(251) 40 K=INKEY():IF K=0 CONT 50 X=X-(K=28)+(K=29) 60 Y=Y-(K=30)+(K=31) 70 P=ABS(X-A)+ABS(Y-B)+1 80 BEEP P,3:IF P>1 GOTO 30 90 LC X,Y:?CHR$(246),TICK()

カーソル上下左右で移動、移動するたびに近いほどに高くなる音を頼りに探しましょう。
見つけたらタイムが1/60秒カウンターの値で表示されます。

100 PLAY"O4L32CEG"

このように、クリア時の音をつけると画面がなくても遊べます!

慣れてきたら上級編。ランダムに宝箱の位置が移ってしまうシカケ

65 IF RND(10)=0 GOTO20

2人で対戦できるように改造してみるとかもも、楽しいかも?

IchigoJam ver 1.3 beta 5、INPUT時、RENUM時のバグを修正したアップデート
IchigoJam 1.3b05.zip

links
- The Demon Crystal
- YMCAT(迎霧狼慢)さんのツイート: "【デーモンクリスタル秘話】
> - 1981年ベーマガ創刊号掲載のゲームがマルチプラットフォームで復刻! IchigoJam版エイリアンフィールド、改造の手引き

受動的に案内が届く同窓会ではなく、自発的な参加が基本、在学生も卒業生もAdHocに自由に開催できる、高専カンファレンス。 2008年にスタートして11年目、ますます勢いを増してます。今風に言うと、非中央集権型同窓会とか、分散化された高専同窓会。

その良さを一言で表すなら「パッションを交換できること」


(写真、高専カンファレンス新春in大阪 @kosenconf123
今回開催の「高専カンファレンス新春 in 大阪 - 高専カンファレンス Wiki」では、量子コンピューター、女装、デザイン、機械学習、政治、Python、気合と運と、ジャンルが割と幅広い。

共通しているのは、発表者は皆それを心底好きでやっていること。自分の知らない世界に触れることができ、その根っこにあるパッションに心動かされる。しかも、その話し手は自分と同じ高専生や仲間たち。


溢れる新春感!


さくらインターネットさんからも手厚い支援!


テーマは猪突猛進と百花繚乱!


ステキ会場提供、さくらインターネットさんから基調講演でスタート!


もりあがる懇親会タイム


みんな地方開催をしよう! 2009年の福井開催もはるか昔、そろそろ福井開催もいいんじゃない?


古いパソコンの液晶をばらしてラズパイとバッテリーで自作したデジタルなお面!おとなのふりかけTシャツもイカしてる!


ラーメン好き、ヤマゲンより、アプリづくりへのお誘い。
鳴かぬなら、鳴くのを創ろう、ホトトギス、な精神でいこうー


こちら飛び込みLTで、2分発表で使った資料 + α。
IoT、アプリ+サーバーサイド+電子工作という高専生にぴったりな総力戦。
さくらインターネットの sakura.io と、こどもパソコン IchigoJam の合作、IchigoSoda を使えば、非情報系の人でも楽しく簡単に作れます! 最小人数10名、最大60名、どこの高専にでも行きます! やってみたいと思う方、Twitter @taisukef までどうぞ! (とりあえず、限定5高専!)

理想形
1. まずは高専生が楽しくIoTとプログラミングを学ぶ
2. 小中学生へ教えてみる(佐世保高専石川高専のように)
3. 高専の枠を超えた部活(地域ICTクラブ、PCNなど)を、定期開催する
4. 高専が地域の小中学生向けプログラミングや、ロボットコンテストを主催する(高専生が審査するのも一興)
5. 高専生にも刺激になり、小中学生はいずれ強い高専生になる


名札システムと、名刺持参する高専生も増えてきてはいるけれど、そろそろイノベーションがほしいところ。


card - @taisukef
その場でQRコード印刷して、名札に貼っちゃうとかどうだろう?余裕ある人は自宅で印刷してもってくるのもよし。名刺の裏に大きく印刷しておくもよし。 名刺は交換せずに、その場でQRコード読み取りで、交流をより深めるきっかけにできるアプリにするのもいいかもしれない。
QRコード作成アプリの参考にどうぞ! 「card - JavaScript src on GitHub


たくさんのjigインターンOB高専生にも再会!


高専生大好きサイゼリアにて

早速、Twitterでは、参加した高専生達のレポートや、新たな宣言が流れてます(#kosenconf)。実験とレポートが基本の高専生。ブログを書くまでが高専カンファレンス! 運営のみなさま、ありがとうございました。参加者のみなさま、高専カンファレンスに興味でた方、次回高専カンファでお会いしましょう!

links
- 高専カンファレンスin新春 参加したお話 - Rikitosama_make_potato’s diary
- スマホのWi-Fi設定とかのお話 - Speaker Deck
- 高専カンファレンス新春 in 大阪でもトップバッターだった話 - nomunomu0504.blog
- 新春カンファ資料-merged (2).pdf - Google ドライブ
- 高専カンファレンス新春 in 大阪に参加した話 - この素晴らしい世界に変革を!
- ML_123shinshun - Speaker Deck
- ハリーポッターに なりたいけどなれないからハニーポッターになる
- 高専カンファレンス新春 in 大阪に参加した - くそメガネの備忘録
- 高専カンファレンス新春 in 大阪に参加した - 鍋はすき焼きがすき
- 弱い高専生が高専カンファに参加してみた。 - SzkAykのブログ
- 高専カンファレンス新春 in 大阪に参加しました! - 記憶
- 【初ブログ】高専カンファレンス新春in大阪に参加した話 - zeran’s blog
- kosenconf in 大阪 ~猪突猛進・百花繚乱~ - Google フォト
- 「高専カンファレンス新春 in 大阪」でLTをするときに立てた戦略 - 反面教師あり学習
- 第二回高専キャリア全国大会と高専カンファレンス新春in大阪にいった話 - 意識低い系高専生の意識高めな奴
- 高専カンファレンス新春in大阪で司会をした #kosenconf #kosenconf_123shinshun - chirashi
- 高専カンファレンス新春 in 大阪で実行委員をした話 - JP3QLW・シガGT324のブログ
- 高専カンファレンス新春 in 大阪に参加した話 – 縣雑記帳

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