2024-07-19
自由研究が大好きだった夏休み!この夏、ロボットプログラミングにチャレンジしてみませんか?

「【夏休み特別企画】第1回 LEDのプログラミング 夏休みの自由研究ロボット・プログラミング 20選~子どもI/Oパソコン IchigoJamで一緒に作ろう~」

YouTubeの「DigiKey日本公式チャンネル」にて動画連載がスタート!


主催は電子パーツの販売サイトで有名DigiKey、企画は電子関係の教材の企画、制作、販売を手掛けるZEPエンジニアリング


はじめのいっぽ「LED1」から優しく解説!


jig.jp本店・開発センターのLIVE STUDIOにて、本格3カメラ体制で撮影。いい感じな編集、感謝です!


プログラム1は、LEDを3秒間つける!
毎回5本ずつ、準備や解説と合わせてプログラムを紹介していきます。


IchigoJamのマイコンといえば、NXP社のLPC1114!DigiKeyで購入できます!


「LPC1114FDH28/102:5 NXP USA Inc. | 集積回路(IC) | DigiKey」

17,469個在庫あり!1コからも購入可能ですが、10コ、100コとまとめ買いするほどお得になります!


DigiKeyチャンネルを登録して、今後の更新もお楽しみに!

大人の自由研究にもどうぞ!


ダンボールで作ったとは思えないレトロPC!

links
- 2才児も高専生も楽しめるIchigoJam!画面いっぱいに文字を表示して音が鳴るマシン語プログラム

2024-07-18
コンピューター活用が欠かせない現代。こどもたちにも楽しくコンピューターを活用してもらいたいですね!大人がかっこよくキーボードを使っている様子を見て、こどもは当然真似したくなる!

そこで、IchigoJam(Rではない、コンピューターがNXP社のLPC1114のもの)とキーボードをプレゼント。下記のプログラムを入力しておけば、電源ONで、楽しくキーボードで遊べるおもちゃのできあがり!


「MAXCHAR - run on IchigoJam web」

1 @ARUN:'MAXCHAR 10 POKE#700,112,181,9,35,27,2,201,24,4,49,192,0,18,24,0,36,3,38,19,93,128,37,24,70,40,64,0,208,1,32,8,112,1,49,8,112,1,49,8,112,1,49,109,8,243,209,8,49,1,62,1,209,1,52,3,38,8,44,234,209,112,189 20 POKE#73E,98,70,1,54,12,46,227,209,240,189 30 CLS:A=USR(#700,65) 40 K=INKEY():IF K=0 CONT 50 BEEP K:A=USR(#700,K) 60 GOTO 40


「BIGCHAR - run on IchigoJam web」

マシン語を打つの大変という方向け、BASICのみのちょっと小さめな文字バージョン

1 @ARUN:'BIGCHAR 30 VIDEO9:CLS:LC1,1:?"A"; 40 K=INKEY():IF K=0 CONT 50 BEEP K:LC1,1:?CHR$(K); 60 GOTO 40

VIDEO9で文字サイズを大きくするとプログラムのリストが見えなくなるので、VIDEO1コマンドで元のサイズに戻しましょう。(ショートカットキー、F8)

VIDEO1

マシン語を学ぶ高専生向けの解説。
8x8、64コのドットで表現しているIchigoJamの文字。1つのドットを3x3の文字サイズで表示すると、32x24の画面いっぱいに表示できます。24倍サイズ!

IchigoJam BASICのマシン語呼び出し関数 USR を使うと、レジスタR0にパラメータ、R1に仮想RAM0の物理アドレス、R2に仮想ROMの物理アドレスが渡されます。仮想RAMのVRAM#900番地のメモリに書き込めば画面に表示されるので、縦横3倍に書き込むことで、画面いっぱい描画ができあがり!

'MAX CHAR PROGRAM 'R0: param, char 'R1: virtual memory offset(RAM) -> CURSOR 'R2: virtual memory offset(ROM) -> CHAR ADR 'R3: VRAM 'R4: vertical counter 'R5: horizontal counter 'R6: 3 times counter PUSH {LR,R4,R5,R6} R3=9 R3=R3<<8 R1=R1+R3 R1+=(32-24)/2 'CENTER R0=R0<<3 R2=R2+R0 'CHAR ADDRESS R4=0 R6=3 @LOOP1 R3=[R2+R4] R5=#80 @LOOP2 R0=R3 R0&=R5 IF 0 GOTO @ELSE1 R0=1 @ELSE1 [R1]=R0 R1+=1 [R1]=R0 R1+=1 [R1]=R0 R1+=1 R5=R5>>1 IF !0 GOTO @LOOP2 R1+=32-8*3 R6-=1 IF !0 GOTO @ELSE2 R4+=1 R6=3 @ELSE2 R4-8 IF !0 GOTO @LOOP1 @END POP {PC,R4,R5,R6} 'A=USR(#700,ASC("A")):WAIT120

Arm版asm15アセンブリ言語表記した上記プログラムを、asm15アセンブラを使ってアセンブルすると、上記プログラムで使っているPOKE文ができあがり!

10 POKE#700,112,181,9,35,27,2,201,24,4,49,192,0,18,24,0,36,3,38,19,93,128,37,24,70,40,64,0,208,1,32,8,112,1,49,8,112,1,49,8,112,1,49,109,8,243,209,8,49,1,62,1,209,1,52,3,38,8,44,234,209,112,189 20 POKE#73E,98,70,1,54,12,46,227,209,240,189

あとは打ち込むか、IchigoJam webで試すか、USB UARTで流し込めばOK!

こどもたちと一緒に学ぼう、コンピューター!

links
- 4才にプログラミングを教える10ステップ
- 小1でマスターするキーボード、タイピングゲーム「ゴモジ」
- キーボードとアルファベットで遊ぶおもちゃづくり!未就学児と始めるIchigoJamシリーズ
- 初めて触るキーボードの気持ちが蘇る「かたかなろーまじゲーム」品川区こどもプログラミング発、小学1年生のアイデア
- プログラミングD分類、鯖江市では全小学校でIchigoJamを使ったプログラミングクラブとキーボードはじめのいっぽ

2024-07-17
星空保護区に選ばれた福井県大野市。元、天文同好会長として、環境省のデータで使って「星空観測結果ベストマップ」を作りました。


「日本の星空観測結果ベストマップ」

2018年〜2023年までの星の綺麗さを表す数で色分けした857箇所のマップです。

夜空の明るさは、mag/□”(平方秒角あたりのマグニチュード)という単位で表し、大きいほど夜空が暗く、星が綺麗に見えるものです(夜空の暗さと定義した方が良かったのでは?)。平方秒角を表す四角「□”」、文字化けかと思いましたがこれが正しいようです。英語表記では、mag/arcsec2

標準レンズでRAW撮影した写真を環境省が集めています(参考、環境省「星空を見よう」 夜空の明るさを測ってみよう)。


赤ピンが等級21以上の星空がきれいにみえる夜空が暗い星空スポット。大野市は21.40!

マップのつくりかた
1. download.js で、スクレイピングし、CSVデータをダウンロード、UTF-8にして保存(fetchSave)
2. makeResultAll.js で、全データの項目名の表記揺れと、日時データの年無しや表記揺れを修正して、1つのデータ result_all.csv にまとめる
3. makeResultMaxMag.js で、まとまった全データから参考値などを抜き、同一箇所の場合、夜空の明るさが最大なものを抽出し、ピンの色を指定したデータ result_maxmag.csv をつくる
4. 表示するウェブアプリ index.html をつくる


「hoshizora - src on GitHub」

データの揺れがあるのが地味に面倒ですが、一度やってしまえば、楽できます。今年分が更新されたらこちらも更新しようと思います。


「日本の星空観測結果ベストマップ」

近くの星空スポット、探してみましょう!

links
- 日本で4箇所、DarkSkyの星空保護区マップと観測最適日を探す月齢カレンダー mooncal
- 環境省「星空を見よう」 観察結果

2024-07-16
この夏、電子工作&プログラミング、はじめてみませんか?DigiKey日本公式チャンネルにて、こどもI/Oパソコン、IchigoJamを使った夏休み自由研究ロボットプログラミングが公開予定!

基本ネクタイはしない派でしたが、IchigoJamがきっかけでスーツの時は光るネクタイを装備しています。 ニュージーランドからの留学生にどうしてもというのでプレゼントして手持ちがなかったので、久しぶりに楽しく手作り!


まずはLPC810にゲーミングイルミネーションを実現するマシン語プログラムをIchigoJamから書き込みます。書き込み済みのコンピューターを使うと、はんだづけだけでゲーミングな何かが作れます!(参考、軽量版、光るXのつくりかた - 光るネクタイ&光るカチューシャ例


今回は、ICソケットは省略。LPC810を、電源ピン、GNDピン、信号出力ピンの3つを除いてカット。


テープ状のWS2812B、LPC810の電源ピンをはんだづけし、DINと信号出力ピンを抵抗の余った切れ端ではんだづけ。


今回は、3.3V昇圧モジュールをテープLEDの下の部分に合わせて配置。テープLEDの途中にはんだづけするよりも安定しそう。


できあがり!安全ピンでネクタイの裏に留めます。ただ、安全ピンの隙間から抜け落ちやすい問題発覚。ICソケットはやはり合ったほうが良さそう。


「鳴らす!回す!光らせる!子どもプログラミング #shorts - YouTube」
公開されたYouTubeショート。IchigoJamの基本から、センサーやサーボを使った応用プログラミングまで順に解説します!


基本的な電子パーツ、自分で集めて、調べながら組み立ててみるのも楽しいですよ!
*NXP社CPUを表面実装はんだづけする必要があるので、中級者向けです

links
- 軽量版、光るXのつくりかた - 光るネクタイ&光るカチューシャ例
- LPC810をあやつろう

Tweet
クリエイティブ・コモンズ・ライセンス
本ブログの記事や写真は「Creative Commons — CC BY 4.0」の下に提供します。記事内で紹介するプログラムや作品は、それぞれに記載されたライセンスを参照ください。
CC BY / @taisukef / アイコン画像 / プロフィール画像 / 「一日一創」画像 / RSS