何とか完成
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番号で組立表示する点に注意
次ページへ
2018年1月16日火曜日
WebIOPIの設定
ダウンロードページから進みましょう
http://webiopi.trouch.com/DOWNLOADS.html
上のように現在の最新版が 0.7.1 でしたRaspberryの Download フォルダにダウンロードできますの解凍してインストールします
現在はどこにいるでしょうか確認して
pwd
/home/pi
ダウンロードしたフォルダに移動して解凍します
cd Downloads
tar xvzf WebIOPi-0.7.1.tar.gz
解凍したフォルダに移動してインストールし、パッチを当てます、少し時間が掛かります
cd WebIOPi-0.7.1
wget https://raw.githubusercontent.com/neuralassembly/raspi2/master/webiopi-pi2bplus.patch
注意:wgetk ~ .patch 上の行が改行して表示している場合は一行ですよ
patch -p1 -i webiopi-pi2bplus.patch
sudo ./setup.sh
インターネット経由で接続しますか?と聞いてきますが今回はnでインストール終了します
Do you want to access WebIOPi over Internet ? [y/n]n
下図はフォルダ内のダウンロードファイルを解凍したところです
さらに移動して入れます
cd /etc/systemd/system/
sudo wget https://raw.githubusercontent.com/doublebind/raspi/master/webiopi.service
よっしゃ、毎回起動させるのは大変なのとリモートする場合は自動起動の有効化のコマンドを入れときましょう。
無効化も参考に
自動起動の有効化
sudo systemctl enable webiopi
無効化
sudo systemctl disable webiopi
この後 /etc/webiopi/config 内の myscript = 起動するpythonプログラムリンク先を変更するたびにコマンド起動が必要になりますので以下も必要です
停止
sudo service webiopi stop
起動
sudo service webiopi start
実際にプロセス動作しているか試してみました
ps ax | grep webiopi
27901 pts/0 S+ 0:00 grep --color=auto webiopi
これ動作していませんので、停止、起動してみます
sudo service webiopi stop
sudo service webiopi start
ps ax | grep webiopi
27961 ? Ssl 0:00 /usr/bin/python3 -m webiopi -l /var/log/webiopi -c /etc/webiopi/config
27968 pts/0 S+ 0:00 grep --color=auto webiopi
設定したラズベリーパイ本体から確認してみましょう。ブラウザから
「 http://localhost:8000/ 」にアクセスします
同じLAN内の他のPCからアクセスする場合は、ラズベリーパイのIPアドレスをifconfigコマンドで確認してから
「http://(IPアドレス):8000/」にアクセスするのだ
初期のユーザー名は「webiopi」
パスワードは「raspberry」となっています。
ログインすると以下の初期画面が表示されます
パスワードを削除する方法
/etc/webiopi/config
その中の「passwd-file = /etc/webiopi/passwd]
行の先頭に「#」を挿入してコメントアウトします
パスワード変更は
sudo webiopi-passwd コマンドを実行して
ログイン名
パスワードを2回入力
変更できます
一番上の「GPIO Header」のリンクから以下の制御画面が表示されればOK
灰色の「IN」はGPIO端子の信号入力に設定されている状態を表します、クリックすると「OUT」出力信号端子に変更できます、出力信号端子にしたピン番号をクリックすると黒色番号はLOW出力、からオレンジ色HIGH出力に変更できます。
これ本当に便利です。
リモートで出力を簡単に制御可能です、面白くなってきました。
それではオリジナルのプログラムをいれてPCやタブレットから動作試験をしてみます、ファイルをラズベリーパイへ転送して表示させるディレクトリが一般ユーザ権限では書き込めないので権限を書き換えます
sudo chown -R pi /usr/share/webiopi/htdocs
/usr/share/webiopi/htdocs ディレクトリ内にファイルを転送して動作試験をしてみます
動作試験ファイルを変更する方法
sudo vi /etc/webiopi/config
ファイル内のコメント行を変更します
#myscript = /home/pi/webiopi/examples/scripts/macros/script.py
python のプログラムへのリンクを記載する
例:script.py を起動させる場合
myscript = /usr/share/webiopi/htdocs/試験ファイル script.py2018年1月10日水曜日
サーボをコントロールしてみよう
参考HPを記載しています
WebIOPi によるサーボモータ制御
制御プログラムの作成 & htmlの作成
ここが重要
https://raspi-wannabe.com/webiopi_servo/
http://raspibb.blogspot.jp/2015/01/pc.html
https://yuki-sato.com/wordpress/2014/08/13/raspberrypi%E3%81%A8%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%A7%E5%AE%B6%E3%81%AE%E3%83%89%E3%82%A2%E3%82%92iphone%E3%81%8B%E3%82%89%E9%96%8B%E3%81%91%E3%82%8B/
http://essence.cambrianrobotics.com/contents/Nodejs%E3%81%8B%E3%82%89%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99/15
http://iot-makers.webolha.com/2016/09/10/camera-servo/
https://raspi-wannabe.com/%E5%BE%8C%E3%82%82%E3%81%86%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%EF%BC%81-webiopi-%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%82%BF%E5%88%B6%E5%BE%A1/
https://raspi-wannabe.com/webiopi_servo/
WebIOPi によるサーボモータ制御
制御プログラムの作成 & htmlの作成
ここが重要
https://raspi-wannabe.com/webiopi_servo/
http://raspibb.blogspot.jp/2015/01/pc.html
https://yuki-sato.com/wordpress/2014/08/13/raspberrypi%E3%81%A8%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%BC%E3%81%A7%E5%AE%B6%E3%81%AE%E3%83%89%E3%82%A2%E3%82%92iphone%E3%81%8B%E3%82%89%E9%96%8B%E3%81%91%E3%82%8B/
http://essence.cambrianrobotics.com/contents/Nodejs%E3%81%8B%E3%82%89%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%82%BF%E3%83%BC%E3%82%92%E5%8B%95%E3%81%8B%E3%81%99/15
http://iot-makers.webolha.com/2016/09/10/camera-servo/
スクラッチで始めるロボットプログラミング:サーボモーターでロボットアーム
https://raspi-wannabe.com/%E3%81%A7%E3%81%8D%E3%81%9F%E3%81%81%EF%BC%81-webiopi-%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%82%BF%E5%88%B6%E5%BE%A1/
https://raspi-wannabe.com/%E5%BE%8C%E3%82%82%E3%81%86%E3%81%A1%E3%82%87%E3%81%A3%E3%81%A8%EF%BC%81-webiopi-%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B5%E3%83%BC%E3%83%9C%E3%83%A2%E3%83%BC%E3%82%BF%E5%88%B6%E5%BE%A1/
https://raspi-wannabe.com/webiopi_servo/
2017年10月13日金曜日
Python3でプログラム
RaspberryPi3でプログラミング開始
プログラミング ⇒ Python3 今回はPython3でプログラミングします、Python2でプログラミングしたファイルを開いて動作させる場合は一部コマンドが違いますので各自選択してください。

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

