開発ブログ

第12回 パペロで照度を測定してみた

投稿日時:2019年2月15日 10:02

こんにちは。ピャペロンです!
今回はパペロで照度を測定してみよう。

あらかじめパペロシミュレーターを動かす環境を整えておこう。第2回 Windowsからパペロシミュレーターを動かしてみた

使用するソフト
・Windows 10
・テキストエディタ(Visual Studio Code
・Google Chrome
・Python 3.6.6 ※実機で動かす場合はPython 3.4で開発しないと動作しない可能性があります。


中央ボタンで照度センサーのオン・オフ
左ボタンで照度を測定して発話
右ボタンで終了
このような動きを実現してみよう

  1. from logging import basicConfig, DEBUG
  2. basicConfig(level=DEBUG)
  3. import sys
  4. import pypapero
  5. from time import sleep
  6. def send_event_message(msg, end=False): #イベントメッセージを処理
  7.     if msg[0]["Name"] == "detectButton" and msg[0]["Status"] == "C": #中央ボタンが押されたら
  8.         papero.send_get_lum_sensor_state() #照明センサーの状態を取得
  9.         while True:
  10.             msg = papero.papero_robot_message_recv(None)
  11.             if msg[0]["Name"] == "getLumSensorStateRes" and msg[0]["Return"] == 0: #照度センサー停止中なら
  12.                 papero.send_start_lum_sensor() #照度センサによる計測を開始
  13.                 papero.send_start_speech("照度の測定を開始します")
  14.                 break
  15.             elif msg[0]["Name"] == "getLumSensorStateRes" and msg[0]["Return"] == 1: #照度センサー動作中なら
  16.                 papero.send_stop_lum_sensor() #照度センサによる計測を停止
  17.                 papero.send_start_speech("照度の測定を停止します")
  18.                 break
  19.     elif msg[0]["Name"] == "detectButton" and msg[0]["Status"] == "L": #左ボタンを押されたら
  20.         papero.send_get_lum_sensor_state() #照明センサーの状態を取得
  21.         while True:
  22.             msg = papero.papero_robot_message_recv(None)
  23.             if msg[0]["Name"] == "getLumSensorStateRes" and msg[0]["Return"] == 0: #照度センサー停止中なら
  24.                 papero.send_start_speech("照度センサーをオンにしてください")
  25.                 break
  26.             elif msg[0]["Name"] == "getLumSensorStateRes" and msg[0]["Return"] == 1: #照度センサー動作中なら
  27.                 papero.send_get_lum_sensor_value() #照度センサの測定値を読み出します
  28.                 while True:
  29.                     msg = papero.papero_robot_message_recv(None)
  30.                     if "getLumSensorValueRes" in msg[0].values() and "Return" in msg[0]:
  31.                         lum_value = str(msg[0]["Return"]) #照度を文字列に変換
  32.                         voice_lum_value = "照度は" + lum_value + "ルクスです"
  33.                         papero.send_start_speech(voice_lum_value)
  34.                         break
  35.                 break
  36.     elif msg[0]["Name"] == "detectButton" and msg[0]["Status"] == "R": #右ボタンを押されたら
  37.         papero.send_stop_speech()
  38.         sleep(0.5)
  39.         papero.send_start_speech("おやすみなさい")
  40.         papero.papero_cleanup()
  41.         end = True
  42.         return end
  43.     return end
  44. if __name__ == "__main__":
  45.     simulator_id, robot_name, ws_server_addr = pypapero.get_params_from_commandline(sys.argv)
  46.     papero = pypapero.Papero(simulator_id, robot_name, ws_server_addr)
  47.     if papero.errOccurred == 0:
  48.         end = False
  49.         while end == False:
  50.             message = papero.papero_robot_message_recv(None)
  51.             end = send_event_message(message)

シミュレーターの項目から照度を変更できるからいろんな値で試してみよう。
このように動けば成功だ!

 


0

最新開発ブログ一覧  (一覧で確認
2020年8月19日 14:08
開発ブログ
第30回 パペロで赤外線アレイセンサを動かしてみよう!【中編:顔の表面温度を測ってみよう】
by 管理者
2020年7月22日 16:07
開発ブログ
第29回 パペロで赤外線アレイセンサを動かしてみよう!【前編:簡易サーモグラフィを作ろう】
by 管理者
2019年11月20日 17:11
開発ブログ
第28回 パペロでJulius4.5を実行してみた
by 管理者
2019年11月13日 09:11
開発ブログ
第27回 JuliusをPaPeRoi向けにクロスコンパイルしてみた
by 管理者
2019年9月19日 17:09
開発ブログ
第26回Linaro Toolchainでクロスコンパイルしてみた
by 管理者

コメントは受け付けていません。