Scratch2に対応してます
https://www.fabshop.jp/%E3%80%90-%E7%AC%AC1%E5%9B%9E-%E3%80%91scratch-2%E3%81%AE%E6%97%A5%E6%9C%AC%E8%AA%9E%E5%8C%96%E3%81%A8%E6%8B%A1%E5%BC%B5%E6%A9%9F%E8%83%BDpi-gpio%E3%81%AE%E8%BF%BD%E5%8A%A0/
https://www.moyashi-koubou.com/blog/pi_scratch2/
Home » blog » 初心者向けRaspberry Pi GPIOの美味しい食べかた(使い方編)
2018年5月17日木曜日
2018年5月14日月曜日
if・for・while の例題をやって見ましょう
[通勤手当の例題]
通勤距離が10km以上の人は1km200円、20km以上は1km400円、30km以上は1km500円の通勤費が出るように5人分入力する。
import java.util.Scanner;
public class Mondai14 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Scanner stdIn = new Scanner(System.in); //距離をキーボードから入力します
System.out.print("");
int km=0;
int km10=0;
int km20=0;
int km30=0;
int i=0;
for (i=1;i<=5;i++) //5人分入力のforループを利用してみました
{
System.out.println("距離を入力してください");
km = stdIn.nextInt();
if (km>30){ //if条件式で30km以上を判断しています
km30=km*500;
System.out.println("30km以上なので km × 500円です 通勤手当は " + km30 + " 円です");
}
else //30km以外は以下の条件に適応しているか次の条件式に続きます
if (km>20)
{
km20=km*400;
System.out.println("20km以上なので km × 400円です 通勤手当は " + km20 + " 円です");
}
else
{
if (km>10)
{
km10=km*200;
System.out.println("10km以上なので km × 200円です 通勤手当は " + km10 + " 円です");
}
else
{
System.out.println("10km未満です 通勤手当はでません 残念!!");
}
}
}
}
}
プログラムは答えが一つではありません以下も同じループの条件です
int i = 0
while (i<3) //i=1なので3回ループします
{
System.out.println("距離を入力してください");
km = stdIn.nextInt();
if (km>30) //条件式が入ります
{・・・・・・・・・・・・・・
・・・・・・・・・・・・・・}
else{・・・・・・・・}
i++; 3回ループするために毎回+1にしています
}
通勤距離が10km以上の人は1km200円、20km以上は1km400円、30km以上は1km500円の通勤費が出るように5人分入力する。
import java.util.Scanner;
public class Mondai14 {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Scanner stdIn = new Scanner(System.in); //距離をキーボードから入力します
System.out.print("");
int km=0;
int km10=0;
int km20=0;
int km30=0;
int i=0;
for (i=1;i<=5;i++) //5人分入力のforループを利用してみました
{
System.out.println("距離を入力してください");
km = stdIn.nextInt();
if (km>30){ //if条件式で30km以上を判断しています
km30=km*500;
System.out.println("30km以上なので km × 500円です 通勤手当は " + km30 + " 円です");
}
else //30km以外は以下の条件に適応しているか次の条件式に続きます
if (km>20)
{
km20=km*400;
System.out.println("20km以上なので km × 400円です 通勤手当は " + km20 + " 円です");
}
else
{
if (km>10)
{
km10=km*200;
System.out.println("10km以上なので km × 200円です 通勤手当は " + km10 + " 円です");
}
else
{
System.out.println("10km未満です 通勤手当はでません 残念!!");
}
}
}
}
}
プログラムは答えが一つではありません以下も同じループの条件です
int i = 0
while (i<3) //i=1なので3回ループします
{
System.out.println("距離を入力してください");
km = stdIn.nextInt();
if (km>30) //条件式が入ります
{・・・・・・・・・・・・・・
・・・・・・・・・・・・・・}
else{・・・・・・・・}
i++; 3回ループするために毎回+1にしています
}
2018年5月11日金曜日
Ecripsでキーボードから入力方法
import java.util.Scanner;
public class P36Scanner {
public static void main(String[] args) {
// TODO 自動生成されたメソッド・スタブ
Scanner stdIn = new Scanner(System.in); //大文字のIです
System.out.println("XとYを加減乗除します");
System.out.print("Xの値:"); //Xの値の入力
int x =stdIn.nextInt(); //Xに整数値を読み込む
System.out.print("Yの値:");
int y =stdIn.nextInt();
System.out.println("X + Y = " + (x+y));
System.out.println("X - Y = " + (x-y));
System.out.println("X * Y = " + (x*y));
System.out.println("X / Y = " + (x/y));
}
}
「エディター・エリア」ビューにScanner 標準入力ストリーム
これは便利な・・・・・
入力は「問題」ビューにカーソル移動して数値・文字を打ち込み「エンター」
回答が印刷されました
●割り切れる数字ばかりではありませんどうする
Scanner stdIn = new Scanner(System.in); //大文字のIです
System.out.println("XとYを加減乗除します");
System.out.print("Xの値:"); //Xの値の入力
double x =stdIn.nextDouble(); //Xに整数値を読み込む
System.out.print("Yの値:");
double y =stdIn.nextDouble();
変数の型
色々ありますがよく使うのがint 整数
double 小数点を含む数値 64ビット符号付浮動小数点数
参考に
char 1文字
boolean
byte
short
long
float
等々
2018年5月2日水曜日
Javaほんまに初めての手始め
2018年3月30日金曜日
2018年1月18日木曜日
かんたんなSCRATCH体験
SCRATCH
事前にGPIO出力の設定ができているあRaspberryPiを利用して2時間程度で完成します
次はスクラッチを起動して上記課題を作成せよ 注意:GPIOの番号でなくPIN番号で組立表示する点に注意
スクラッチの利用方法
「ScrachGPIO7」をダブルクリックすることで起動して利用できるようになります
「ステージ」にはプログラムの実行結果が表示されます、例えば猫が動いたり話したりあなたの思い道理に動きます。。
「スプライトリスト」利用するキャラクターなどを表示します。
タクトスイッチの操作でLEDを点灯するプログラムを作ってみましょう
早速、行くぞー
「カテゴリー」制御を選択
「ブロックパレット」スタートになる緑の旗をドラック&ドロップで「スクリプトエリア」の先頭に持っていきます。
「▼を送る」命令ブロックを「スクリプトエリア」にドラック&ドロップ
▼「新規/編集」をクリックします

