Using ArduBlock
Ultrasound
Distance Measurement
Chapter
2

Ardublock code :
ultraSound.abp
Trigger (pin 19
or P2b0) and Echo (pin 18 or P2b1) :

I/O matrix
settings for Trigger (pin 19 or P2b0) and Echo (pin 18 or
P2b1) :

Direct translated code from Ardublock :
int _ABVAR_1_ultrasons;
int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin){
int duration;
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(5);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
duration = duration / 59;
return duration;
}
void setup(){
digitalWrite( 19 , LOW );
Serial.begin(9600);
_ABVAR_1_ultrasons = 0;
}
void loop(){
_ABVAR_1_ultrasons = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 19 , 18 ) ;
delay( 200 );
Serial.print( "Dist :" );
Serial.print( _ABVAR_1_ultrasons );
Serial.println("");
}
Through Serial
Monitor :

nano-eCat's P1
is free to connect an LCD board. This is the modified code to attach an LCD viewer :
#include <LiquidCrystal.h>
LiquidCrystal lcd(16, 17, 4,5, 6, 7);
int _ABVAR_1_ultrasons;
int ardublockUltrasonicSensorCodeAutoGeneratedReturnCM(int trigPin, int echoPin){
int duration;
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(5);
digitalWrite(trigPin, LOW);
duration = pulseIn(echoPin, HIGH);
duration = duration / 59;
return duration;
}
void setup(){
lcd.begin(16, 2);
lcd.print("electronics.cat");
digitalWrite( 19 , LOW );
Serial.begin(9600);
_ABVAR_1_ultrasons = 0;
}
void loop(){
_ABVAR_1_ultrasons = ardublockUltrasonicSensorCodeAutoGeneratedReturnCM( 19 , 18 ) ;
delay( 200 );
Serial.print( "Dist :" );
Serial.print( _ABVAR_1_ultrasons );
Serial.println("");
lcd.setCursor(0, 1);
lcd.print("Dist. : "); lcd.print(_ABVAR_1_ultrasons); lcd.print(" cm ");
}
Involved boards :