// Listing 6.11. Mechanizm tumaczcy PUMT  kod obsugujcy czujnik HC-SR04 napisany w C++

1	const int EchoPin = 3;  
2	const int PingPin = 4;  
3	
4	void setup()
5	{
6	   pinMode(PingPin,OUTPUT);
7	   pinMode(EchoPin,INPUT);
8	   Serial.begin(9600);
9	}
10	
11	void loop()
12	{
13	   long Cm;
14	   Cm = ping();
15	   Serial.println(Cm);
16	   delay(100);
17	}
18	
19	long ping()
20	{
21	   long Time, Distance;
22	   digitalWrite(PingPin, LOW);
23	   delayMicroseconds(2);
24	   digitalWrite(PingPin, HIGH);
25	   delayMicroseconds(10);
26	   digitalWrite(PingPin, LOW);
27	   Time = pulseIn(EchoPin, HIGH);
28	   Distance = microToCentimeters(Time);
29	   return Distance;
30	}
31	
32	long microToCentimeters(long Micro)
33	{
34	   long Cm;
35	   Cm = (Micro/2) / 29.1;
36	   return Cm;
37	}
