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