プログラムの動作を確認するときは
Run ⇒ Run Module


上記はサーボを動かしました、動作試験がうまくいけば保存します
File ⇒ Save As
ファイル名.py 拡張子は必ず .py を付けて保存すること
プログラミング ⇒ Python3 今回はPython3でプログラミングします、Python2でプログラミングしたファイルを開いて動作させる場合は一部コマンドが違いますので各自選択してください。
Python Shell 画面が開きますのでプログラミングする新しい画面をさらに開きます
File ⇒ New File そうすると右側に真っ白の新規画面が開きます。
新規作成、ここにプログラムを書いていきます。
すでに作成済みの場合や編集する場合は
File ⇒ Open 目的のファイルを選びます
プログラムの動作を確認するときは
Run ⇒ Run Module
上記はサーボを動かしました、動作試験がうまくいけば保存します
File ⇒ Save As
ファイル名.py 拡張子は必ず .py を付けて保存すること
2017年9月1日金曜日
Tera Term でリモート接続 & プログラミング
Telnetとシリアル接続に対応したターミナルエミュレーター「Tera Term」を使ってリモート接続してみましょう。
Raspberrypi にCRTやキーボードを付けるのが面倒なので、いつも使っているWindowsPC からリモート接続してターミナルモードで作業ができます、これは家庭では便利です、屋外からのリモートもできますが今回は家庭内LANでの接続方法をメモ。
下記のダウンロード先からご利用できます、窓の杜参考
http://forest.watch.impress.co.jp/library/software/utf8teraterm/
ホスト名は家庭内LANの場合は接続したい RaspberryPi を固定IPにしている場合は設定したIPアドレスを入れます
GO ⇒ 固定IPの設定方法を参照
Raspberrypi にCRTやキーボードを付けるのが面倒なのでこれは必要です
もちろん、Raspberrypi 本体でSSH有効にしておかないとだめですよ
「設定」→「Raspberry Piの設定」→「インターフェイス」タブの中
SSHを有効にチェック「OK」

