/* DistTest.java (c) 2007 Nils Springob <nils@nicai-systems.de> */ import nanovm.nibo2.drivers.Clock; import nanovm.nibo2.drivers.DistanceSensor; import nanovm.nibo2.drivers.GraphicDisplay; import nanovm.nibo2.drivers.Leds; import nanovm.util.Formatter; class Nibo2DistTest { public static void handleSensor(int sensor, int led){ int dist = DistanceSensor.getSensor(sensor); if (led!=Leds.FRONT_RIGHT) { GraphicDisplay.print(Formatter.format(dist, " %3d")); } if (dist<30) { Leds.setStatus(led, Leds.GREEN); } else if (dist<90) { Leds.setStatus(led, Leds.OFF); } else if (dist<150) { Leds.setStatus(led, Leds.ORANGE); } else { Leds.setStatus(led, Leds.RED); } } public static void main(String[] args) { GraphicDisplay.clear(); GraphicDisplay.gotoXY(20,10); GraphicDisplay.setProportional(true); GraphicDisplay.print("Distancesensor Test"); GraphicDisplay.setProportional(false); DistanceSensor.setEnabled(true); while(true) { DistanceSensor.update(); GraphicDisplay.gotoXY(0,40); handleSensor(DistanceSensor.RIGHT, Leds.RIGHT); handleSensor(DistanceSensor.RIGHT_FRONT, Leds.RIGHT_FRONT); handleSensor(DistanceSensor.FRONT, Leds.FRONT_LEFT); handleSensor(DistanceSensor.FRONT, Leds.FRONT_RIGHT); handleSensor(DistanceSensor.LEFT_FRONT, Leds.LEFT_FRONT); handleSensor(DistanceSensor.LEFT, Leds.LEFT); Clock.delayMilliseconds(100); } } }