int ultraSoundSignal = 7; // Ultrasound signal pin int val = 0; int ultrasoundValue = 0; int timecount = 0; // Echo counter int ledPin1 = 13; // LED at digital pin 13 int ledPin2 = 10; // LED at digital pin 10 int ledPin3 = 12; // LED at digital pin 12 void setup() { beginSerial(9600); // Sets the baud rate to 9600 pinMode(ledPin1, OUTPUT); // Sets the digital pin 13 as output pinMode(ledPin2, OUTPUT); // Sets the digital pin 10 as output pinMode(ledPin3, OUTPUT); // Sets the digital pin 12 as output } void loop() { timecount = 0; val = 0; pinMode(ultraSoundSignal, OUTPUT); // Switch signalpin to output /* Send low-high-low pulse to activate the trigger pulse of the sensor * ------------------------------------------------------------------- */ digitalWrite(ultraSoundSignal, LOW); // Send low pulse delayMicroseconds(2); // Wait for 2 microseconds digitalWrite(ultraSoundSignal, HIGH); // Send high pulse delayMicroseconds(5); // Wait for 5 microseconds digitalWrite(ultraSoundSignal, LOW); // Holdoff /* Listening for echo pulse * ------------------------------------------------------------------- */ pinMode(ultraSoundSignal, INPUT); // Switch signalpin to input val = digitalRead(ultraSoundSignal); // Append signal value to val while(val == LOW) { // Loop until pin reads a high value val = digitalRead(ultraSoundSignal); } while(val == HIGH) { // Loop until pin reads a high value val = digitalRead(ultraSoundSignal); timecount = timecount +1; // Count echo pulse time } /* Writing out values to the serial port * ------------------------------------------------------------------- */ ultrasoundValue = timecount; // Append echo pulse time to ultrasoundValue serialWrite('A'); // Example identifier for the sensor printInteger(ultrasoundValue); serialWrite(10); serialWrite(13); serialWrite(12); /* Lite up LED if the timevalues passed by the echo pulse (distances mesured an compared as dispayed on the serial monitor) * ------------------------------------------------------------------- */ //LED1 ON, Pin13, distances 70cm - 85cm \\"Use conversion factor of 6.6896" if((timecount < 568) && (timecount > 468)){ digitalWrite(ledPin1, HIGH); } else { digitalWrite(ledPin1, LOW); } //LED2 ON, Pin10, distance 15cm - 30cm if((timecount < 200) && (timecount > 100)){ digitalWrite(ledPin2, HIGH); } else { digitalWrite(ledPin2, LOW); } //LED2 ON, Pin10, distance 31cm - 69cm if((timecount < 461) && (timecount > 207)){ digitalWrite(ledPin3, HIGH); } else { digitalWrite(ledPin3, LOW); } /* Delay of program * ------------------------------------------------------------------- */ delay(100); }