Using ArduBlock
Ultrasound Distance Measurement
Chapter 2




ultrasound rule
Ardublock code : ultraSound.abp

Trigger (pin 19 or P2b0) and Echo (pin 18 or P2b1) :
nano-eCat pinout

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

I/O matrix settings

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 :

serialMonitor

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 :

nano-eCat
I/O Matrix
LCD Adapter
ArduinoNano
LCD 16x2
Ultrasound Sensor