そこへはめ込んでいきます
「カテゴリ」演算に変更して条件式をドラック&ドロップします
ブレッドボードの配線は黒板を参考にしてください
スクラッチでの信号入力はプルダウン抵抗を入れますのでご注意ください
参考:GPIO端子表へ
事前にGPIO出力の設定ができているあRaspberryPiを利用して2時間程度で完成します
次はスクラッチを起動して上記課題を作成せよ 注意:GPIOの番号でなくPIN番号で組立表示する点に注意
スクラッチの利用方法
「ScrachGPIO7」をダブルクリックすることで起動して利用できるようになります
「遠隔センサ接続が有効になりました」と表示されますので「OK」ボタンをクリックします。
スクラッチの起動初期画面です各部の名称は以下のようになっておりますのでこの呼び名でお話を進めていきます。
スクラッチは左上の「カテゴリ」(動きや制御など左側に表示される命令一覧)を選択して、左側の「ブロックパレット」内の命令を「スクリプトエリア」にドラッグ&ドロップすることでブロックを配置する。
「スクリプトエリア」に配置しながらプログラムを作成していきます。「ステージ」にはプログラムの実行結果が表示されます、例えば猫が動いたり話したりあなたの思い道理に動きます。。
「スプライトリスト」利用するキャラクターなどを表示します。
タクトスイッチの操作でLEDを点灯するプログラムを作ってみましょう
早速、行くぞー
「カテゴリー」制御を選択
「ブロックパレット」スタートになる緑の旗をドラック&ドロップで「スクリプトエリア」の先頭に持っていきます。
次に信号を入れるスイッチに今回は、小型のタクトスイッチを利用して押したときにON信号を入力するようにしましょう。
入力端子ををどこにするか決めましょう。これはRaspberrypiのIOインターフェースであるGPIOの端子を決め、その端子を信号入力に決めます。「▼を送る」命令ブロックを「スクリプトエリア」にドラック&ドロップ
▼「新規/編集」をクリックします
メッセージの編集ができるので、GPIOの15番=pin番号で言うと10番を信号入力端子に決めますので
Config10in
と入力して「OK」
ここで注意、RaspberrypiのGPIO端子番号は1~26がばらばらに配置されています。
pin端子番号は1~40本のピン番号を上から順に数えていきます、ということはそれぞれに対応するGPIO番号とpin番号を間違うと電源端子に信号を入れたりすると壊れる可能性がありますので注意!
Config10in
と入力して「OK」
ここで注意、RaspberrypiのGPIO端子番号は1~26がばらばらに配置されています。
pin端子番号は1~40本のピン番号を上から順に数えていきます、ということはそれぞれに対応するGPIO番号とpin番号を間違うと電源端子に信号を入れたりすると壊れる可能性がありますので注意!
pin10を信号入力にした後に
こんどはLEDを点滅させる出力端子をpin16(GPIO23番)にしします。
pin10番端子に信号を検出するための条件を設定します、ここが最初はどないしてええのかちょっと難しいですね
「ずっと」「もし なら、ずっと」をつないでいきますそこへはめ込んでいきます
「カテゴリ」演算に変更して条件式をドラック&ドロップします
またまた「カテゴリ」調べるの中から「スライダー▼センサーの値」を入れ込みます、条件を合うように設定していきます
慣れてきましたか?
さあ、要領がわかってきましたね、どんどん進めていきましょう
こんな感じで良いとも!
動かすのは「ステージ」右上のスタートの旗、ストップの赤丸をクリックしてください。
今回はLEDを点滅させるので、ブレッドボードに回路を組んで確認してみましょう。
ゲーム感覚でプログラムができるスクラッチのすごさに感動しましたか。
ブレッドボードの配線は黒板を参考にしてください
スクラッチでの信号入力はプルダウン抵抗を入れますのでご注意ください
参考:GPIO端子表へ
かんたんなpython3体験教材
RaspberryPi3で 2時間程度の実習課題をお試しください
1、プログラム言語python3 を利用してみよう
2、SCRATCHから体験するほうが体験者からは好評でした
pythonでLEDの点滅プログラムから初めよう
その1、以下のプログラムを入力します
入力方法はスクロールして順に行ってください

入力方法
左上のスタート→ 「プログラミング」 ⇒ 「Python3」
又はスタート 「アクセサリ」→「LXTerminal」起動画面で次を入力 sudo idle & [Enter]
idle起動画面のメニューから「File」→「New File」ここにプログラムを入力します

Python Shell 画面が開きますのでプログラミングする新しい画面をさらに開きます
File ⇒ New File
そうすると右側に真っ白の新規画面が開きます。
新規作成、ここにプログラムを書いていきます。
すでに作成済みの場合や編集する場合は File ⇒ Open 目的のファイルを選びます

プログラムの動作を確認するときは
まず Save As 名前をつけて保存します。
ファイル名.py 拡張子は必ず.py
それではプログラムを実行する前に配線をしましょう
直接 RaspberryPi3 にジャンパ接続せずに ブレッドボード へ取り出しから工作しています。
接続間違いが少なく助かっています。
参考:GPIO端子表



GPIO25からLED点滅回路と、タクトスイッチ入力でLED点灯回路の例です、参考に!
Run ⇒ Run Module
エラーが出たらプログラムを点検して直します
訂正して Run ⇒ Run Module
を行うと上書きを自動で行います
最初はエラーで悩まされます。
4文字の字下げ、空白の入れ方間違いが多いですね、C言語では(かっこ)で区切るので空白の文字数はプログラムを見てわかりやすいようにずらせば良かったのに、空白は何らエラーには関係がありませんが。ただし//日本語コメント記入後に気付かず、全角の空白スペースがプログラムに挿入してしまうことがあり悩まされますが。
Pythonでは(かっこ)を省略でき、とても見やすいプログラムになる代わりに、「4文字下げ」を見ているために起こるエラーです。

何はともあれ、うまく動作したらプログラムファイルは宝物です最初からわかりやすい名前を付けて保存しましょう。
プログラム内にもコメントを沢山入れておくと後で思い出すのに便利です。
ほんとに忘れやすいのは人の常。

赤い矢印部、動作完了、またはプログラムの停止は 「Ctrl」 + C 同時に押します
実行中のプログラムが停止します
プログラムによれば停止時のブレイク処理を書いていない場合はエラーがでるのでプログラムを修正します、また動作の途中で停止します。
上記はサーボを動かしました、動作試験がうまくいけば上書き保存します
File ⇒ Save As
ファイル名.py 拡張子は必ず .py を付けて保存すること、しつこいですがうっかりミスには注意!

参考、IOインターフェースピン対応図

今回のプログラムはGPIO番号でプログラムが書かれていますのでPIN番号と勘違いしてジャンパすると危険です。
特に入力信号を入れる場合は電源がそのまま端子に入ると壊れることがありますので再注意
その2 プログラム停止時にリセット処理を入れました
一部追加訂正して入力後実行してみよう
どこが違うかな

スイッチ操作でLED制御
タクトスイッチを追加して入力信号を与えてLEDに反応を返しています
応用範囲の広いプログラム例です

課題(タクトスイッチ動作で)
1、LEDを4個すべてを点滅せよ GPIO18 GPIO23 GPIO24 GPIO25 GPIOの出力に注意
2、2個のタクトスイッチ操作でLEDを色々なパターンで点滅させよ

SCRATCH
次はスクラッチを起動して上記課題を作成せよ 注意:GPIOの番号でなくPIN番号で組立表示する点に注意
次ページへ
1、プログラム言語python3 を利用してみよう
2、SCRATCHから体験するほうが体験者からは好評でした
pythonでLEDの点滅プログラムから初めよう
その1、以下のプログラムを入力します
入力方法はスクロールして順に行ってください
入力方法
左上のスタート→ 「プログラミング」 ⇒ 「Python3」
又はスタート 「アクセサリ」→「LXTerminal」起動画面で次を入力 sudo idle & [Enter]
idle起動画面のメニューから「File」→「New File」ここにプログラムを入力します
Python Shell 画面が開きますのでプログラミングする新しい画面をさらに開きます
File ⇒ New File
そうすると右側に真っ白の新規画面が開きます。
新規作成、ここにプログラムを書いていきます。
すでに作成済みの場合や編集する場合は File ⇒ Open 目的のファイルを選びます
プログラムの動作を確認するときは
まず Save As 名前をつけて保存します。
ファイル名.py 拡張子は必ず.py
それではプログラムを実行する前に配線をしましょう
直接 RaspberryPi3 にジャンパ接続せずに ブレッドボード へ取り出しから工作しています。
接続間違いが少なく助かっています。
参考:GPIO端子表


GPIO25からLED点滅回路と、タクトスイッチ入力でLED点灯回路の例です、参考に!
Run ⇒ Run Module
エラーが出たらプログラムを点検して直します
訂正して Run ⇒ Run Module
を行うと上書きを自動で行います
最初はエラーで悩まされます。
4文字の字下げ、空白の入れ方間違いが多いですね、C言語では(かっこ)で区切るので空白の文字数はプログラムを見てわかりやすいようにずらせば良かったのに、空白は何らエラーには関係がありませんが。ただし//日本語コメント記入後に気付かず、全角の空白スペースがプログラムに挿入してしまうことがあり悩まされますが。
Pythonでは(かっこ)を省略でき、とても見やすいプログラムになる代わりに、「4文字下げ」を見ているために起こるエラーです。
何はともあれ、うまく動作したらプログラムファイルは宝物です最初からわかりやすい名前を付けて保存しましょう。
プログラム内にもコメントを沢山入れておくと後で思い出すのに便利です。
ほんとに忘れやすいのは人の常。
赤い矢印部、動作完了、またはプログラムの停止は 「Ctrl」 + C 同時に押します
実行中のプログラムが停止します
プログラムによれば停止時のブレイク処理を書いていない場合はエラーがでるのでプログラムを修正します、また動作の途中で停止します。
上記はサーボを動かしました、動作試験がうまくいけば上書き保存します
File ⇒ Save As
ファイル名.py 拡張子は必ず .py を付けて保存すること、しつこいですがうっかりミスには注意!
参考、IOインターフェースピン対応図
今回のプログラムはGPIO番号でプログラムが書かれていますのでPIN番号と勘違いしてジャンパすると危険です。
特に入力信号を入れる場合は電源がそのまま端子に入ると壊れることがありますので再注意
その2 プログラム停止時にリセット処理を入れました
一部追加訂正して入力後実行してみよう
どこが違うかな
スイッチ操作でLED制御
タクトスイッチを追加して入力信号を与えてLEDに反応を返しています
応用範囲の広いプログラム例です
課題(タクトスイッチ動作で)
1、LEDを4個すべてを点滅せよ GPIO18 GPIO23 GPIO24 GPIO25 GPIOの出力に注意
2、2個のタクトスイッチ操作でLEDを色々なパターンで点滅させよ

SCRATCH
次はスクラッチを起動して上記課題を作成せよ 注意:GPIOの番号でなくPIN番号で組立表示する点に注意
次ページへ
登録:
投稿 (Atom)

