It is OK to flies normal TELLO, the beta firmware has been published, let’s enjoy drone programming in gymnasium. / お値打ち価格「無印TELLO」も大丈夫、体育館で楽しもうドローン プログラミング、βファームウェア公開!

It is OK to flies normal TELLO, the beta firmware has been published, let’s enjoy drone programming in gymnasium. / お値打ち価格「無印TELLO」も大丈夫、体育館で楽しもうドローン プログラミング、βファームウェア公開!

We succeeded in flying the droneTELLO EDU” with IchigoJam/IchigoLatte. This time, we got a normal TELLO, let’s challenge to flying this.

先日IchigoJam/IchigoLatteからの飛行に成功したドローン「TELLO EDU」。今回はノーマル版(?)「TELLO」を入手、動作確認。ぱっと見はEDUと同じ。

First, turn on the power.

まずは電源をON。

Then the eye will turn on.

すると目が点灯。

Next, turn on the power of IchigoJam/IchigoLatte and MixJuice.

次はIchigoJam/IchigoLatteMixJuiceの電源をON。

Search SSID by MixJuice command “MJ APL”.

TELLOがwifiのアクセスポイントになるので、MixJuiceでSSIDを検索。

Discover “TELLO-xxxxxx”.

発見「TELLO-xxxxxx」。

Let’s connect to wifi by command “MJ APC”. It will be connected automatically next time.

「MJ APC」コマンドでwifi接続。一度接続すれば電源を切っても次回からはすぐにつながります。

Do programming by vi to flies.

では飛ばしましょう、viでプログラミング。

It is JavaScript. “function tello(…)” is a driver command to flies TELLO. “tello(“xxxx”, 1000)” is a command for TELLO. “xxxx” for moving, 1000 for waiting.

今回はJavaScriptでこんな感じ。「function tello(…)」はTELLOを飛ばすためのコマンド、意味は置いておいてひとまず写しておこう。後半の「tello(“xxxx”, 1000)」がTELLOへの命令、”xxxx”は動作、1000は動作の後待つミリ秒。

if finished the programming, save and exit by ESC key and run by command “ms .”.

viでプログラムができたらESCキーで抜けて実行「ms .」。

Your TELLO will fly away. The beta firmware of MixJuice is available here. Spec are the same for both EDU and normal!?

あなたのTELLOが飛び立つことでしょう。TELLO対応MixJuiceファームウェアβはこちらからどうぞ。EDUも無印も仕様は同じ!?

Let’s enjoy drone programming in gymnasium!

体育館にフープを設置して輪くぐり大会も楽しそう









.

復活ベーマガ第2弾に「イチゴトゥーン」!これからはPCN勝山の投稿作品に乞うご期待!

復活ベーマガ第2弾に「イチゴトゥーン」!これからはPCN勝山の投稿作品に乞うご期待!

復活ベーマガ第2弾発売! [amazon] [ヨドバシ] [紀伊国屋]

投稿 全10作品!

IchigoCake用「Mr.ホリラー」。

酸欠になる前に地下にある自分の家に帰宅してください。酸素はリアルタイムで減少し、なくなるとゲームオーバーです。地下にある岩を壊すこともできますが、その場合はより多くの酸素を消費します。家に着くと再びステージが更新され新たなる家に帰宅することになります。

IchigoCake JavaScriptによるソースチャート、オブジェクトも使われていますね。

IchigoJam用「イチゴトゥーン」 by PCN勝山!

「{{ひと}}」は 人の絵文字「Alt+Q」という意味です。「{{ぬり}}」や「{{くらげ}}」も「Alt+Shift+F」「Alt+D」に置き換えてください。

PCN勝山はベーマガ投稿しまくる予定!

プチコン3号用「LASERS」。

レーザー光線を放つ三角コーンが、左右から回転しながら飛んで来ます。

主人公を操作して、レーザー光線を避けたり、あえてレーザー光線を受けたりしてスコアを稼いでください。

イラスト投稿もハガキにて受け付け!!

電子工作マガジンも内容盛りだくさん。

つぐみちゃんは IchigoJam 1.3 で IoT!?

PCN南大阪 都さん、音楽がなるボックス!

福野くん+PCN五反田新IchigoJam Sの製作!

栃木工業高校、SkyBerryJAM+TAMIYAインセクトロボ!

オフィス加減、IchigoLatte入門は9回目!

おとなラジコン 渡辺さん、FPVドローン!やりたい!


ベーマガ投稿、メールのあて先は

web@denkomagazine.net

「マイコンBASICマガジン係」宛

どしどし応募して原稿料をゲットしよう!









.

プログラマは桃太郎をどのように捉えているのか?プログラミングに慣れた次は君だけの「おはなし」を作ってみよう!

プログラマは桃太郎をどのように捉えているのか?プログラミングに慣れた次は君だけの「おはなし」を作ってみよう!