「OK」で進んでください、SSH(暗号化した接続方式)で接続するので初回のみ表示「セキュリティの警告」が出ますが。迷わず「続行」してください。

ユーザ名:pi
パスフレーズ:raspberry
上記は初期設定の場合です、変更されることをお勧めします

Raspberry Pi 本体の「アクセサリ」⇒「LXTerminal」と同じ画面が開きますので、どーぞご自由にご利用ください。

ここでViコマンドを使って私はプログラミングするんですが、使い慣れていない人はおとくいの物をご利用ください。
ここの所もう少し後程書き加えますね
保存したプログラム ファイル名.py の動作確認は
⇒1
$ python3 ファイル名.py
python3 でプログラミングした例です、python2の場合は先頭は2となります
動作確認できたら ⇒ 2
Ctrl + c でプログラム停止します
Python3 を動作させる場合は
Python3 Enter
加減乗除のテスト表示をしました
Ctrl + d で停止します、普段のターミナルモードに戻ります
Raspberrypi にCRTやキーボードを付けるのが面倒なので、いつも使っているWindowsPC からリモート接続してターミナルモードで作業ができます、これは家庭では便利です、屋外からのリモートもできますが今回は家庭内LANでの接続方法をメモ。
下記のダウンロード先からご利用できます、窓の杜参考
http://forest.watch.impress.co.jp/library/software/utf8teraterm/
ホスト名は家庭内LANの場合は接続したい RaspberryPi を固定IPにしている場合は設定したIPアドレスを入れます
GO ⇒ 固定IPの設定方法を参照
Raspberrypi にCRTやキーボードを付けるのが面倒なのでこれは必要です
もちろん、Raspberrypi 本体でSSH有効にしておかないとだめですよ
「設定」→「Raspberry Piの設定」→「インターフェイス」タブの中
SSHを有効にチェック「OK」
「OK」で進んでください、SSH(暗号化した接続方式)で接続するので初回のみ表示「セキュリティの警告」が出ますが。迷わず「続行」してください。
ユーザ名:pi
パスフレーズ:raspberry
上記は初期設定の場合です、変更されることをお勧めします
Raspberry Pi 本体の「アクセサリ」⇒「LXTerminal」と同じ画面が開きますので、どーぞご自由にご利用ください。
プログラミング
ここでViコマンドを使って私はプログラミングするんですが、使い慣れていない人はおとくいの物をご利用ください。
ここの所もう少し後程書き加えますね
保存したプログラム ファイル名.py の動作確認は
⇒1
$ python3 ファイル名.py
python3 でプログラミングした例です、python2の場合は先頭は2となります
動作確認できたら ⇒ 2
Ctrl + c でプログラム停止します
Python3 を動作させる場合は
Python3 Enter
加減乗除のテスト表示をしました
Ctrl + d で停止します、普段のターミナルモードに戻ります
登録:
投稿 (Atom)

