EV3のセンサの使いかたについて簡単に・・・
超音波センサと接触センサ,カラー(光)センサを使って,現在の取得情報を表示します.
超音波センサと接触センサ,カラー(光)センサを使って,現在の取得情報を表示します.
//EV3センサ
package main;
import lejos.hardware.Battery;
import lejos.hardware.motor.EV3MediumRegulatedMotor;
import lejos.hardware.port.MotorPort;
import lejos.hardware.port.SensorPort;
import lejos.hardware.sensor.EV3ColorSensor;
import lejos.hardware.sensor.EV3TouchSensor;
import lejos.hardware.sensor.EV3UltrasonicSensor;
import lejos.hardware.sensor.SensorModes;
import lejos.robotics.SampleProvider;
public class Main{
private SensorModes uss = new EV3UltrasonicSensor(SensorPort.S1); //超音波センサ ポートS1
private SampleProvider distance = uss.getMode("Distance"); //距離計測モード
public float[] ussdata = new float[distance.sampleSize()]; //超音波センサ情報格納配列
private EV3TouchSensor ts = new EV3TouchSensor(SensorPort.S2); //接触センサ ポートS2
private SampleProvider touch = ts.getTouchMode(); //タッチ検出モード
public float[] tsdata = new float[touch.sampleSize()]; //接触センサ情報格納配列
private EV3ColorSensor cs = new EV3ColorSensor(SensorPort.S3); //カラー(光)センサ ポートS3
private SampleProvider ls = cs.getRedMode(); //光センサ計測モード(光センサとして使うように設定)
public float[] lsdata = new float[cs.sampleSize()]; //カラーセンサ情報格納配列
public static void main(String[] args){
while(true){
distance.fetchSample(ussdata, 0); //ussdata[0]に現在値を追加
ts.fetchSample(tsdata, 0); //tsdata[0]に現在値を追加
ls.fetchSample(lsdata, 0); //lsdata[0]に現在値を追加
LCD.drawInt((int)ussdata[0],0,0);
LCD.drawInt((int)tsdata[0],0,1);
LCD.drawInt((int)lsdata[0],0,2);
}
}
}
コメント
コメントを投稿