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

さばえ博・SDGs・ネクタイ - さばえものづくり博覧会2018

2018/10/26
#IchigoJam #maker #js #kosen 

もの博、さばえものづくり博覧会2018


鯖江のものづくり技術で活躍する、福井高専生の後輩!


0.5mの格子状に切断した銅板を使った、LED CUBE by 鯖江工業所
ぜひキット化してもらいたいっ


キビキビといい動きのロボが支えるモノの生産現場!


近畿経済産業局の局長、森さんご来鯖記念に、主催商工会議所との意見交換会がありました。
近畿経済産業局長森清様との意見交換会、 | 『さばえ.jp』百さんのブログです


近畿経済産業局長を囲む会!


眼鏡産業、ウェアラブル手がけるボストンクラブ!


漆器産業、間伐材でSDGs!ものづくりのまち、端材の有効利用もおもしろいテーマ!


漆器産業で活躍、3Dプリンター。試作から商品化された事例展示!


繊維産業、Hana道場は、国登録文化財、旧鯖江地方織物検査所の2Fです


食も楽しい鯖江、日本酒の梵ブース、GOLDのストラップは珍しい!


中学校の見学デー、鯖江にはおもしろいもの多いんです!
いいものを活かした次の研究にも熱心な鯖江。


電通大、ARドッジボール、参加者募集!


電通大のニョロニョロしたアクチュエーター。熱で伸縮する形状記憶合金を利用。大きいものとかあれば、触覚にしっぽに楽しそう。 光るだけじゃなく動くネクタイに!


時計の進む速さを操って、人を操る研究!
時計好きにはうれしい出会い!
時間を止められる時計」「ログ表記時計」「zoomclk


福井工大の反応速度調べ。じゃんけんに負けてという指示で0.5秒切れるか!?
IchigoJamで実装するのも楽しそうっ


福井大学、自動演奏ロボ「MUSICROBOT


駆動に使われている強力そうなソレノイド!


光るネクタイをきっかけに、持続可能なものづくり社会、SDGsカラーに輝くIoTieの商品化プロジェクト始動!


SDGsカラー、データ化&アプリ化しました「goals17 with sq-game.js

1 貧困をなくそう E5243B 2 飢餓をゼロに DDA63A 3 すべての人に健康と福祉を 4C9F38 4 質の高い教育をみんなに C5192D 5 ジェンダー平等を実現しよう FF3A21 6 安全な水とトイレを世界中に 26BDE2 7 エネルギーをみんなに そしてクリーンに FCC30B 8 働きがいも 経済成長も A21942 9 産業と技術革新の基盤をつくろう FD6925 10 人や国の不平等をなくそう DD1367 11 住み続けられるまちづくりを FD9D24 12 つくる責任 つかう責任 BF8B2E 13 気候変動に具体的な対策を 3F7E44 14 海の豊かさを守ろう 0A97D9 15 陸の豊かさも守ろう 56C02B 16 平和と公正をすべての人に 00689D 17 パートナーシップで目標を達成しよう 19486A


単4電池x3を電源に、3.3VレギュレーターでCPUは駆動するよう改造。

5 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 10 S="E5243BDDA63A4C9F38C5192DFF3A2126BDE2FCC30BA21942FD6925DD1367FD9D24BF8B2E3F7E440A97D956C02B00689D19486A" 20 FOR I=0 TO 16 25 FOR J=0 TO 2 26 A=S+I*6+J*2 30 C=ASC(A):GSB@HEX:N=C<<4 31 C=ASC(A+1):GSB@HEX:N=N+C 32 POKE#800+I*3+J,N 35 NEXT 40 NEXT 999 END 1000 @HEX:C=C-48-(C>64)*7:RTN 100 V=0:Y=1 110 FOR I=0 TO 16 115 A=#800+I*3 120 R=PEEK(A):G=PEEK(A+1):B=PEEK(A+2) 130 R=R*V/50:G=G*V/50:B=B*V/50 '135 ?HEX$(R),HEX$(G),HEX$(B) '140 POKE#800+52+I*3,G,R,B 140 POKE#800+52+20*3-I*3,G,R,B 150 NEXT 160 U=USR(#700,#800+52) 170 V=V+Y:Y=Y-2*Y*(V%16=0) 180 GOTO 110

前半、SDGsの色を16進数からデータ化する部分。あらかじめデータにしておけば、短縮可。
140行、表示する向きを変更可能

links
- IoTネクタイの作り方

津山高専でIoT講習、アイデアは組み合わせ!発想広げるアプリ idea3x3

2018/10/19
#opendata #IoT #IchigoJam #kosen 

高専プロコンの伝説、きょろちゃん出身、津山高専、寺元先生のお誘いあって2度目の訪問!
秘密はニックネームで呼ぶ先生、伝説の津山高専とオープンデータ


高専生向け体験会と


社会人向け体験会の2本立て!


ITで地域が変わる!大人も楽しいIchigoJamプログラミング体験会 (PDF)


アイデアは組み合わせ!・・・を


アプリにしました「idea3x3
3つずつの単語を組み合わせて、9つの組み合わせを表示するだけですが、発想を広げるきっかけにしてみましょう。


プログラミング版スポ少、地域ICTクラブを広めたい!


自宅や納屋、どこかの電気をスマホで入りきりするプログラム体験。

1 N=IOT.IN():IF N LED N-1 2 GOTO 1 RUN

ちょっと画面がビリビリするのはIchigoJamががんばっている証。
スマホの画面から2を送信すると点灯、1を送信すると消灯。なんでもコントロールできちゃいますね。


楽しんでいただけた、IchigoJam、ご家庭で続けるには、キーボードをご準備ください!
サンワサプライさんは岡山の会社!


ディスプレイは家庭のテレビでもOK!


webでいつでもどこでもサポート!


シス研にもおじゃましました!


津山高専、2018インターンOB、キムに再開!


鶏白湯らーめん「Cock o Noodle Do
津山、jig.jpメンバーのお父さんがやっているというラーメン屋さん訪問!


柚子風味がいい感じラーメン!


餃子が入った手羽先、編み上げ春巻き、餃子のセット「鳥ニティー」自家製ラー油がおいしい


Cock o Noodle Do」オリジナルシール、もらっちゃいました!

links
- ITで地域が変わる!大人も楽しい、IchigoJamプログラミング体験会 iNつやまこうせん - 津山瓦版

