福野泰介の一日一創

電波と電波法の知識が必須な無線マウスではなく、手軽に改造できる有線マウスを使ってデバイスづくりに挑戦!

マウスの左クリックをIchigoJamからOUT1/OUT0でプログラム制御し、IchigoJamのプログラムをPCに転送実験、成功です!


DAISOで300円、有線USBマウス。


ネジ一本で分解できます。シンプルな基板!ボタン用のマイクロスイッチが3つ、ホイールの回転を検知する部品、USBマウスの機能と移動量を検知する部品が一体化したものなど。


基板、裏面です。回路を目でも簡単に追えます。どこがGNDか調べるところからはじめるのがオススメです。PCを壊してしまわないよう、接続しない状態でまずは調べましょう。


ボタン3つをジャンパーとコネクタで横取りします。これを好きなスイッチに接続することで、オリジナル入力デバイスのできあがりです!大きなボタン、足で押すフットスイッチ、力がいらないマイクロスイッチなど、いろんなスイッチをつなげて遊べます。


左クリックをIchigoJamのOUT1につなげば、OUT1で離した状態、OUT0で左ボタンを押した状態になります。 IchigoJamのプログラムからマウスのボタン操作、自由自在!

IchigoJamのプログラムが記録されているメモリ、16進数で #C00 から、容量分、マウスクリックでPCに転送してみましょう。
mousereceiver」は、まずはマウスの押された時間を計測し、その長さをシリアル信号8bit分の長さとして使って、その後のON/OFFを解釈し、画面にIchigoJamのプログラム形式で出力します。 モールス信号の如く、手でも実験できるので、何度かカチカチ、押してみましょう。


プログラムを使えば、正確に転送することができます。送信時間の単位を W で設定。長くしたり、短くしたり実験してみましょう。