マイブーム「おはなしプログラミング」。先日は「JavaScriptで桃太郎」を作りましたが、今日はC/C++で。

最近のC/C++コンパイラは日本語も通してくれます、ありがとう The Unicode Consortium。さてこのプログラム、「台本」って感じしますね。

ちなみに誰がどの役をやるのか、配役まであります。こんなの考えるの楽しでしょ?

「鬼役」の役割はこのように描かれています。「宝を持つ」や「やられる」がこの「役」の仕事、今回は「田中」さんにこの役をあてました。ちなみに 桃太郎 は 山田 さんに。

https://yrm006.github.io/momotaro.cpp [utf-8]

ソースチャート」はこちら。

$ g++ -std=c++11 momotaro.cpp && ./a.out ; echo $?

実行するにはコマンドラインからこのように打ちましょう。(Windowsの人はこちらを参考に)おじいさん、おばあさん、きびだんご、などなど、どんどん登場させてみよう!


「プログラミング」とは「描く」こと。「どんな話にしようか?」「ここでどんな役を登場させようか?」プログラマは毎日こんな楽しいことを、漫画家に近いかも?

入門言語でプログラミングに慣れた君は、JavaScriptC/C++で自分の「おはなし」を作ってみるのはどうかな?









.

小説型と演劇型!プログラミング言語で描こう君だけの「ももたろう」!

小説型と演劇型!プログラミング言語で描こう君だけの「ももたろう」!

プログラミングのやり方は自由。

// ---プログラム A
alert('ももがありました');
alert('ももが割れて ももたろう が出てきました');
alert('おにがいました');
alert('ももたろう は おに をたいじしました');
alert('ももたろう は おたから をゲットしました');

https://yrm006.github.io/momotaro.seq.html

たとえばこちら、これは「ももたろう」のお話をプログラミングしたもの。上から順に実行され、おはなしが語られるJavaScriptプログラム。

// ---プログラム B
// 役づくり
function ももたろう役(){
this.もちもの = null;
this.える = function(もの){
this.もちもの = もの;
};
}
function もも役(){
this.なかみ = new ももたろう役();
this.われる = function(){
var r = this.なかみ;
this.なかみ = null;
return r;
};
}
function おたから役(){
}
function おに役(){
this.もちもの = new おたから役();
this.やられる = function(あいて){
if(あいて.constructor === ももたろう役){
var r = this.もちもの;
this.もちもの = null;
return r;
}else{
return null;
}
};
}
// おはなし
var もも = new もも役();
var ももたろう = もも.われる();
var おに = new おに役();
var おたから = おに.やられる(ももたろう); // (a)
ももたろう.える(おたから);

こちらはそのお話をプロ風にしたもの、物語が生きていますね。「生きている」とはどういうことかと言うと、たとえば

var おたから = おに.やられる(ももたろう);  // (a)

の部分を

var おたから = おに.やられる(もも);  // (a)

に変更してみましょう。「おに が もも にやられる」ことはない、ということで「おたから」をゲットできないようにプログラミングしておきました。

ちなみに、プログラムBは実行しても何も表示しません。僕は今回、利用者に話の内容を伝えることは重要ではないと考えたからです。コンピュータの中で実行が一瞬で終わり、何も表示せずに終わっていきます。もちろん、実行の中身を覗き見することもできます。古来から伝わる「printfデバッグ」が役立つでしょう。

https://yrm006.github.io/momotaro.obj.html [alertデバッグ版]

プログラムAを「書かれた小説」と例えるなら、プログラムBは「演劇ライブ」。Bのやり方なら「役」だって作り放題、君だけの「ももたろう」を描いてみよう!









.

南相木村×ミャンマー!プログラミングでつながる世界のこども達、မင်္ဂလာပါ!

南相木村×ミャンマー!プログラミングでつながる世界のこども達、မင်္ဂလာပါ!

月に一度の長野県南相木村。

低学年クラスは土俵ではじまるロボット相撲。

3年生によるロボット相撲向け魔改造カムロボ

だいたい男子って、こんな感じ。

高学年クラスはミャンマー語の勉強をして、

ビデオチャットで、

ミャンマー「ドリームトレイン」のこども達と交流会!ミャンマー語と日本語であいさつをして、キータイピングゲームで楽しみました!ミャンマーのこども達にも火がついた模様!?


南相木村のこども達にも、ミャンマーのこども達にも大人気「キータイピングゲーム」。AtoZの入力時間を競うというものですが、いよいよ秒数に小数点が必要になり機能追加。

1 'TYPING GAME
9 VIDEO5
10 CLT:C=ASC("A")
20 CLS:?CHR$(C)
30 K=INKEY():IF K!=C GOTO30
50 C=C+1
60 IF C<=ASC("Z") GOTO20
65 T=TICK()
70 ?T/60;:?".";:?(T%60)*10/60

このソースコードを打ち込んで「RUN」すればゲームがはじまります。表示されるAからZまでをタイピングしよう、最後にタイムが出るよ!南相木村の小学1年生は6秒とか7秒だよ!(画面の文字が大きくなるよ、戻したいときは「VIDEO1」)

せっかく打ち込んだタイピングゲーム、IchigoJamの電源を切ると消えちゃうから SAVE しておこう。「SAVE3」などとしておくと、次回「LOAD3」「RUN」でまた楽しめるよ!


通いに通って3年間、「南相木村 プログラミング寺子屋 あいキッズ」は来期、パワーアップして再始動!









.

3/14はπの日!手軽に3.14にたどり着ける「モンテカルロ法」を流行りのJavaScriptで実装!

3/14はπの日!手軽に3.14にたどり着ける「モンテカルロ法」を流行りのJavaScriptで実装!

今日は 3/14 という訳で手軽で楽しいπの求めかた「モンテカルロ法」をJavaScriptで具現化しました。

こちらにアクセスすると、「0」か「4」が出る事でしょう。モンテカルロ法とは四角形の中に円を描き、ランダムに点を打った時に円に入る割合がπになる、というもの。点が1つの時は π=0 か π=4 で精度が悪いですね。

点を10個 打ってみましょう。僕は π=2.8 と出ました。リロードして何度も試せば、3.6や3.2など点が1つの時よりは 3.14 に近づきました。

次は点100個。π=3.32、2.92、3.24 とだんだん精度が上がってきました。

点1,000個。π=3.112 、だいぶ良くなってきましたね。

一気に100,000個、π=3.13972、そろそろ 3.14 が見えてきましたね。

今回のJavaScriptプログラム、URLの “#100000” の個数部分を変えれば あなたのプログラム が作れます。個数をあげて精度を上げてみてください。

ただし注意が必要です。あまり精度を上げると不正プログラムとみなされて摘発されるかもしれません。「不正指令電磁的記録に関する罪」によると、供用はもちろん、作成しても罪となります。日本の「不正プログラム」の定義が確定するまでは100,000ぐらいにとどめておくのが吉でしょう。

3.14はπの日!









.

「割り箸てっぽう」は銃刀法違反か?日本の「不正プログラム」の定義が今まさに作られる。

「割り箸てっぽう」は銃刀法違反か?日本の「不正プログラム」の定義が今まさに作られる。

ことのはじまりはこのNHKニュース。「不正プログラム書き込み疑い補導」とあり、兵庫県の警察が13歳の中学生を含む3人を検挙したということです。(2019.03.14現在、このNHKニュースは削除された?ようです。)

さすがに無限アラートで不正プログラムとはやりすぎでは?と思い検索してみると同様にモヤモヤとしている人が多数。そもそもこのプログラムの作者は「閉じても無駄である」と使いかたを説明しており、ユーザーはそれを認識した上でOKボタンを何度も押す、という一連の流れに 正しくない動作 は感じられない。

JavaScript生みの親も日本に行って助けよう、と言う事態。今回の件は世界中のニュースとなった模様。

当初、さすがに警察が自ら検挙するはずもなく、市民からの苦情が多いため仕方なく検挙、と考えたが、

この記事の兵庫県警サイバー犯罪対策課に対する取材によると、

  • 不正指令電磁的記録供用事件に対して集中取り締まりを行った。
  • 「いたずらだったことは重々承知しているが、現行法では懲役、もしくは罰金刑になる犯罪」
  • 「安易に行っている者への警鐘とインターネットモラルの向上を意図していた」
  • 「みんなで~プロジェクト」について、「自分の子どもにもそんなことが言えるのか」と述べた。

とのことで、どうやら「2019年 サイバーセキュリティ月間」中で、警鐘とモラル向上を意図して検挙したとのこと。さすがに驚き、いったい何をしたら「不正指令電磁的記録」にあたるのか。

無限アラートで驚く人がいることは確かでしょうから「威力業務妨害」とか「マナー条例違反」を適用するなら分かりますが、「不正指令電磁的記録供用」とは、100均で買ったてっぽうを見せびらかしてたら銃刀法違反?

このようなプロジェクトがgithubで上位に入る事態。ちなみに「不正指令電磁的記録共用」は国外サーバーだと適用されない可能性があるため、確実に捕まりたい場合は国内サーバーからリンクを貼ると良いでしょう。(このへん詳しい人いたら教えてください。)

そしてセキュリティエンジニアの方が兵庫県警に情報公開請求をしてくれたそうです。僕もプログラミング好きでこども達にプログラミングを伝えているので、「何を作ったら 不正指令電磁的記録 なのか」、しっかりと把握したいというのが本音です。情報も錯綜していて何が本当で実際は何が起きているのかわからない部分も多く、今後の動向が気になります。

工作が好きでも 割り箸てっぽう を作ったら銃刀法違反?









.