好きなものから取り組もう、LEDのまち阿南、創って伝えて楽しむ阿南高専講演

2018/10/15
#tokushima #kosen #IchigoJam 

孫さんが実践した一日一発明。一日一創、創るを習慣化すると、アイデアの幅が広がっていいですよ!

創りたいもの、欲しいもの、気になるもの。なんでもいいので、手を動かしてみるのがはじめのいっぽ。
プログラミングは、パソコンさえあれば材料も加工機械も不要で、創り放題なステキな道具。
IT、オープンデータ、メガネなど、楽しいネタが続々登場!

はじめてのプログラミングに年齢は関係なし。こどもも大人も楽しい、かわいいコンピューターとの会話から始まる「IchigoJam」がおすすめ。 ブラウザ上で体験できる「IchigoJam web」もありますが、余裕があれば「IchigoJam S ハーフキット」はんだづけからの体験がイチオシです!

どんな些細なものでもOK、作ったものを写真と合わせてTwitterへ投稿しよう。続いて、気になるキーワードでTwitter検索、おもしろそうな人をどんどんフォローしよう。 あとは気が向いたときにTwitterのタイムラインを見るだけで、その筋の詳しい人による新しいネタがどんどん集まり、発想が広がります。


300コで3,280円、フルカラーテープ型LED「WS2812B」が動くサンプルに食いつく阿南高専生
さすが、「光のまち、阿南」!


かわいいくまちゃんに、マトリクスLEDとコントローラー2つつながった女子学生によるやわらか電子工作作品!


廊下には学生の作品!起きれない若者、数字を合わせないと止まらない、二度寝防止目覚まし時計!
すでにあるものでもOK、自分で作ってみないとわからないことがたくさんあるし、プラスα/マイナスβでオリジナル!


テープLEDを使って、光るはちまきとして球技大会に出るとかナイス!
輝度はまだまだ上げられるので、いろいろ試してみてね!


制御情報4年生!再来週の高専プロコン@徳島でまた会いましょう!


各地で光る、阿波踊りとLED!


徳島で発見、7色に輝く橋!


近づいてみると、上下に設置されたLEDで間接照明で照らす割とシンプルな仕組み。これならつくれそう!


作ってみたもの。


WS2812Bの5V/DIN/GNDを、IchigoJamのVCC/OUT1/GNDにつないで、下記のプログラムを打ち込むだけ!

10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 11 L=57 12 POKE#704,L*3 15 H=180:S=100 16 V=20 17 A=1<<RND(7) 18 FOR I=1 TO L 20 H=(H+A)%360 30 GSB@HSV2RGB 50 POKE#800,G,R,B:COPY#800+L*3-1,#800+L*3-4,-L*3+3 60 U=USR(#700,#800) 70 WAIT 2 80 NEXT 90 GOTO17 'use C,D,E,F 100 @HSV2RGB:R=V:G=V:B=V:IF S=0 RTN 110 D=H/60%6:C=V-(59-H%60)*V/60*S/100:E=V-H%60*V/60*S/100:F=V*(100-S)/100 120 IF!DG=C:B=F 130 IFD=1R=E:B=F 140 IFD=2R=F:B=C 150 IFD=3R=F:G=E 160 IFD=4R=C:G=F 170 IFD=5G=F:B=E 180 RTN