100 W=4:OUT0:WAITW*8:OUT1:WAITW*8:FORI=0TO1024-FREE():C=PEEK(#C00+I):?HEX$(I,3),BIN$(C,8),C:FORJ=0TO7:OUT!(C>>J&1):WAITW:NEXT:NEXT:OUT0:WAITW:OUT1

いろんなデバイスの改造、楽しいですが、無線機器の改造は電波と電波法の知識が必要になるので、注意しましょう。
(参考、DAISOの300円無線マウスを改造して、ワイヤレスかんたん入力マシンが創れる!? → 不推奨です

文部科学省から発表、小学校プログラミング教育の準備状況。
93%が準備OKたった7県しかできていない黄色信号
データの見方は人それぞれ、原典にあたるのが一番です。機械判読に適しているとは言えませんが、PDF内に表形式でデータがあったので、オープンデータとみなして、CSVに加工、アプリ化したものがこちら。


小学校プログラミング教育準備状況ダッシュボード
行政区の数え方、回答のあるなしなど、興味深い点はいろいろありますが、ひとまず、オープンデータ都市率と同様、カラム地図化。 CSV化したオープンデータで誰でも自由に解析いただけます!

さすが、福井県、100%!

ただ、全然安心してはいけません。何が100%かというと「各校1人以上の教員が、実践的な研修、または、授業・模擬授業を実施済と把握している」と回答した教育委員会の数に過ぎません。実際こどもたちにどう伝わるのかは未知数です。 アンケートに、すでに実施している(一部、全校)、学年、時間数、授業課目など、より踏み込んだところを聞いてほしいところでした。

ちなみに、鯖江市は、12校、全校実施済み、4年生、総合的な学習の時間2コマ!
(参考、総合2コマから始める鯖江の小学校プログラミング! 総合的な学習の時間、IT遊具、クラブ活動、地域ICTクラブ、高度IT人材へのベストプラクティス

今日は、将来の幼稚園保育園小学校の先生を育てる、仁愛大学 子ども教育学科のみなさんに小学校プログラミング教育の模擬授業。

LED制御、テレビゲームづくり、ロボットプログラミング、ドローン制御まで、1時間半、楽しく学んでくれました!


1行ずつ打ち込む、ゲームづくりは、大人も子どもも学生も楽しい!


読み書き、プログラミング! YouTubeなど動画で学習、発信する時代の読み書きも変革が必要そう。


世界各国で進むこどもプログラミング、うかうかしていると日本のこどもたちだけ置いていかれてしまいます。
それより恐ろしいのは、日本だけで進むこどもパソコン離れ。
世界で唯一、日本の子どものパソコン使用率が低下している | ワールド | 最新記事 | ニューズウィーク日本版 オフィシャルサイト
デジタル化が遅れている日本、今使わない人が多い中、いかにこどもたちにパソコンの楽しさを伝え、持ってもらうか。
PCNの答は、ネット不要のこどもパソコンIchigoJamと、ノートパソコンが当たる、PCNこどもプロコン


IchigoJamならLED制御、センサーで計測、ロボットプログラミングも簡単!
コンピューターの速さ、知ってますか?頼りになる相棒を使いこなせるようになると楽しいですよ!


一番の盛り上がり、ドローンプログラミングデモ!

こちら本日のスライド(福野分)、編集改変も自由なオープンデータなので、復習に、ワークショップに、どうぞ活用ください!


最後はTHETAで記念撮影、仁愛大学のみなさん、ありがとうございました!
プログラミングしたくなったら鯖江にあるHana道場までふらっと遊びに来てください!

今月は、金沢、岡山でも模擬授業あります!
総務省主催「地域ICTクラブ プログラミング教育フォーラム」が令和2年、金沢と岡山にて開催されます!
令和2年1月23日(木)14時~17時 TKP岡山会議室(〒700-0826 岡山県岡山市北区磨屋町1-6
基調講演 金沢市のD、松田孝さん、広島、福井、横浜の事例と模擬授業 (PDF)

令和2年1月27日(月)14時~17時 金沢市文化ホール3階大会議室(〒920-0864 金沢市高岡町15番1号
基調講演 Hana道場運営もしている竹部美樹さん、福井、埼玉、広島の事例と模擬授業 (PDF)

LPC1114やラズパイで動く IchigoJam が対応しているマシン語は、Arm Cortex-M0 の16bitが基本のThumb命令。 マシン語表を見れば一目瞭然、とってもシンプルで使いやすい!

C言語でArm Cortex-M0を真似る(エミュレーション)プログラムを作り、IchigoJam web に組み込んでみました。

年賀アプリ2020のマシン語版を動かしてみた様子。


こちらArmマシン語入門から「画面をイチゴで埋め尽くす12の方法

これで実機でなくてもマシン語の世界に触れられます!
ただ、圧倒的なスピードを感じられないので、引き続き実機で触れるのが一番です。

まだ作りがいい加減なので、実機と挙動が違うところが多々あるはずです。
オープンライセンスなオープンソースなので、ご興味ある方、気軽にコミッターとしてご参加ください!
IchigoJam/acm0emu: CPU emulator for Arm Cortex-M0
組み込み簡単、とってもシンプルなC言語ヘッダー1ファイル、わずか700行あまり。
おかしな挙動のご報告(issues)や、テストコード寄稿も大歓迎です。

一日一創、デザインをシンプルに見やすくプチリニューアル。
鍵は、HTML viewportの幅指定。

<meta name="viewport" content="width=650">

iPhoneからの見た目、いい感じになりました。

HAPPY 2020 あけましておめでとうございます!
今年のプログラミング初めはマシン語で、7セグエミュレーション。

IchigoJam ver 1.4.1 実機での動作比較。BASICでもまぁまぁの速さですが、左から徐々に書き換わるところが目でも追えてしまう程度。対して、マシン語版は瞬時に切り替え、キビキビ動きます。

今年18年目を迎える株式会社jig.jp、社名の由来は「軽快」を辞書で探して見つけた単語「軽快なテンポで踊るjigダンス」に、日本発の意気込み加えた「jig.jp」。 原点は34年前から始めたプログラム、もっと快適に、もっと速く、もっと便利に。より豊かな社会の実現への探求は続きます。

一日一創 2020
今年もよろしくおねがいします

7セグエミュレーション、マシン語化メイキング

BASICのカウントダウンプログラムから、マシン語化する部分を決める

95 FORI=0TO7:[I]=0:NEXT 100 IFN&1[0]=[0]|#38 101 IFN&2[1]=[1]|4:[2]=[2]|4:[3]=[3]|4 102 IFN&4[5]=[5]|4:[6]=[6]|4 103 IFN&8[7]=[7]|#38 104 IFN&16[5]=[5]|#40:[6]=[6]|#40 105 IFN&32[1]=[1]|#40:[2]=[2]|#40:[3]=[3]|#40 106 IFN&64[4]=[4]|#38 107 IFN&128[2]=[2]|1:[5]=[5]|1 110 FORI=0TO7:POKE#700+I+M*8,[I]:NEXT

パラメータのセグメントを表すNと、書き換えるキャラクターを表すMをマシン語ルーティーンに渡す方法を決めます。 マシン語はPCG領域の始めの方を空けて、#740からスタート。192byteまでのマシン語が入ります。

U=USR(#740,M<<8|N)

RAMのアドレスR1を計算して、PCGをメモリアクセスを使って初期化(参考、マシン語入門その5

R2=R0 R3=8 R2>>=R3 R3=3 R2<<=R3 R1=R1+R2 R2=7 R3=8 R2<<=R3 R1=R1+R2 R2=0 [R1+0]L=R2 [R1+1]L=R2

100行のBASICのプログラムのマシン語化、Nの1ビット目を判定して、メモリを書き換えます

R2=1 R0&R2 IF 0 GOTO @SKIP0 R3=#38 R4=[R1+0] R4|=R3 [R1+0]=R4 @SKIP0

この調子で7+1セグメント分作ります(asm15ソース全文

レジスタR4は元に戻すルールなので、PUSH {R4,LR} ではじめて POP {R4,PC} で終わる、Armマシン語の定石。

できたアセンブリ言語のプログラムをハンドアセンブルか、asm15を使ってマシン語を生成して、プログラムへ組み込みます。
サクサクバージョンのできあがり!

10 POKE#740,16,181,2,70,8,35,218,64,3,35,154,64,137,24,7,34,8,35,154,64,137,24,0,34,10,96,74,96,1,34,16,66,3,208,56,35,12,120,28,67,12,112,82,0,16,66,9,208,4,35,76,120,28,67,76,112,140,120,28,67 20 POKE#77C,140,112,204,120,28,67,204,112,82,0,16,66,6,208,4,35,76,121,28,67,76,113,140,121,28,67,140,113,82,0,16,66,3,208,56,35,204,121,28,67,204,113,82,0,16,66,6,208,64,35,76,121,28,67,76,113 30 POKE#7B4,140,121,28,67,140,113,82,0,16,66,9,208,64,35,76,120,28,67,76,112,140,120,28,67,140,112,204,120,28,67,204,112,82,0,16,66,3,208,56,35,12,121,28,67,12,113,82,0,16,66,6,208,1,35,140,120 40 POKE#7EC,28,67,140,112,76,121,28,67,76,113,16,189 RUN NEW 10 S=1*60*60 20 VIDEO5:CLS:LC2,2:FORI=0TO4:?CHR$(224+I);:NEXT 25 LET[10],`111111,`110,`1011011,`1001111,`1100110,`1101101,`1111101,`100111,`1111111,`1101111 31 N=S/60/60:F=~S&1:M=0:GSB90 32 N=S/60%60/10:F=0:M=1:GSB90 33 N=S/60%60:F=~S&1:M=2:GSB90 34 N=S%60/10:F=0:M=3:GSB90 35 N=S%60:M=4:GSB90 40 S=S-1 42 WAIT60 50 IF S>=0 GOTO31 55 LET[20],`1110110,`1110111,`1110011,`1110011,`1110010 60 FORM=0TO4:N=[20+M]:GSB95:NEXT:WAIT60 61 LET[30],2,0,2,0:FORM=0TO3:N=[30+M]:GSB90:NEXT:N=0:M=4:GSB95:WAIT60 62 GOTO60 90 N=[N%10+10]+F*128 95 U=USR(#740,M<<8|N):RTN

links
- はじめてのマシン語 - IchigoJamではじめるArmマシン語その1

今年も365日、一日一創、完走です。
アクセス数で今年1年を15位からカウントダウンしながら、ふりかえり!

アクセスランキング(2019年記事編)
15. 200円超音波センサー x IchigoJam
14. MacのGPUで700倍
13. Ruby on Jam
12. Ruby x IchigoJamで操るフルカラーLED
11. TelloEDU x IchigoJam
10. 50行でマイクラVR風
9. NT鯖江開催決定
8. 高等専門学校は高専と改名すべし
7. 1年間COMPを食べた健康診断結果
6. React x OculusQuest
5. テキスト型プログラミングをすすめる理由
4. 緯度経度地図2
3. IoT対応 IchigoJam 1.3
2. ruby on web
1. パスワード付きZIPファイルの有効性検証!
アクセスランキング(全記事編)
15. イオンがない福井
14. IoT対応 IchigoJam 1.3
13. Java SSLで失敗
12. 水蒸気量計算
11. IchigoJamプリント、ローマ字
10. RL78マシン語
9. ruby on web
8. 日本式ローマ字
7. オフライン音声認識
6. カロリー計算
5. はじめてのマシン語
4. ヒューズ
3. 印刷地図
2. PS2キーボード
1. パスワード付きZIPファイルの有効性検証!

共にトップは、パスワード付きZIPの記事、16,834アクセス!
Twitterで1,800いいねを集めたのが大きかった。

2020年度は、オープンデータ全市区町村に広まる目標年。緯度経度地図、印刷地図が引き続き人気です。IoT化したIchigoJam1.3は、1.4にバージョンアップ!リアルタイムオープンデータ化に貢献しそう!

また、こどもプログラミングも2020年いよいよ小学校での必修化スタート。テキスト?ビジュアル?ローマ字? ドローン、TelloEDUにVRもプログラミング!新技術への入り口広げましょう!

2010年代の終わりをつげるカウントダウン。
IchigoJamのPCGを使って、7セグLEDエミュレーションしてみました。

8x8のドットで、7セグLEDを表現。VIDEO5で拡大表示するカウントダウンプログラム(大幅に遅れるエディション)

10 S=1*60*60 20 VIDEO5:CLS:LC2,2:FORI=0TO4:?CHR$(224+I);:NEXT 25 LET[10],`111111,`110,`1011011,`1001111,`1100110,`1101101,`1111101,`100111,`1111111,`1101111 31 N=S/60/60:F=~S&1:M=0:GSB90 32 N=S/60%60/10:F=0:M=1:GSB90 33 N=S/60%60:F=~S&1:M=2:GSB90 34 N=S%60/10:F=0:M=3:GSB90 35 N=S%60:M=4:GSB90 40 S=S-1 42 WAIT60 50 IF S>=0 GOTO31 55 LET[20],`1110110,`1110111,`1110011,`1110011,`1110010 60 FORM=0TO4:N=[20+M]:GSB95:NEXT:WAIT60 61 LET[30],2,0,2,0:FORM=0TO3:N=[30+M]:GSB90:NEXT:N=0:M=4:GSB95:WAIT60 62 GOTO60 90 N=[N%10+10]+F*256 95 FORI=0TO7:[I]=0:NEXT 100 IFN&1[0]=[0]|#38 101 IFN&2[1]=[1]|4:[2]=[2]|4:[3]=[3]|4 102 IFN&4[5]=[5]|4:[6]=[6]|4 103 IFN&8[7]=[7]|#38 104 IFN&16[5]=[5]|#40:[6]=[6]|#40 105 IFN&32[1]=[1]|#40:[2]=[2]|#40:[3]=[3]|#40 106 IFN&64[4]=[4]|#38 107 IFN&128[7]=[7]|1 108 IFN&256[2]=[2]|1:[5]=[5]|1 110 FORI=0TO7:POKE#700+I+M*8,[I]:NEXT 120 RTN

(RUN on IchigoJam web)

こちらメイキング、0と1とでドットをかいてみて、セグメントに該当する部分を1にするIF文をつくってます(参考、7セグLED - 一日一創2012)

IchigoJam版、RTCを使わないと実時間とズレが大きいので、正確なカウントダウンにはこちら JavaScript版をどうぞ!
dsegcountdown

食べ終わったラーメン、浮いている油をくっつけて遊びました。
上下左右に傾けて同じ数字をくっつけ育てて9を作るまでのステップ数を競う、Threes!風ゲーム「MAKE9」
IchigoJamとカラー&和音拡張ボードPanCake用の2種類作りました。

きっかけは、過去アップした動画の再生回数ランキング。12,000回再生されているこのゲーム。

ゲーム中毒から抜け出す方法 / IchigoJam BASICでThrees!風を創る
一瞬映るプログラム、探すのも手間なので、リメイク!


5年前からだいぶ高速化したので、5x5へとフィールドを広げてもサクサク、VIDEO3の拡大モードで快適!
プログラムはこちら、708byteと余裕あるつくりです(RUN on IchigoJam web

10 @MAKE9:VIDEO3:CLS:Z=45:S=0:F=0 20 FORI=0TO24:LCI%5,I/5:?CHR$(Z+(RND(3)+48-Z)*(RND(5)=0)):NEXT 40 K=INKEY():IF!KCONT 50 IF K=UP D=1:GSB@UD 51 IF K=DOWN D=-1:GSB@UD 52 IF K=LEFT D=1:GSB@LR 53 IF K=RIGHT D=-1:GSB@LR 80 GOTO40 100 @UD:FORI=0TO4:FORJ=3-2*(D=1)TO4*(D=1)STEPD:N=SCR(I,J):IFN=ZGOTO120 110 LCI,J-D:M=SCR():IFM=N?CHR$(N+1):F=F+(N=56)ELSEIFM=Z?CHR$(N)ELSEGOTO120 115 LCI,J:?CHR$(Z) 120 NEXT:NEXT:GSB@NEXT:RTN 300 @LR:FORI=0TO4:FORJ=3-2*(D=1)TO4*(D=1)STEPD:N=SCR(J,I):IFN=ZGOTO320 310 LCJ-D,I:M=SCR():IFM=N?CHR$(N+1):F=F+(N=56)ELSEIFM=Z?CHR$(N)ELSEGOTO320 315 LCJ,I:?CHR$(Z) 320 NEXT:NEXT:GSB@NEXT:RTN 500 @NEXT:N=RND(25):LCN%5,N/5:IFSCR()=Z?RND(3) 510 S=S+1:LC6,2:?"STEP:";S:IF!FRTN 600 LC6,4:?"NICE NINE!"

上下移動と左右移動をひとまとめにしてプログラムをコンパクトにしています。上下も左右も合わせる方法を考えてみるのも楽しいかも。 Z=45は、ハイフン(-)のキャラクターコードです。フラグFで9ができたら600行のクリア表示へ!

IchigoJam Advent Calendar 2019 の最終日に、ステキなPanCakeを使った記事掲載!
IchigoJamでPanCakeに三毛猫を表示する - Qiita
オシャレな16色カラーがでるIchigoJam用拡張ボードPanCake、せっかくなのでMAKE9もきれいにしてみましょう!

まずはPanCakeの実験!

よく使うミニモニター、黄色と白の2本ビデオ入力線がありますが、白が優先されます。なので、黄色をPanCakeに白をIchigoJamに挿して、IchigoJamのビデオ出力を止めるとモニターにPanCakeの映像が映ります。 F8で画面表示すると、IchigoJamの画面に戻ってきます。F10のSWITCHで切り替えるという技もあり!(テレビが2つ使える場合、デュアルモニターでの開発がより便利です)

背景画像を切替えるテストプログラムとスタンプ

10 VIDEO0:WAIT120 20 FOR I=0 TO 7 30 '?"PC IMAGE ";DEC$(100+I,2) 31 ?CHR$(128,4,4,I); 32 ?CHR$(128,6,20,0,0,73); 40 WAIT30 50 NEXT

30行、テキストで送信する方法と、バイナリで送信する方法がありますが、プログラムで使うときはバイナリが便利!

PanCakeの解像度 80x45 を考慮し、MAKE9のゲーム用の表示を実験します

1000 LET[0],S/1000,S/100%10,S/10%10,S%10:FORI=0TO3:?CHR$(128,6,20,46+I*8,19,#A6+[I]);:NEXT:RTN 1100 FORI=0TO24:N=SCR(I%5,I/5):N=#9B*(N=45)+(#A6+N-ASC("0"))*(N!=45):?CHR$(128,6,20,I%5*8+2,I/5*8+3,N);:NEXT:RTN 1200 ?CHR$(128,4,4,7);:RTN

ステップ数とフィールド表示ができました。5x5フィールドがちょうどぴったり!

これらのプログラムを表示させつつ、先のIchigoJam版MAKE9をLOADして、1000行以降に追加して、プログラムを整えてできあがり!ゲーム内容は全く一緒ですが、なんだかステキなゲームに見えますね!

こちら完成版「MAKE9P for IchigoJam BASIC & PanCake」

10 @MAKE9P:VIDEO0:CLS:Z=45:S=0:F=0 20 FORI=0TO24:LCI%5,I/5:?CHR$(Z+(RND(3)+48-Z)*(RND(5)=0)):NEXT 30 GSB1000 40 K=INKEY():IF!KCONT 50 IFK=30D=1:GSB@UD 51 IFK=31D=-1:GSB@UD 52 IFK=28D=1:GSB@LR 53 IFK=29D=-1:GSB@LR 80 GOTO30 100 @UD:FORI=0TO4:FORJ=3-2*(D=1)TO4*(D=1)STEPD:N=SCR(I,J):IFN=ZGOTO120 110 LCI,J-D:M=SCR():IFM=N?CHR$(N+1):F=F+(N=56)ELSEIFM=Z?CHR$(N)ELSEGOTO120 115 LCI,J:?CHR$(Z) 120 NEXT:NEXT:GSB@NEXT:RTN 300 @LR:FORI=0TO4:FORJ=3-2*(D=1)TO4*(D=1)STEPD:N=SCR(J,I):IFN=ZGOTO320 310 LCJ-D,I:M=SCR():IFM=N?CHR$(N+1):F=F+(N=56)ELSEIFM=Z?CHR$(N)ELSEGOTO320 315 LCJ,I:?CHR$(Z) 320 NEXT:NEXT:GSB@NEXT:RTN 500 @NEXT:N=RND(25):LCN%5,N/5:IFSCR()=Z?RND(3) 510 S=S+1:LC6,2:?"STEP:";S:IF!FRTN 600 GSB1030 1000 LC0,-1:?CHR$(128,4,4,7); 1010 LET[0],S/1000,S/100%10,S/10%10,S%10:FORI=0TO3:?CHR$(128,6,20,46+I*8,19,#A6+[I]);:NEXT 1020 FORI=0TO24:N=SCR(I%5,I/5):N=#9B*(N=45)+(#A6+N-ASC("0"))*(N!=45):?CHR$(128,6,20,I%5*8+2,I/5*8+3,N);:NEXT:RTN 1030 LC0,-1:?CHR$(128,6,20,58,29,9);:FORI=0TO1:I=INKEY()=10:NEXT:RUN

LC0,-1で画面表示を一時的にOFF。IchigoJam 1.4から対応したUART9で一時的に画面表示を止めてもOK!

PanCake、シリアル信号を送るだけでNTSCカラーと、4和音がでる拡張ボード、IchigoJamだけでなくいろんなマイコンボードにつなげて楽しめます!
JavaScript、大容量4KBのBASICと共に使う「IchigoCake」もどうぞ!

links
- PanCake
- PanCake の使い方 - イチゴジャム レシピ
- fu-sen/PanCake-COMMAND: PanCake コマンド一覧 command reference (Japanese)

PCN上田代表、IchigoJaMan、斎藤さん開発の回すIchigoJam互換機、Hand Spinner Jam(ハンドスピナーJam)

ミニ四駆のベアリングを使った、ハンドスピナー型。


回してみました!
書き込み済みのハートマーク、Ichigo、SINカーブの順。


キーボード、モニター、電源をつないで、IchigoJamとしてBASICで書き換え可能な、プログラマブルハンドスピナー。

IchigoJam 1.4 の新コマンド、三角関数SINを使って、お花模様。@ARUNを使って自動起動。

10 @ARUN:VIDEO0:OUT8,0:S=5 20 FOR I=0 TO 360-S STEP S:OUT 1<<((SIN(I)+256)>>6):NEXT:CONT

文字を出してみました!配列か空きメモリに書き込み、ループ!WAITのマイナスパラメータで1/(261*60)秒単位で微調整。

1 @ARUN 2 VIDEO0:OUT8,0 10 S="Ichigo " 20 FOR I=0 TO LEN(S)-1:C=ASC(S+I):FOR J=0 TO 7:N=0:FOR K=0 TO 7:N=N+PEEK(C*8+K)>>(7-J)&1<<K:NEXT:POKE#700+I*8+J,N:NEXT:NEXT 30 N=LEN(S)*8-1 35 W=-5:B=-10 40 FOR I=0 TO N:OUT PEEK(#700+I):WAIT W:OUT0:WAIT B:NEXT:CONT

楽しい!


オリジナル基板づくりが、1000円代からチャレンジできる、いい時代です!
振るパソコンに、回すパソコン、気になる方は、12/31、IchigoJaMan at C97コミケへGO!

links
- コミックマーケット97(12/31)出展情報 - SHIROのIchigoJam日記
- ハンドスピナーJam - SHIROのIchigoJam日記
- 振るパソコン、StickJamで8x8フルカラー2コマアニメーション!

回路図がとってもシンプルでオープンなIchigoJam、いままで様々なIchigoJam互換機が登場しましたが、なんとバーサライタ対応「StickJam」がPCN上田から登場!

IchigoJam BASIC 1.4 の新コマンド、WS.LED を使えば、WS2812Bの制御がとっても簡単。これを活用して、それ自体を振って使うパソコンをゲット!早速、振って楽しむ、2コマアニメーションプログラムを作ってみました!


バーサライタとは、人の目の残像効果を利用して、8つのLEDを動かすことで、マトリクスLEDのように面で見せるテクニック。 特殊なシリアルで制御するフルカラーWS2812Bが、8+1つの搭載されたStickJamを使って、お手軽バーサライタ遊び。

例えば、8つ全部赤く光らせるには

LET[0],0,30,0:WS.LED8

これだけでOK!(緑、赤、青の順に指定しよう)


スティック状のIchigoJam、StickJamの両端にビデオケーブルとキーボードを挿せば、普通のIchigoJamとして開発可能。単三電池3本搭載で、単体動作!

100 S="IJ" 110 LET[8*3],0,30,0:WS.LED9 120 CLS:FORK=0TO1:C=ASC(S+K):FORI=0TO7:FORJ=0TO7:A=#900+(I+8*K)*48+J*6:IF PEEK(C*8+J)>>(7-I)&1 GSB300:POKEA,G,0,R,0,B,0 ELSE POKEA,0,0,0,0,0,0 125 NEXT:NEXT:NEXT 130 N=0:M=0 135 LET[8*3],0,0,0:WS.LED9 140 X=IN(1):Y=IN(4) 150 IF !Y&&V L=0:D=1:GSB200:N=N+1:IF M>4 M=!M:N=0 160 IF !X&&U L=7:D=-1:GSB200 170 IF BTN() F=!F:GOTO 100 180 U=X:V=Y:GOTO140 200 FORI=0TO7:COPY#800,#900+48*(L+I*8)+8*48*8,48:WS.LED8:LET[0],0,0,0:WS.LED1,8:NEXT:RTN 300 IFFRTNELSER=RND(50):G=RND(50):B=RND(50):RTN

変数Sに2文字分設定したキャラクターパターンを、画面内メモリ#900以降に書き込んでおき、配列のメモリ#800にコピーして、WS.LEDコマンドをくりかえしてます。StickJam本体のボタン(BTN)が押されたら、色を変更。1回おきに全部同じ色か、全部ばらばらな色にするかをフラグFで切り替えてます。


第5回こどもプログラミングサミットにて、PCN上田代表、IchigoJaMan、斎藤さんに売ってもらいました!
12/31、コミケC97に出展とのこと!
コミックマーケット97(12/31)出展情報 - SHIROのIchigoJam日記
しまった、SnadaJam、IchigoJaMan Works、買い忘れ!

東京近郊の方、コミケ行ったこと無い方、お昼過ぎに行くと、余裕持って回れます。
電子工作関係も多数出展あって楽しいですよ!
コミケC92、世界最大のマルシェ、作り手と会える幸せ、早速便利なB-ART x IchigoJam

links
- StickJam(バーサライタ用IchigoJam) - SHIROのIchigoJam日記

各地域のICT化の推進剤、地域型の小学生向けロボコン「第1回加能ガニロボットコンテスト」が金沢市の名所、近江町市場上で開催!

自分で作ったカニロボを持って、笑顔! さっちゃん(かなざわさちこさん)も!

出場前の緊張感から、決勝戦、表彰式、ヒーローインタビューまでを5分の動画でまとめました。

加能ガニロボットコンテスト2019 ダイジェスト
THETAで撮影、決勝戦もぜひご覧ください!(360度見渡せる、ノーカット版 / OculusQuest推奨


福井で開催された第3回、越前がにロボコンの準優勝者で、テオヤンセン型カニロボ開発者も見学に!
キッズエンジニア同士の戦いが熱い! 小学生対象 第3回 越前がにロボコン、優勝ロボットの勇姿とその秘密をインタビュー


第1回、加能ガニロボットコンテスト、開会!


車検終わって青いタグが付いたカニロボ達


いよいよ予選スタート!副審と得点は、石川高専の1年生、2年生が担当!


レゴでもIchigoJamでも何でも、ロボットの種別は問わない、無差別級!


予選でのスコアとタイムで上位8チームが本選出場!


右コースか左コースはじゃんけんで決めるスタイル。プログラミングして調整できるピットもあります。


トーナメント式、1発勝負で決まっていきます。


金のボールもゲットして帰還するカニロボ!(歩行型だとボーナスがでますが、車輪型でも出場OK!)

ずらっと並んだ個性的なカニロボ達






金沢美大の学生デザインの加能ガニロボコンオリジナルトロフィー!


デザイン賞はどのカニロボの手に!?


3位の2チームに近江市場直送、生の香箱ガニ3杯!(ズワイガニのメス)


2位のチームには香箱ガニ5杯!


優勝チームには、大きなオスの加能ガニ(ズワイガニ)も!


デザイン賞にもズワイガニが贈られました!


選手みんなで笑顔で記念写真


テレビ局によるヒーローインタビュー!
家にもコースを作って、何度も調整したとのこと。歩行型にチャレンジしたいと意欲満点!


第一回加能ガニロボットコンテスト、やりました!


かわいかった、かに風船!

午後のイベント、第5回こどもプログラミングサミットへ続く!

links
- 「加能ガニ」のロボで児童競う 市が初のコンテスト - 石川県のニュース | 北國新聞社
- 加能ガニ ロボも「うまい」 プログラミング課題 次々得点:石川:中日新聞(CHUNICHI Web)
- 加能ガニロボットコンテスト
- こどもプログラミングの聖地「金沢」、激闘の「かにロボコン」と白熱の「サミット」で2020年に弾み! – about yrm

メリークリスマス! 福井県立高志中学校サイエンス部を訪問!

IchigoJam 1.4 とフルカラーLEDによる、光るマフラーで、迎えてくれました!


電池ケースをIchigoJam裏面にはんだづけ。
デコチャリ、デコカバン、デコランドセル、デコシューズ、自分ではんだづけできると広がる工作と発想の幅!


クラッピーナノとMapleSyrupを使って拍手プログラム。
ラズパイ上でIJUtilitiesを動かし、シリアル端子経由でIchigoJamにプログラム書き込み。
いろいろ使いこなしていてスゴイ。


MIDI音源を使った効果音付き、こうそくタイピングゲーム!


おみやげのベーマガと、MIDI楽器のデモ、女子部員に人気!


IchigoJam制御の頂上を目指すロボットを見せてくれました。頂上に着いたことを判定できる?

下の部分だけ太字にするとできる、ベーマガ風フォント!

5 CLP:FORI=0TO25:?CHR$(224+I);:NEXT 10 FORI=0TO25:FORJ=0TO7:N=PEEK(I*8+J+520):POKE#700+I*8+J,N|(N<<1)*(J>3):NEXT:NEXT

メモリを読むPEEKと、メモリに書くPOKE、メモリマップはHELPで確認!


太字、極太字、反転など、PEEKで読み取った値Nを使って遊んでみよう!


自由にパターンを変更できる32文字、アルファベット26文字をビット演算子でちょっと細工するとできるいろんなフォント。


高志中学校では、すでに一人一台ノートパソコンが配備されてました!
IchigoJam ap と書籍「みんなのIchigoJam入門 BASICで楽しむゲーム作りと電子工作」で自主練中。


Hana道場ではライトセーバーづくりにチャレンジする小学生と、見学するPCN仙台、PCN山形米沢メンバー


IchigoJam 1.4、WS.LED コマンドで光るので、比較的簡単。遊んでいる内に配列が分かる!


入り口にはIoT人流センサー+音声合成で呼びかけ・警戒システム!


Hana道場!


Hana道場、外で遭遇、竹部さん!


ご当地グルメ「サバエドッグ」開発者のミート&デリカささきの佐々木さんに遭遇!


福井高専、西先生と情報交換。山形には鶴岡高専。地域に高専あり!

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