水曜日, 5月 21, 2025
ホームWordPress専門学校190日目/5月20日(火)ラフ

専門学校190日目/5月20日(火)ラフ

🧠 概要:

記事の概要

この記事では、専門学校の190日目の授業内容が詳述されています。具体的には、ロボットプログラミング実習とWeb制作実習の二つの分野にわたる内容で、各種センサーの使用方法やWordPressでのテーマ作成に関する具体的な学びが紹介されています。

要約

  • 授業内容:

    • ロボットプログラミング実習の4回目。
    • 各種センサー(カラーセンサー、タッチセンサー、超音波センサー)の動作確認。
  • ロボットプログラミング:

    • カラーセンサーとタッチセンサーのインスタンス生成と状態取得の方式を学習。
    • 超音波センサーの原理と使用方法についても解説。
    • モーター制御の概念も触れられている。
    • ジャイロセンサーのリセット条件の重要性について注意喚起。
  • Web制作実習:

    • WordPressでのテーマ作成の続きが行われた。
    • テレビ東京のポケモンアニメサイトを参考にした再現作業。
    • CSSの記述やHTMLの階層構造の理解が求められた。
  • 試験準備:
    • 次回の試験はスライダー処理の実装に焦点を当てることが計画されている。

専門学校190日目/5月20日(火)ラフ

1時限目~3時限目
ロボットプログラミング実習

本日で4回目の授業です。先週学んだのは各種センサーを使用する方法ですが、カラーセンサーとタッチセンサーを学びました。

共通する書き方があり、簡単なセンサーだと書き方がややこしいと思われるがいろんなセンサーがあっても、同じような書き方で扱えるように設計されているとのことです。

static EV3ColorSensor colorSensor = new EV3ColorSensor(SensorPort.S3);
static EV3TouchSensor touchSensor = new EV3TouchSensor(SensorPort.S1);

これはカラーセンサーとタッチセンサーのためのインスタンスを生成するコードですが、どちらもそれ用のクラスでポート番号を渡して初期化されます。

次にmain関数内で、SensorMode color = colorSensor.getRGBMode();SensorMode touch = touchSensor.getTouchMode();

のようにgetメソッドで状態を取得し、それぞれ変数に代入しています。

float value[] = new float[color.sampleSize()];float value[] = new float[touch.sampleSize()];

で配列を作り、それぞれのサイズを確保しています。

LCD.clear();
は共通で、ロボットの液晶画面をクリアします。

それからwhileループに入り、カラーセンサーなら色を認識して液晶に表示させるコードが、タッチセンサーはセンサーがタッチされるとボタンが押されたことを液晶に表示するコードが記述される。

カラーセンサー制御の解説をするので、先にコードを書いて実行してみること。超音波センサーもコードを書いて実行してみてください。
超音波センサーもコードを実行したら、うまく動きました。距離を離したり近づけたりすることで表示される値が変化しました。超音波センサーも最初にポート番号を渡してインスタンスを生成したりすることや、whileループ処理で継続的にセンサーで距離を測っている感じです。

カラーセンサー制御
センサーの値が0~100とすると、本当の色の加減が50としてもセンサーは別の値に取るかもしれない。内部的に20としても50としようと調整するのが正規化。今回はgetRGBモードで取ったがこのセンサーは4つのモードがある。getColorIDModeは8つの色を認識する。getRedModeは光の反射レベルを測定し、赤い光は黒いところに吸収されるので、黒を判定する必要のあるライントレースとかに向いている。getAmbientModeは周囲の光の強さを測定するのに使う。

授業の演習ではRGBとRedモードを使うことになる。

超音波制御についての解説インスタンスを作って変数に入れて、fetchSampleで値を取ってきて表示するという流れは他のセンサーと同じ。

超音波センサーの原理は音波を前に出して、返ってくる時間で距離を測る。超音波なので人の聴覚では捉えられない振動の音波で測る。

次の時間でモータ制御の解説をします。newする必要はなく、作られている変数名で使う。resetTachoCountで初期化する。rotateToも初期化。モーターのスピードを設定し、そのあとにどの方向に動かすかも指定する。setSpeed()とforward()、backward()で正回転、逆回転を設定したスピードで。

for文でループして、ループ用の変数でスピードの計算をし、ループが繰り返されるごとにスピードが速くなる。

インターフェースはどのようなメソッドを持っているかを宣言するだけのクラスで、継承したクラスではそれを実装する。インターフェース自体は設計図であり、それ単体では使えない。

多重継承したものがたくさんある構造になっている。

ジャイロセンサーは少し注意が必要。リセットするときに静止していなければならない。動いているときにリセットすると正常に初期化できない。センサーの制限事項なので守らないといけない。ジャイロセンサーを積んだ機械があったとしても、ジャイロセンサーのリセットは仕組みの関係上静止していなければならない。

リセット以外は他のセンサーと同じようなもの。リセットしたあとは動かしてみてほしい。実習用のロボットは1軸なのでコンパスのような使い方しかできない。

4時限目~6時限目
web制作実習

本日で4回目の授業です。前回は自分でテーマを作成してWordPressで作っていこうという内容でした。今回はさらに続けていくことになります。

C:Usersユーザ名Local Sitespokemonapppublicwp-contentthemesの中にあるthemeフォルダをVScodeにドロップして編集画面を開きます。

前回の続きということで、参考にしているテレビ東京のポケモンアニメのサイトをWorPress上で再現しようとコピペしたり、animationを定義したりなどしていました。<div>タグでの階層構造をしっかり押さえておいたり、CSSの記述で前後が間違っているとうまくいかなかったりなど勉強になる点が多かったです。<iframe>タグでyoutubeなどから動画を埋め込むことができるが、開発者ツールで階層を開いていくと中に<html>タグがあったりで混乱していましたが、それはiframeの中身が別なhtmlドキュメントであって、src=””で記述されるURLはyoutubeの別ページでそれが展開されているためだそうです。youtubeからならば、動画の共有から埋め込み用のタグをコピーすることができて、それを貼り付けるだけでよいのだそう。

試験は書いたりはなくて、試験の3時間のうちにスライダーの処理を実装するような試験内容にします。その試験の準備として来週、やりかたを紹介する。

ページを追加してスライダーを実装する練習をする。

ラフ

2025年現在、専門学校生。主にプログラミングの勉強をしています。読書と数学が趣味です。将来はAIエンジニアになりたい。



続きをみる


Views: 0

RELATED ARTICLES

返事を書く

あなたのコメントを入力してください。
ここにあなたの名前を入力してください

- Advertisment -

インモビ転職