\r\n\r\n
Raspberry Piは、DIY技術やプログラミングを予算内で学ぶのに最適な方法です。また、子供用のコンピュータとしては非常に安価であり、将来役に立つ概念を把握するための学習教材も充実しています。
PiのGPIO(General Purpose Input/Output)ピンを使用した素晴らしいビギナープログがたくさんあります。Raspbian OSにはPythonが組み込まれているので、コーディングにも最適です。Minecraft用のPiバージョンもあるので、初心者の電子工作やPythonの勉強にもなりますよ!
コーディングの経験がある人には最適ですが、プログラミング言語を学ぶことなくPiのGPIOピンの使い方を誰かに教えたいとしたらどうでしょう?
スクラッチマークがあれば、もう大丈夫。
今日は、Scratchを使ってGPIOピンに接続されたLEDを点灯させながら、基本的なアニメーションとプログラミングのアイデアを学びます。このチュートリアルは、子供たちが幼い頃からDIY電子工作やプログラミング思考に親しむために最適です。ビデオも記事も、家庭や教室での使用に最適です。
実験ボードのLEDと抵抗は、以下のように設定したいと思います。
この図では、LEDの向きが逆になっているが、回路は同じであることに注意。
GPIOピン5からの接続線が、抵抗の足に接続されるように設定したいと思います。抵抗のもう片方の足は、LEDのプラス端子に接続されています。それがどちら側か知りたい場合は、LEDの上部をご覧ください。片側はカーブ、もう片側はフラットにすること。曲面がプラス、平面がマイナスです。LEDのマイナス側とGND端子をコネクティングワイヤーで接続してください。
回路が正しいことを確認し、Piを起動します!どのピンがどのピンか知りたい場合は、Piの初心者向けガイドを参考にしてください。
scratchを開くには、Raspberry Piのスタートメニューをクリックして、Programming> scratch 2.0に移動します。 scratchを開くと、以下のような画面が表示されます。
いろいろなことが起こりますが、その分、コツがつかみやすいんです。画面の左側がアクションを起こす場所です。私たちが書いたコードは、このボックスで再生されます。
その下にはスプライトウィンドウがあり、プログラムに画像を読み込んだり、クリエイティブな気分で自分のスプライトを描いたりすることができます。
中央のパネルには、**プログラムに使用できるすべてのブロックがあります。また、衣服とサウンドという2つのタブがあり、これらを使ってプログラムをさらにカスタマイズすることができますが、今日は使いません。
右側は、この四角をドラッグして魔法をかける場所です。
右側は現在、空っぽの状態です。
先に進む前に、GPIOピンにアクセスし、LEDを点灯させるためのモジュールをツールボックスに追加する必要があります。中央のパネルで、"More Blocks "をクリックしてください。
これでブロックが追加され、Raspberry Piのピンが使えるようになります。
さて、必要な道具が揃ったところで、プログラムを作ってみましょう。
Cat Wizardがインストールされたので、使ってみましょう。ボタンがクリックされるたびに猫が一歩を踏み出し、LEDが1秒間点灯するプログラムを作ります。まず、「移動」タブから「10歩移動」ブロックを掴んで、右側の余白にドラッグします。次にmoreblocksタブをクリックし、setgpio出力を右側にドラッグして、最初のブロックの底に接続します。このように表示されるはずです。
私のGPIOブロックには5という数字がありますが、白い丸をクリックし、ここにGPIOピンの番号を入力します。上記のようにLEDを設定すると、数字も5になります。 これで、コードブロックをクリックすると、しばらく光ります。これは動作中ということなので、猫が動くとLEDが点灯するのがわかるはずです。進化している!?
さて、基本的なスタートが切れたところで、さらにロジックを追加していきましょう。今ではライトが点灯し、二度と消えることはありません。しばらく待たせてから出発したい。待機ブロックを使用します。
コントロール]タブで、1秒待ちブロックを取得し、スタックの一番下に追加します。プログラムは、そこに到達するたびに、1秒待つことを知るようになりました。LEDを再びオフにするには、ブロックする別のセットアップGPIO出力を掴んで、一番下にドラッグします。
今回は、GPIO出力をLowにして、LEDを消灯させたいと思います。出力高の隣にある小さなドロップダウン矢印をクリックして、出力低に変更します。このブロックも、上のブロックと同じGPIO番号を必要とすることを忘れないでください!
次のように読み替えてください。
これで、コードブロックをクリックすると、猫が動き、LEDが1秒間点灯した後、消灯するはずです。さて、これはコードブロックをクリックしたときのみ機能します。それに代わるボタンを作ろう。
うちの猫を動かすものが必要だ。矢を使えばいいんだ!左下の「スプライト」ウィンドウで、「新規スプライト」横のボタンをクリックします。これにより、Scratchに付属するスプライトライブラリから選択することができるようになります。
今回は、プログラムに合いそうだったのでスプライト矢印1を使いましたが、好きなスプライトを使うことができます。Scratchで自分でスプライトを描くこともできますし、他の場所で撮った画像をアップロードすることもできます**。矢印を追加すると、左側の猫と同じペインに表示されるはずです。次のように、ネコを画面の左側に、矢印を上側にドラッグしてください。
矢にも四角を持たせないと。矢印スプライトをダブルクリックすると、右ペインが空っぽになるのがわかります。矢印をクリックするたびに、猫がそのコードのブロックを実行するようにしたいのです。
そのためには、Eventタブでブロックをクリックしたときに、このスプライトの中身を取得します。つまり、矢印をクリックするたびに、そのブロックが走り出すのです。あとは、このとき猫にメッセージを送ること。幸いなことに、スクラッチをすることでそれが可能になります。
ブロードキャストブロックを使って、猫にメッセージを送ることにします。イベント」タブから取得し、「このスプライトがクリックされたとき」ブロックの下に配置します。このブロックは、プログラム内の他のすべてのスプライトにメッセージを送信します。message1の横にある矢印をクリックして、newmessageを選択し、独自のメッセージを追加してみましょう。ポップアップウィンドウにgoと入力し、okをクリックします。
ここでもう一度、猫をダブルクリックします。猫にラジオを聴かせるんだWhen I receiveブロックをスタック**の一番上にドラッグし、ドロップダウンメニューにもgoが表示されていることを確認します。これで、左ペインの矢印をクリックするたびにgoが放送され、猫がgoを受け取って動き、LEDが点灯するはずです。
よくやった! いい感じだ! 最後にできることは、よりよくすることだ。
矢印を何度もクリックすると、猫が画面の右側から離れていることに気づくかもしれません。毎回つかんで引きずり戻せばいいのですが、優秀なプログラマーは怠け者なので、コードを自分のために動かしてくれます。良いプログラマーになって、ブロックを使って猫が勝手に後ろへ移動するようにしよう。
ネコが画面の端に触れないように、ドラッグして左側に戻す。マウスポインタを猫のスプライトの真ん中に置き、左ペインの下隅を見ます。xとyの後に2つの数字が続きます。書き留めておいてくれ、すぐにでも必要だ。
猫が動くたびに、「画面の右側を触っていたら、最初に戻ってね」と伝えたい。ブロックを使って説明することができます。まず、コントロールタブのif-thenブロックを掴んで、コードブロックの下にドラッグします。これはちょっと違うようで、ダイヤの隙間がついていて、真ん中に隙間があるんです。この隙間を利用して、何をすべきかを示しているのです。
今度は「センス」タブで、「マウスポインターをタッチする」を選択しますか?ブロックになります。菱形であることがわかると思いますが、これはif-thenブロックの菱形の隙間にぴったりとはまります。うまくはまらない場合は、If-thenの右側にドラッグして、ひし形の隙間が光るまで左側に移動してください。また、マウスポインターと書かれていることにお気づきでしょう。ドロップダウンメニューで、サイドを選択します。
今のところ、この部分は、猫が縁にぶつかったら...と言っているのですが、今のところダメです。
この場合、ブロックには埋めなければならない隙間があります。Motionタブを開き、Go to x:y:ブロックを選択し、If< touching edge> thenブロックの隙間にドラッグします。
Scratchはとても賢く、猫のスプライトが配置された場所にxとyの数字を入れますが、事前にメモしておいた数字と一致しているかどうか確認してください。そうでない場合は、x:とy:の横にある白いボックスをクリックして変更します。
あなたの猫のためのコードの完全なブロックは、次のようになります。
これは完全に機能するプログラムです!あなたが十分な回数矢印をクリックして、あなたの猫がウィンドウの反対側に当たると、彼は開始するために再びポップアップ表示されます。
これで終わりです。よくできました。
今日は、アニメーション(猫が動くとき)、DIY電子工作(LED回路を作って制御する)、そしてプログラマーロジックを含むプログラムを作成しましたね。
一行もコードを書く必要はありません。
もしあなたが親や教師なら、子供にコーディングを紹介する素晴らしい方法や、若者向けの素晴らしい初心者向けハードウェア・プロジェクトがたくさんあるはずです。子供たちがDIYで電子機器やコンピューターに触れることは、子供たちの考え方を広げ、より大きなこと、より良いことをオンラインで学ぶための基礎となります。