10行 WS2812B制御用マシン語(解説
11行 テープLEDの個数を設定、今回使ったのは57コ(#800から始まる102*2byteに収める最大は68コ)
16行 最大輝度を設定(最大255だけど、電源をVCCからとって全部光らせると電流が不足するかも)
50行 後ろへLED1つ分ずらすコピー命令の使い方
100行 HSVからRGBへの変換(変数、C,D,E,Fが破壊されるので注意)

単純に、ランダムに光らせるだけなら、これだけでOK!

10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 11 L=57 12 POKE#704,L*3 20 V=20 30 FOR I=0 TO L-1:POKE#800+I*3,RND(V),RND(V),RND(V):NEXT 40 U=USR(#700,#800) 50 WAIT10:GOTO20

エモい光らせ方、研究すべし。


阿南高専、3年半ぶり、2度目の訪問!
ものづくりx阿波踊りxオープンデータ、徳島&阿南高専


創る楽しさ広げよう!

オープンデータアプリコンテストで盛り上げる私達のまち - 徳島 Our Open Data 阿波食マップアプリ

2018/10/14
#js #tokushima #kosen #OurOpenData 

オープンデータにいち早く取り組んだ、徳島県。
賞金総額125万円、地元密着テック情報の50周年記念事業「学生限定オープンデータアプリコンテスト」の審査員としてお招きいただき、3度目の徳島。 徳島大好きでアプリづくに取り組むステキな学生たちに会えました!


うれしい参加学生同士のつながり、いい仲間ができたかも!?


早速つくってみたよ!「阿波食ナビ
Our Open Data で見つけた、共通語彙基盤対応の5つ星オープンデータRDFのオープンデータ「首都圏で食べられる徳島「阿波食」」!フィルター機能付きで結構使いやすい!?


しらすにも、すだち!


ちくわが竹輪である理由がわかった!温かくて美味しい!今まで食べた中で最高の竹輪。


四国、戻り鰹!こうしたステキな食に首都圏でもきっと会えるアプリです。


地産地消オープンデータを使ったアプリアイデアから、眠るデータを発見!「とくしま食巡りの店」のオープンデータ(できれば緯度経度付き、更に欲をいえば5つ星オープンデータ)があれば、阿波食ナビが徳島でも使えます! 欲しいデータはどんどんOurOpenDataに要望してほしいと、徳島県の中の人も言ってくれてましたね!


アワ・ストラグル、いきなり本格的なアイデアな予感!?


若者が遊ぶ場所がない課題に、自分たちで創るというステキな解決策。 アイデア部門ながら、なかなか作り込んできたスマホボードゲーム「アワ・ストラグル」画面。自分の考えたおもしろゲームを実際カタチにして、気軽に誰かに遊んでもらえるいい時代ですね! GitHubでみんなで創り始めて、キャラクターをどんどん追加できる環境も作っちゃうのもいいね。ドット絵ツールのベースアプリ「dote」もありますし、みんなでつくるいい環境もあれば、コラボもいいかも。


観光地などでゲットできるカード。


ロケーションベース型 観光アプリ、AwatabiGO!2016年のjigインターンのテーマはなんとかGoでした。「鯖江でGO! jigインターン2016成果報告会


好きな動物&食べ物が「うなぎ」なので、自作のうなぎパーカーで発表するうなぎくん!徳島県立徳島科学技術高校の2年生、プログラミング初めての勢いで作ったARゲーム!


ARモードで登場する「はてな」をタップすると、すだちでゆるキャラゲットモードに!質疑応答で飛び出した、すだちをしぼってゲットというアイデア! スマホの画面上でどう「絞る」という演出をするか、あれこれ試すのも楽しそう。


アプリ部門、最優秀賞受賞、喜びの声を動画で!賞金50万円(相当!?)


阿南高専4年生、地方からの若者消滅問題に、まずはしっかりデータで向き合おうというアイデア。 地域経済分析システムRESASをより具体的に、小さい単位で追いかけ、論理的に時には思い切った策を取る必要があります。 鯖江市での人口対策会議では、町単位での転入転出のデータありました。市町単位でのオープンデータの新しい形、創りましょう!(アイデア部門、最優秀賞)


思わぬ受賞で戸惑う高専生。プレゼンターはテック情報の代表取締役社長、濱尾さん。


阿南高専生!


観光地をスタンプラリーで回るアプリ。自分で創る位置ゲーで遊ぶ楽しさはまた格別ですよ!チート対策を含む、遊ぶ人を飽きさせない運用体制が鍵かも? だけどやってみないとわからないから、まずははじめるべし。


ご当地アプリ、徳島弁がかわいい!みんなが使っている環境を使う、大事ですね。LINE BOTでシンプルに避難所を提供。


食材オープンデータ、アレルギー対策や、新たな切り口でのグルメ観光に良さそう!文部科学省「食品成分データベース」を使いやすい5つ星オープンデータとして、ご当地食材を産地でオープンデータ化してマッシュアップが良さそうです。 「すだち」の栄養素はデータありました!


人口あたりのお医者さんの数、トップクラスの徳島県は、危険な面もはらんでいます。特別料金がかかる総合病院にどうしても集中してしまう現状を、オープンデータとアプリによる誘導で最適化しましょう。


不名誉なナンバーワン、糖尿病が多い徳島県。原因は運動不足と濃い味付けにある? 「国民栄養調査データを活用した都道府県別栄養関連指標の検討」 こちらのデータに拠ると、歩かない県のようですが、炭水化物(糖質)摂取量は沖縄が低い以外は全国あまり変わりない様子。塩分は関東と比べて低いので違うのかも・・・。 データを使った犯人探しゲーム、楽しいですね。PDFから、5つ星オープンデータ化して、いろんな相関をまとめてとってみるときっとおもしろい。


おやつのお菓子、なんと3つ!やっぱり、徳島県、糖質好き!?


糖尿病対策には、楽しく歩くこと、とくしまっぷ!


ステキ高校生!徳島県立城ノ内高校の学生たち、アプリづくりはやってないとのことですが、簡単なところから始めたり、作れる学生とのコラボ、やりましょう!


散歩コースオープンデータを、ところどころにある過去の写真スポットをARで見ながら歩こうというアプリ。 「鎌倉今昔写真」や「鯖江今昔写真」の徳島版もぜひ!


住む場所を決めるアプリ。なんと、コンビニ、ドライブスルーオープンデータも!?「徳島県ドライブスルー一覧 - Our Open Data」には、なんと徳島県の独自調べ! ここはぜひ大手飲食店チェーンによるオープンデータを要望したい!


匿名投稿で投稿の敷居を下げる不審者情報共有サービス。 いいことも不具合もいろいろレポートする鯖江で運用中の「さばれぽ」に不審者情報投稿を追加するのもありかも?


再開のキーワードは、ハッシュタグ阿波オープンデータ「#OurOpenData」!

実は、徳島、今月はもう一度来ます!
半世紀に一度のチャンス「高専プロコン in 徳島」へもぜひ!
10/27-28@アスティとくしま

みんなでつくる地域ICTクラブ、福井高専IT研究会と鯖江商工会議所あたらしもん好き勉強会

2018/10/12
#IchigoJam #IoT #VR #megane #swift #kosen #sabae 

福井高専電子情報工学科、1年後期から、いよいよプログラミングの授業スタート!
初回は IchigoJam を使って、自分のパソコンづくりとプログラミング入門。
ひとりずつはんだづけした後、エルチカ、かわくだりゲーム、10秒あてIoTゲームをペアでつくってコンピューターを操る感覚を掴んでもらいました。


はんだづけスタート!
自分のパソコンをまだもっていなかった学生も、ひとまず1台ゲット。


個性がでるはんだづけ、部品をまっすぐつけることにこだわる!


女子は髪をこがさないよう、注意!


できあがった IchigoJam S。すっきりシンプルになったこともあってトラブルも減って1コマ、90分ちょっとでほぼ全員完成!


ペアプログラミングスタイルで、プログラミング入門&IoTはじめのいっぽスタート!

IchigoJam かわくだりゲームの改造版(点数追加、スペースキーでボム、時間でだんだん速くなる)

10 CLS:X=15:CLT 20 LC X,5:?"O" 30 LC RND(32),23:?"*" 35 WAIT 6-TICK()/180 36 X=X-BTN(28)+BTN(29) 37 X=X&31 38 IF BTN(32) CLS 40 IF SCR(X,5) GOTO20

IchigoJam BASIC リファレンスを見ながら、解読してみよう!
ネットでじっくり学ぶテキスト「IchigoJamプリント
ブラウザで動く、IchigoJam web もあるよ!
良い作品ができたら、Kidspod;や、電子工作マガジンに投稿しよう。
わからないことがあれば、IchigoJam-FAN (Facebook) か、#IchigoJam (Twitter) へどうぞ!


福井高専の電子情報工学科を選択した42名、楽しくプログラミング学んでいきましょう!
作ったIchigoJamは、実験でも使いますよ!
(現在福井高専は、1年生が混合学級をとっていますが、専門科目の時間は各クラスから集まって実施)


福井高専IT研究会に新1年生を勧誘!PCN鯖江にも新メンバー!


福井高専メディア研究会のラジオ番組新コーナー「OBさんいらっしゃい」に出演!
OB/OGというのは冗長なので、語源はともかくOBで統一する形でいきましょう。


ものづくりのまち鯖江ならではの、新基軸情報発信を目指す会!


体験しないとわからない、VR/MRの世界 at 鯖江商工会議所の新企画「あたらしもん好き勉強会#1」

アイデアディスカッション、その1「続きはリアルで!鯖江のVRと言えば?」

メガネを作っている職人視点VR(製造工程) コンサート映像VR(人形浄瑠璃、サンドーム) 歴史VR(近松門左衛門) 西山動物園(動物間近でみる) 鯖江の郷土料理のつくりかたVR動画(サバエドッグ) 加藤吉兵衛商店で酒造り見学、中松で飲む気分VR ドローン映像、上空から鯖江(鳥視点) 福鉄運転席 サバエドッグ視点 観光ガイドVR(自治体とお年寄りがネック?) 美術館・博物館の美術品を見せる

アイデアディスカッション、その2「ミライのメガネ」

カーナビ(人生ナビ) 年収見えるメガネ 共通の友達が見えるメガネ 自分との相性が見えるメガネ(好感度) 料理のカロリー見える(アレルギー) スイカの糖度判定(果物) 透けるメガネ 寿命が見えるメガネ(デスノート) 財布替わりになるメガネ 見るだけで最安値が見えるメガネ(レビュー) 店の評価が見えるメガネ リアルなマリオブラザーズ(クリボーがでてくる) 武家屋敷復元 メガネがスマホの替わりになる(事故率下がる、猫背が治る?) 組み立て手順をガイドする

もりあがった、MR、電脳メガネ。
オープンソースな電脳メガネアプリをSwift4.2に対応し、ちょっとバージョンアップ。
「Megane」src on GitHub

世界が印刷物風に見えるメガネと


世界がステンドグラス風に見えるメガネを追加!

メガネのまち鯖江だけに、IT研究会でもOculusなどメガネ系に関心ある学生多いかも!?
今度持っていくのでお楽しみに!

IoT光るイチゴ帽子のつくりかた - 久留米高専プログラミングラボ部訪問とPCN久留米誕生!

2018/10/09
#IchigoJam #kosen #IoT #kurume 

佐世保高専からの久留米高専プロラボ部へ(久留米高専の部活の一つ、プログラミングラボ部)
4限目がなかった、2、3年生の部員さんが迎えてくれました。


遊んでくれてありがとう!


黒木さんの部屋、入ってすぐ目に入った、カッチャマン(勝屋さん)の絵!
佐世保高専でのIoTプログラミングの様子をご紹介。
高専生から中学生へ「はじめてのプログラミング、はじめてのIoT」 / 佐世保高専での学び


PCN久留米、爆誕!?
PCN三重代表の岡村さんの出身地のすぐそば、待望の久留米拠点!


鯖江から来たので、電脳メガネも布教。
comiceye - Macがあれば、Swift3で自由に開発可能ですよ!


LED1からはじめるプログラミング、ゲームもこうしてこうすると、あっという間に楽しいゲーム。
ブラウザ上で動くチュートリアル付き「IchigoJam web」で、ぜひ楽しいプログラミング体験を!


sakura.ioモジュール搭載、IchigoSodaなので、1行足すだけでネットランキング対応に!

60 IOT.OUT S

もう1行足せば、スマホからスタート信号を送ることが可能に!

5 IF IOT.IN()=0 CONT

IOT.IN()コマンドは、何もデータがないときには0を即座に返します。(1.2b64ファームを使用)


一瞬でIoT化し、望むままに即座に仕様が変わる「かわくだりゲーム」を体験


IoTはこどもでも使えて当たり前の時代、どう使うかの勝負!
高専生にも人気な光るイチゴ帽子をIoT化しちゃいましょう。


テープ状のマイコン搭載フルカラーLED、WS2812Bを調達し、30コ分切ります。
30コ980円60コ1,580円300コ3,280円 WS2812B on Amazon)
ジャンパー線を3本用意して・・・


はんだづけ!
これをIchigoJamのVCC/GND/OUT1に挿しこみ、次のプログラムで光る!

10 POKE#700,240,181,68,24,90,32,12,73,114,182,128,37,35,120,1,52,255,34,74,96,3,39,10,38,43,66,1,208,10,39,3,38,1,63,253,209,0,34,74,96,1,62,253,209,109,8,239,209,1,56,234,209,98,182,240,189,0,0,1,80 20 U=USR(#700,#800) SAVE0 Saved 220byte OK POKE#800,900,090,009 OK RUN OK

メモリの16進数#800から緑、赤、青の順に明るさを設定して、マシン語呼び出しでWS2812Bを発光させています!
光らず、固まってしまったら、マシン語の入力をどこか間違えているので、LOAD0して、確認しましょう。

キーボード入力で、30コ全部光らせるには・・・

20 INPUT N 30 FOR I=0 TO 29:POKE#800+I*3,N/10%10,N/100,N%10:NEXT 40 U=USR(#700,#800) 50 GOTO20

IoT.IN()コマンドで光らせるように改造するには・・・

20 N=IoT.IN():IF N=0 CONT

と、超簡単、でしょ!?


WebSocketでつながったwebアプリをスマホで表示して、RGB値を10進数3桁で送ればその色に光る!
生徒の意のままに変わる、先生の帽子の色!
天気や、外の混雑具合に合わせて変わる帽子もオシャレですねっ

何を光らせると目立つか?
そんな時は、ギャル電を参考にすべし「電子工作でパリピな夏を独り占め!サイバーパンク大五郎!! | dotstudio
色相を使って美しく「WS2812B x IchigoJamでエモいウェアラブル「イチゴ帽子」プログラミング入門とマシン語、舞鶴x鯖江コラボに向けて


またね!

ちらっと紹介した全国から集った高専生16名で、がっつり開発する3週間、jigインターン、来年もやりますよ!
インターンブログをのぞいてみよう → 「jigintern2018’s diary

(おまけ)
WS2812Bを制御するマシン語プログラムが気になる人へ (asm15のソースです)

' OUT1 WS2812B DOUT [R1+`0001]を変更でOUTnに変更可能 ' R0 - data count 30コ固定 ' R1 - base address (初期はRAM offset) ' R2 - OUT value 0/#FF ' R3 - data value ' R4 - data address G1,R1,B1,G2,R2,B2 .... ' R5 - bit count ' R6 - wait count buf ' R7 - wait count @WS2812B PUSH {LR,R4,R5,R6,R7} R4=R0+R1 R0=30*3 R1=[@GPIO1]L CPSID @LOOP_DATA R5=#80 R3=[R4] R4+=1 @LOOP_BIT R2=#FF [R1+`0001]L=R2 R7=3 '(3*4+1)=13 <- 16.8+-7.2 R6=10 '(10*4+1)=41 <- 43.2+-7.2 R3&R5 IF 0 GOTO @SKIP R7=10 '(10*4+1)=41 <- 43.2+-7.2 R6=3 '(3*4+1)=13 <- 16.8+-7.2 @SKIP R7-=1 'wait R7*4+1 clock IF !0 GOTO -1 R2=0 [R1+`0001]L=R2 R6-=1 'wait R6*4+1 clock IF !0 GOTO -1 R5=R5>>1 IF !0 GOTO @LOOP_BIT R0-=1 '+6clock IF !0 GOTO @LOOP_DATA CPSIE POP {PC,R4,R5,R6,R7} 'RET @GPIO1 DATA L #50010000

個数を変える場合は R0=30*3 を変更でOK!asm15の出力では2行になりますが、200字で収まるので1行化しました。

マシン語なんて知らないよという人も安心。入門があります!
はじめてのマシン語 - IchigoJamではじめるArmマシン語その1

マイコン、クラウド、FPGA、自在にコンピューター使いこなそう!

高専生から中学生へ「はじめてのプログラミング、はじめてのIoT」 / 佐世保高専での学び

2018/10/08
#IchigoJam #kosen #sasebo #IoT #doc 

福岡、高知とつながった高専での情報セキュリティ人材育成プログラムの縁で、佐世保出張ワークショップ。
中学生へとプログラミングを教えられる高専生を育成してほしいという、嬉しいオファー!

イベント後、楽しんでくれた中学生達、佐世保高専生も良い顔してるっ

こちら資料「はじめてのプログラミング、はじめてのIoT (PDF)
ppt / keynote ファイルで必要な方、ご連絡ください!

午前中に事前講習、はじめて使うIchigoJamsakura.io、準備も手伝ってもらいつつ、楽しい予習のスタート!
sakura.ioモジュールの組み立て。4G通信に必要なアンテナ2本をモジュールに接続。

IchigoSodaには番号を振っておくのがオススメです。

sakura.ioモジュールをセットアップする手順をノートPCを使って習得。

ナイス笑顔の高専生!

「IoTをかんがえよう」高専生編。

かわくだりゲーム、優勝者に商品。IchigoJamキット、上級編!

午前中、事前講習の部、終了!

お昼はナンバーワンに輝いたという、佐世保高専すぐそばの「佐世保バーガー」大きい!

中学生をサポートする佐世保高専生!

プログラミング、ワクワクしながらコード接続から開始!

高専生から中学生へのサポート。

教えすぎないのがコツ、中学生へのナイスサポート。

「IoTをかんがえよう」身の回りの困ったこと、イライラを解消するものは「何か?」

親子でそれぞれ作った「かわくだりゲーム」をテスト中。

わくわく電子工作キットを使って、サーボと光センサーを使ったIoTプロトタイピング!

自分で考えたIoTの発表

伝えたいのは、いろいろ悩みながらアレコレやってみる楽しさ

すっかり先生顔になってプログラミングを伝授する佐世保高専生の姿が頼もしい。

ハイスコア争い(早速、チートが混ざってる)

いい顔!

楽しそう!

楽しそう!

親子で学ぶのもよかった。

真剣!

「こまったこと」をテーブル内で共有して、みんなで解決する道具を考える。この時、ドラちゃんなら何をだすか?

メンター努めた高専生との充実のふりかえり会。

・よかったこと(佐世保高専生、先生他)

IchigoJamが何かわかった アイデアを出すまでの、一連の流れを一日を通してできた プログラムの記述がしやすかった IchigoJamを使ってネット通信を使ったのは勉強になった 佐世保のことから話題にしたのは親近感が湧きよかった プログラム説明の際、運動会など、具体的な例がよかった IoTはなんとなくのイメージしかなかったけど、イノシシの例はよかった ネコのマークでエンターすると、エラーが吐かれるなど、笑える場所があってよかった 通信、ブラックボックスっぽかったことが、プログラミングできてよかった 意見交換の場があったのがよかった IoTのアイデアの前に、イノシシなどの具体例があってよかった 中学生と話ながらできたので、高専アピールになってよかった スライドの途中、中学生が大学生を教える話がよかった(PCN福大附属) プログラミングのすごさが認識できてよかった、IoTに触れられてよかった ラズベリーパイ買って活動しているけど、IchigoJamを弟にも買ってあげようかなと思った ラズパイで開発はこども向けといっても難しい。IchigoJamは迷わない、プログラミングを妹にも勧めてみようかなと思った 中学生喜んでいた おかあさんたちもやってくれた 日頃できていないプログラミングの実践ができてよかった Webに送る部分が見えた 直接ケーブルでできることがよかった ストーリーの中で楽しみながら、条件分岐などが登場していてよかった 触りながらいろんな文法がでてきて、楽しみながら勉強できて良かった C言語が全然身につかなかったけど、これがあればよかった

・改善点(佐世保高専生、先生他)

中学生の参加者が少なかった(高専生の方が多かった) → 今度はたくさん呼ぶ(今回は初回なので控えめに) 中学生がわからないところ、エラー文がでてきてほしかった → 気になるところ → http://fukuno.jig.jp/2268 中学生にあんまり教えられなかった(知識が足りない) → 良い例え話を作りたい → 実演した方がいいかも → 中学生に質問する機会をつくるといい(近い価値観を持っていたから、) 保護者の人が見ているだけであまり伝わらなかった → 最初からやってもらうことを条件にするのもあり? センサーとか、ネットにつなげた、プログラミングを全く知らない人にとっては難しい 回路の配線、前に写しているのでは見づらい(光センサーはあまり) 画面をうつしてすぐに進んでしまっていた プログラムをIoTをかきたいときに資料がわからない → 参考プログラムをおいておく(わくわく電子工作キットの取説が使える!) 最後のIoTの時に、自分たちで考えることだったけど、課題をひとつあって、例題をやる IoTで問題を解決をしようと突然入っても難しい 高専生も、中学生も鍵の課題が上がっていた → 一つのテーマで多くとって、具体例を紹介する、実演したりする → 例をあげる → 具体例をおいておく → 自作のIoTをおく → 完成品をおいておく、ロボットとか 問題がみえない → 最初からIoTをつくるということを強調し、プログラムに取り組む → 中学生どうしのペアで話し合ってもらうのもいいかも IoTのプロトタイプを作る LEDとモーターしか使えないように思われそう → 温度センサーも使ってみる → IoTの例を手元においておく → IoT具体例を出した方がいい → グループ内の話す時間をもっとつくる ゲームが人気で、IoTの話にいってもゲームを改造する時間をとりたい 時間がない → カリキュラムを分けたり、時間を長くとる → 段階ごとに区切る(高専生はグループに別れ、各グループごとに、自分たちで活動) 保護者の人が、端子番号が読めない → 虫眼鏡を買っておいてく 1行1行の解説をいしても、全体の理解があったらよかった(かわくだりゲーム) プログラムの文がでてきて、アルゴリズムを簡単に伝えたい → フローチャートのようなもので解説する ゲームのあと、通信、IoTの流れ、通信を使ったゲームにすると交流もできていい → ゲームと通信を組み合わせたものを考える ネットの体験時、通信かキーボードかの区別がつきにくい → 図があるといい、実演用の実機をひとつ前におくといい ネットの体験時、もっと攻撃的な例があるといい → 攻撃的な例を用意する(相手のファイルをSAVEで消す、RESETする) インターネットは無料じゃない → 無料ではなく気軽など表現改める ちょっと複雑なIchigoSodaから入らない方がいいのでは → IchigoJamのはんだづけからやるのもいいかも

中が気になる、50th Anniversary Hall

KidsVenture創始者、さくらインターネット高橋さんも一緒、初の佐世保高専!
2016年jigインターンOBのひるねと!

佐世保最古のカステラ屋さん「松月堂」の「かすていら」をゲット。

佐世保とIoTと言えば、やっぱりコレ!針尾無線塔
300mの正三角形、136mの電波塔。今からちょうど100年前、1918年から5年かけて建造された巨大な3本!

これが入り口。中に入ると・・・

136mの巨大な空洞。100年の歴史を感じる独特な音響、体験しないとわからない。

紹介した全国から集った高専生16名で、がっつり開発する3週間、jigインターン、来年もやりますよ!
インターンブログをのぞいてみよう → 「jigintern2018’s diary

駅すぐそばの佐世保港でインドネシアからの帆船に乗れたのはラッキーでした。
「修せざれば現れず」とは永平寺、道元禅師からのメッセージ。
何事も、体験しなくちゃわからない!

links
- 1時間半でわかる叡智の結晶「IoT」 - IchigoJam x sakura.io 情報セキュリティ実習 in 高知高専
- BASICだから、誰でも簡単IoT! こどもIoTハッカソン in さくらインターネット福岡オフィス

勝手に次回のK-SAMITを企画する3つのイベントネタ / 高専生進化論

2018/09/29
#kosen #IchigoJam 

高専同窓会「K-SAMIT」の次のネタを3つを考えました。

企画案1:クイズ「ぐぐってQ」

そんなのわかるかよっていう問題をすばやくぐぐって答えるクイズ番組風企画。
回答者の検索中の画面はリアルタイムでプロジェクターでさらされ、ITリテラシーが試される。

企画案2:ライブコーディング大喜利

「花火」など、お題が出されてからコーディング開始、できたら手を上げ、プロジェクターに画面が表示され、デモする。 座布団が持ってかれたりする。(花火 on IchigoJam web - WebAssembly)

10 CLS 20 FOR I=22 TO 8 STEP-1 30 LC15,I:?"|":WAIT5 40 NEXT 50 FOR I=2 TO 8 STEP 2 60 FOR J=0 TO I*10 70 X=RND(I*2)-I 80 Y=RND(I*2)-I 90 IF X*X+Y*Y<I*I LCX+15,Y+8:?"*" 100 NEXT 110 NEXT 120 WAIT300:RUN

企画案3:Twitterアイコンで懇親会

おすすめ、800円でスマホを電脳メガネ化するガジェットにTwitterのIDシールを貼って、リアルタイムにTwitterアイコンとつぶやきをAR表示。リアルとTwitterの融合で、新たなコミュニケーションを創造する。
(参考、見る人すべてがネコミミになるメガネ「nekomimiworld」の作り方、一番好きな三角関数は何ですか?


一次会記念写真360 with 撮影者さんも!


K-SAMIT2018 (Kosen Society All Member Interact Technology)


高専生はエンタメ力が(藍月先生と比べて)低い!
プレゼンの冒頭、高専ラップと高専ミュージカルでデモ(実演)から入るスタイル、真似したい。


普通の高専生が、普通に会社を創るまで。 by フラー渋谷さん!


高専生のための この先生きのこるためのキャリア設計


パネルディスカッション、おもしろさを凝縮するために発言タイマー付きマイクとかテクノロジーを使うのも楽しそう。


不思議なポッケから取り出しつつ紹介しそこねたもの、紹介。
高専プロコンの前段階としてPCNで運営している小中学生対象の「PCNこどもプロコン」の最優秀賞作品が商品化されたIchigoJam用のゲームパッケージ「メガネ工房(300円)」でした。Assemblageでも買えます。

小学生でもプロダクトが持てる時代、1つでも誰かが買ってくれたらうれしいもの、自分のプロダクトをなんでもいいからつくって売ってみるのが第一歩。 コミケに、MakerFaireに、オンラインショップに、チャンスはいろいろ転がってるよ!(IchigoJamの第一号が売れたのはオタマート


IchigoJamが買える、高専生によるアキバのお店「Assemblage(あせんぶらーじゅ)」に、高専OGによるアイロンビーズのギアをIchigoJamのPWMコマンドで回す展示!


JR秋葉原駅の電気街口を出たら高専生の庭、ラジオセンター向かい、PCNフラッグシップ秋葉原へようこそ!


二次会記念撮影360(VR on Facebook


勝手に高専ラジオのメンバーと!
福井高専の高専ライブやってるメディア研究会とのコラボもいいよねっ
新メディア、がしがし使い倒したり、創ったりしていこー
いっそ、K-SAMITで新メディアをオープンソースで開発しちゃうのもおもしろい?


懇親会、アイテムが生むコミュニケーション(先生の!)


先生と!


広がる高専の輪。


K-SAMIT」次回も楽しみ!

こどもに力を、SaaSで作る「気」を送るIoT! 超教育協会 x CSAJプログラミング教育委員会

2018/09/28
#opendata #python #IchigoJam #kosen 

舞鶴高専出身、さくらインターネット田中さんが委員長を務める、CSAJプログラミング教育委員会に初参加、総務省提唱の地域ICTクラブと採択地域の一例として、福井県こどもプログラミング協議会などを情報提供。

いかに次世代を創るか、企業も行政も、国を含む地域を超えて人類共通の課題。MSX世代だったり、BASICからマシン語へと燃えたあの時も共有できてうれしい。(Armマシン語入門 with IchigoJam


こどもの創造と表現の場を2002年から提供し続ける、NPO法人CANVASの理事長で、超教育協会の幹事、石戸奈々子さん with 光るイチゴ帽子

便利なSaaSがあふれる現代、パソコンさえあれば、サーバーの契約など面倒なことをしなくても、オープンデータの公開、解析、人工知能活用までこどもであっても一直線。 ガンガン小中学生が楽しいエンジニアリングの世界の第一線に来れる環境づくりを目指したい。


KI of taisuke fukuno - Ambient」気分によって送信される福野泰介の「気」の値、オープンデータ

BASICでIoT、IchigoJam x sakura.io や、無線LAN MixJuiceを使ったこども簡単IoT。 サーバーがないこども視点で使えるサービス「Ambient」を使ってみました。

メールアドレスがあれば、無料登録でき、チャンネルをとりあえず生成。チャネルIDと書き込み用のライトキーと値を Python で書いたプログラム sendambient.py で送れば、即折れ線グラフ化してくれました。(参考、AmbientDataInc/ambient-python-lib - GitHub

import http.client import json import sys domain = "ambidata.io"; record = { "writeKey": sys.argv[2], "d1": sys.argv[3] } requestJson = json.dumps(record) headers = { "Content-Type": "application/json" } connect = http.client.HTTPConnection(domain) connect.request("POST", "/api/v2/channels/" + sys.argv[1] + "/data", requestJson, headers) response = connect.getresponse() print(response)

呼び出しコマンドはこちら([writekey]は一応秘密、だけど非SSL)

python sendambient.py 6728 [writekey] 15

送ったデータの読み出しは、単純にwebアクセスで JSON で取得ok!
http://ambidata.io/api/v2/channels/6728/data
(callbackパラメータを指定できるとwebアプリで簡単に使えてうれしいところ!)

IchigoJam x MixJuice を使ったサンプルの丁寧な解説もあります!
IchigoJam + MixJuiceで製作するIoTセンサ – Ambient

いろんなサービスとの連携、開発、提案、紹介していきたいと思います!

教育は最大の投資なり

プログラムたった64行、FPGAで創るオレオレ32bitCPU「TF32CPU r1」90Mhz x 2コア動作 on MAX10

2018/09/23
#FPGA #Verilog #maker #kosen 

半導体チップを作り放題な夢のデバイス「FPGA」で動かしてみた4bitCPU TD4
せっかくなので手で配線するのは大変な32bitCPUのツインコアに挑戦!
シンプル設計なオレオレCPUを創って、MAX10評価ボード上で、2コア動作させてみました。


90MHzで動作している32bit CPU 2コアの様子。
単にエルチカしているだけですが、毎秒1.8億回計算しています。

オレオレCPUづくりの手順
1. 32bit CPUをつくろう(汎用レジスタが32bit)
2. マシン語は32bit固定長にしよう
3. 命令は、ロード、ストア、代入、加算、減算、or、and、xor、左シフト、右シフト、掛け算の11種類
4. 命令に4bit、レジスタ指定に4bit x 2、16bitを値に使おう
5. レジスタは4bitなので16コ、最後レジスタをArmっぽくプログラムカウンタにしよう
6. 条件判定用のフラグはゼロフラグだけ
7. 残り4bit、Arm32っぽいフラグによるスキップ、フラグ更新するか否か、16bitの値の符号としよう
8. 出力はメモリにマッピングしておこう(RAMは32bit x 32word、最後の31番目を出力に接続)

9. Verilogを勉強する

初めて使うハードウェア記述言語、なんとなくサンプルいじっていてもよくわからないので書籍を購入。
わかるVerilog HDL入門―文法の基礎から論理回路設計、論理合成、実装まで (トランジスタ技術SPECIAL)
購入の決め手は、著書の木村真也さんが群馬高専の先生なこと。
しかも、函館高専の出身でした!

Verilogのコツは、組み合わせ回路と順序回路、シミュレーション用と論理合成用をきちんと区別すること。

組み合わせ回路:wireでassignしたりfunctionでつなぐ(フリップフロップなど、フィードバックなしの回路)
順序回路:alwaysでclk立ち上がりとn_reset立ち下がりでのregの変化をtaskなどで記述

シミュレーション用記述:#10などの遅延、initialはシミュレーション用(initialでも合成されてたけど??)

10. Verilogで実装する(名付けて、TF32CPU r1 - Taisuke Fukuno's 32 bit CPU release 1)

module tf32cpu_r1( input clk, input n_reset, output [3:0] outport); reg [31:0] r[0:15]; // register reg [31:0] mem[0:31]; // 32 word reg zeroflg; wire [31:0] code; wire skipflgnz; wire skipflgz; wire flgchg; wire minusim; wire [3:0] op; // operation code wire [3:0] rega; wire [3:0] regb; wire [31:0] opland; wire [15:0] im; // immediate data assign code = mem[r[15]]; assign skipflgnz = code[31]; assign skipflgz = code[30]; assign flgchg = code[29]; assign minusim = code[28]; assign op = code[27:24]; assign rega = code[23:20]; assign regb = code[19:16]; assign im = code[15:0]; assign opland = r[regb] + (minusim ? -im : im); always @(posedge clk, negedge n_reset) begin if (!n_reset) begin // program init_blink; init_reg; end else begin if (skipflgnz && !zeroflg || skipflgz && zeroflg) r[15] <= r[15] + 1; else begin case (op) 4'h0: r[rega] <= mem[opland]; 4'h1: mem[opland] <= r[rega]; 4'h2: r[rega] <= opland; 4'h3: r[rega] <= r[rega] + opland; 4'h4: r[rega] <= r[rega] - opland; 4'h5: r[rega] <= r[rega] | opland; 4'h6: r[rega] <= r[rega] & opland; 4'h7: r[rega] <= r[rega] ^ opland; 4'h8: r[rega] <= r[rega] << opland; 4'h9: r[rega] <= r[rega] >> opland; 4'hA: r[rega] <= r[rega] * opland; endcase if (flgchg) zeroflg <= r[rega] == 0; if (rega != 15) r[15] <= r[15] + 1; end end end assign outport = mem[31][3:0]; endmodule

- Verilogの特徴
短く書ける!(32bit CPUが、64行)
moduleが回路のかたまりを表す。(inputやoutputでインターフェイスを定義)
ブロックの表記方法は、begin / end({ }はbitの括りを表すのに使っちゃっている)
a[3:0]で、aのbit3からbit0までの4bitを表す。(何もつけないと1bit)
bitの長さを意識することは大事だけど、割といい感じにキャストされる
posedgeが立ち上がった時、negedgeが立ち下がった時
<= が、順序回路で次のタイミングへの切り替えを表す(同じタイミングで同じregに入れるとエラー)

11. レジスタの初期化とプログラムを task でメモリにセットするコードを追記

task init_blink; // for slowclock begin mem[ 0] <= 32'h0_2_3_0_0001; // R3=1 mem[ 1] <= 32'h0_1_3_0_001F; // [31]=R3 mem[ 2] <= 32'h0_2_3_0_0002; // R3=2 mem[ 3] <= 32'h0_1_3_0_001F; // [31]=R3 mem[ 4] <= 32'h0_2_F_0_0000; // PC=0 mem[31] <= 32'h00000000; // outport end endtask task init_reg; begin r[ 0] <= 32'h0; r[ 1] <= 32'h0; r[ 2] <= 32'h0; r[ 3] <= 32'h0; r[ 4] <= 32'h0; r[ 5] <= 32'h0; r[ 6] <= 32'h0; r[ 6] <= 32'h0; r[ 7] <= 32'h0; r[ 8] <= 32'h0; r[ 9] <= 32'h0; r[10] <= 32'h0; r[11] <= 32'h0; r[12] <= 32'h0; r[13] <= 32'h0; r[14] <= 32'h0; r[15] <= 32'h0; zeroflg <= 1'b0; end endtask

12. クロックやリセットとつないでオレオレCPUが動いた!
(MAX10評価ボードの場合、クロック clk=27、LED outport=132,134,135,140,141)

module tf32cpu( input clk, output [4:0] outport); wire cpuclk; assign cpuclk = clk; wire n_reset; poweronreset por(cpuclk, n_reset); reg [3:0] exout; tf32cpu_r1 cpu1(cpuclk, n_reset, exout); assign outport = { cpuclk, ~exout }; endmodule

poweonreset.v (起動後に少し待って n_reset を0にする回路)

module poweronreset( input clk, output n_reset); reg [7:0] counter; always @(posedge clk) begin if (counter != 8'b11111111) counter <= counter + 8'b1; end assign n_reset = counter == 8'b11111111; endmodule

13. ALTPLL(50MHzを9逓倍5分周)でクロックアップ!(90MHzが限界でした、それ以上だと沈黙)

module tf32cpu( input clk, output [4:0] outport); wire cpuclk; pll pll1(clk, cpuclk); // 略 endmodule

14. CPUのインスタンスを足して、ゆっくりCPUとの2コア(ツインCPU!)構成にしてみる

module tf32cpu( input clk, output [4:0] outport); wire cpuclk; pll pll1(clk, cpuclk); wire n_reset; poweronreset por(cpuclk, n_reset); reg [3:0] exout; tf32cpu_r1 cpu1(cpuclk, n_reset, exout); reg [3:0] exout2; wire slowclk; clockdivider cdiv2(cpuclk, n_reset, 2, slowclk); tf32cpu_r1 cpu2(slowclk, n_reset, exout2); assign outport = { slowclk, ~(exout | (exout2[1:0] << 2)) }; endmodule

クロックを遅くする clockdivider.v

`define LEN_CLOCK 50_000_000 module clockdivider( input clk, input n_reset, input [3:0] div, output reg outclk); reg [31:0] counter; always @(posedge clk, negedge n_reset) begin if (!n_reset) begin outclk <= 0; counter <= 0; end else if (counter == (`LEN_CLOCK >> div) - 1) begin counter <= 0; outclk <= ~outclk; end else counter <= counter + 1'b1; end endmodule

15. ツインCPUで動いた!
論理合成に2分半かかり、MAX10-08のLE使用率87%なのでトリプルにするにはきっとROM/RAMの切り離しが必要。(1コアだと合成1分14秒、46%)
* ツインCPUという懐かしい変な言葉。CPUという部品はなく、あるコンピューターの中心的役割を果たすコンピューターをCPU(中央処理装置 / Central Processing Unit)と呼ぶ。なので、正しくはツインコアのCPU。

16. マシン語プログラムを書き換える

mem[ 0] <= 32'h0_2_1_0_2FAF; // R1=#2FAF (50M=2FAF080) mem[ 1] <= 32'h0_8_1_0_0009; // R1=R1<<9 // mem[ 0] <= 32'h0_2_1_0_0003; // R1=3 for slowclock // mem[ 1] <= 32'h0_2_1_0_0003; // R1=3 mem[ 2] <= 32'h0_3_3_0_0001; // R3=R3+1 mem[ 3] <= 32'h0_1_3_0_001F; // [31]=R3 // LED1 mem[ 4] <= 32'h0_2_2_1_0000; // R2=R1 mem[ 5] <= 32'h2_4_2_0_0001; // R2=R2-1 flg mem[ 6] <= 32'h4_4_F_0_0001; // if !Z PC=PC-1 mem[ 7] <= 32'h0_1_4_0_001F; // [31]=R0 // LED0 mem[ 8] <= 32'h0_2_2_1_0000; // R2=R1 mem[ 9] <= 32'h2_4_2_0_0001; // R2=R2-1 flg mem[10] <= 32'h4_4_F_0_0001; // if !Z PC=PC-1 mem[11] <= 32'h0_2_F_0_0002; // PC=2

4つのLEDを2進数でカウントアップするデモプログラム(マシン語 for TF32CPU r1)

links
- 憧れのCPUづくりが超簡単!あの4bitコンピューターTD4マシン語プログラム on FPGA MAX10
- FPGAはじめのいっぽ、MAX10 FPGA 評価キットでエルチカ成功!
- 最大動作周波数468MHz!? 書籍の付録とUSB BlasterではじめるFPGA「MAX10-FB」の組み立て方

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