Projekt 1.2 - Ovládej tlesknutím
3. Zvukový senzor
JAVA verze
import lejos.nxt.*;
public class zvuktest
{
// Nadefinujeme si třídu Lamp pro ovládání světel.
// Využijeme třídy MotorPort k ovládání světla.
// Konkrétně metodu controlMotor, která má parametry (power,mode).
// power - power from 0-100
// mode - 1=forward, 2=backward, 3=stop, 4=float
public static class Lamp {
// soukromé proměnné třídy:
private MotorPort _M = MotorPort.A;
private boolean _IsLighting;
// Konstruktor třídy:
public Lamp(MotorPort M) {
_M = M;
_M.controlMotor(0,1);
_IsLighting = false;
}
// Metoda zapni
public void On() {
_M.controlMotor(100,1);
_IsLighting = true;
}
// metoda vypni
public void Off() {
_M.controlMotor(0,1);
_IsLighting = false;
}
// metoda vracející stav lampy
public boolean IsLighting() {
return _IsLighting;
}
} // Konec třídy Lamp
// Hlavní program:
public static void main (String[] aArg)
throws Exception
{
// Vytvoříme novou instanci třídy SoundSensor
// na portu 1.
SoundSensor zvuk1 = new SoundSensor(SensorPort.S1);
// Vytvoříme novou instance třídy Lamp:
Lamp lampa = new Lamp(MotorPort.C);
// Čteme a zobrazujeme stav senzoru zvuk1:
while (true) {
LCD.clear();
if (zvuk1.readValue()> 40) {
lampa.On();
} else {
lampa.Off();
}
LCD.drawString("Hladina zvuku: " + zvuk1.readValue() + " %",0,2);
// Pokud stiskneme tlačítko ESCAPE, program skončí.
if (Button.ESCAPE.isPressed())
System.exit(1);
Thread.sleep(200);
} // Konec sekvence příkazů nekonečného cyklu
} // konec metody main
} // konec třídy