専門ゼミ(平井)

目次 

【12月8日の専門ゼミの内容】 

・ブレッドボードを用いて簡単なセンサ配線の組み方の習得
・Arduino IDEを用いた基本的なセンシングプログラムの記述
・RaspberryPiをVNCを用いて遠隔操作してのセンシング

【参考資料】 

https://qiita.com/tanakadaichi_1989/items/c655d93a1fae56f2be07
https://algorithm.joho.info/arduino/fsr402/

【ブレッドボードを用いた簡単なセンサ配線の組み方の習得】 

ブレッドボードとは 

センサ類をワイヤーを用いて配線するための基盤。
ユニバーサル基盤とは違い簡単に配線を組むことができる。

ブレッドボード.jpg
ブレッドボード中身.jpg


Arduinoを用いたセンシング 

今回はFSR402圧力センサをブレッドボードを用いて配線を組む。
必要な道具は「FSR402」と「10kオーム抵抗」。

これらを配線してArduino Unoと接続してセンサデータを取得する。
配線図は下に示す。授業ではこれをもとにブレッドボードを用いて配線を組んでいく。

ArduinoUno.png


【Arduino IDEを用いた基本的なセンシングプログラムの記述】 

Arduino IDEとは 

Arduino IDEとはArduinoを動かすためのプログラミングソフトウェアである。
ここで用いる言語は「Arduino言語」とよばれ、C言語とC++をもとに作られている。

Arduino言語の基本的な記述 

Arduinolang.png


新規ファイルを作成すると、まず、図のように「void setup」と「void loop」の2種類が表示される。
「void setup」はArduinoを動かすための基本的な準備をする部分である。
例えばシリアル通信を行うためのビットレートを記述する。
最大転送速度が115200のため今回はそれを用いることにする。
なのでそこには

Serial.begin(115200);

と書けばよい。

「void loop」はそのArduinoで行う作業の内容を命令する部分である。
例えばアナログピン(A0など)からセンサデータを取得したい場合は

○○ = analogRead(A0);

と入力すればよい。
データを出力する場合は

Serial.println(○○);

と記述すればよい。
データをどの間隔で取得するかについては「delay」を用いる。
例えば

delay(500);

と最後に記述すれば500ミリ毎秒、すなわち1秒間に2個ずつデータを収集する。
今回このdelayは通信の都合で100とする。

Arduinoにコンパイルする方法 

まずは「ツール」を開き、ボードを選択する。
Arduino Unoを使っている場合は「Arduino Uno」を、Arduino nanoを使っている場合は「Arduino nano」を選択する。
次にシリアルポートを選択する。PCで接続している場合「COM~」と表示される。RaspberryPiに接続している場合はUnoの場合は「~ACM0」を、nanoの場合は「~USB0」を選択する。
最後に画面左上にある矢印をクリックすればArduinoに書き込まれる。

授業課題 

・Arduino IDEでArduino言語を用いてブレッドボードで配線した圧力センサのデータを取得し、シリアルプロッタでデータを確認しよう。

【RaspberryPiをVNCを用いて遠隔操作してのセンシング】 

VNC Viewer 

VNC ViewerはRaspberryPiを遠隔で操作するためのソフトウェアである。
これを用いてファイルの送受信も可能である。
今回、RaspberryPiにアクセスする場合のIDとパスワードはともに「raspberrypi」である。

Win SCP 

今回は研究室にあるサーバにアクセスするために用いる。
<サーバにアクセスする方法>
アドレス「133.55.115.240」
ユーザ名 自分のギリシャ文字(大森の場合はlambda)
パスワード ギリシャ文字を含んだパスワード(大森の場合はElambda15)

コマンドプロンプトでサーバにアクセスする方法 

まずコマンドプロンプトを起動する。

#ref(): File not found: "サーバ1.png" at page "ArudinoとRaspberryPiを用いたセンシング方法"

起動したら画像のように

ssh ギリシャ文字@133.55.115.240

と入力する。するとパスワードを問われるのでギリシャ文字を含んだ自分のパスワードを入力する。
すると下図のようにサーバログイン成功画面となる。

#ref(): File not found: "サーバ2.png" at page "ArudinoとRaspberryPiを用いたセンシング方法"


この状態で専門ゼミのディレクトの階層に行くためには

cd ..
cd ..
cd var/www/html/professional_zemi_one

で可能。

ファイル編集やプログラムの実行はsudo権限が必要となる。その場合は下図のように

サーバ3.png
sudo su -

と入力する。パスワードを問われるので同じくギリシャ文字を含んだパスワードを入力する。

サーバ4.png

するとsudo権限でサーバにアクセスすることができる。

cd ..
cd var/www/html/professional_zemi_one

と入力すると今回の専門ゼミで用いるディレクトリに入ることができる。

サーバ5.png


2週間課題 

・今日作ったデバイスを使って、通信プログラムでデータをサーバに蓄積しよう。

今回、配ったRaspberryPiにclient.pyが入っている。

client1.png


しかし、いくつかがQuestionになっているので自分で埋めなければ動かない。
・Q1_サーバアドレスを記入せよ
・Q2_シリアルポートを記入せよ
・Q3_ポートの通信速度を記入せよ

それをRaspberryPi上で動かせば自動的にサーバに圧力データが蓄積されるようになっている。
課題は圧力データを10分収集すること。
データはprofessional_zemi_oneの日付ディレクトリの中の自分の名前のディレクトリに自動的にcsvで1分ごとに作成される。

サーバ6.png

このcsvファイルが10個でき上っていればO.K.とする。

Win.png




【追記~今回におけるRaspberryPiでArduino IDEを開く方法~】 

ここにRaspberryPiでArduino IDEを開く方法を記す。
RaspberryPiのターミナル上で

cd Desktop/arduino-1.8.19
./arduino

と入力すればArduino IDEを開くことができる。


トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS