Projects

Distance Measuring Device

#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);

String clear = "               ";

const int trigPin = 2;
const int echoPin = 3;
long duration;
int distance;
int cache_distance;

void setup() {
  pinMode(trigPin, OUTPUT);
  pinMode(echoPin, INPUT);

  Serial.begin(9600);
  lcd.init();
  lcd.clear();
  lcd.backlight();

  lcd.setCursor(6,0);
  lcd.print("ALOH");
  lcd.setCursor(3,1);
  lcd.print("technology");

  delay(2000);

  lcd.noBacklight();
  lcd.clear();
  delay(500);
  lcd.backlight();

  lcd.setCursor(0, 0);
  lcd.print("Distance: ");
  

}

void loop() {
  digitalWrite(trigPin, LOW);
  delayMicroseconds(2);

  digitalWrite(trigPin, HIGH);
  delayMicroseconds(10);
  digitalWrite(trigPin, LOW);
  duration = pulseIn(echoPin, HIGH);
  distance = duration * 0.0343 / 2;
  Serial.println(distance);

  //this check is to avoid screen flickering
  if(distance != cache_distance){
    lcd.setCursor(10, 0);
    lcd.print(clear);
    lcd.setCursor(10, 0);
    lcd.print(distance);
    lcd.print(" cm");
    cache_distance = distance;
  }
  

  delay(500);


}

Leave a Reply

Your email address will not be published. Required fields are marked *