Ultrasonic Sensor & LCD I2C | Automatic Distance Measurement

-CODE
//Ultrasonic Sensor Distance Measurement
// تحديد البن المتصل بـ TRIG
const int trigPin = 9;
// تحديد البن المتصل بـ ECHO
const int echoPin = 10;
// متغير لتخزين زمن رجوع الموجة
long duration;
// متغير لتخزين المسافة
float distance;
void setup() {
// جعل TRIG مخرج
pinMode(trigPin, OUTPUT);
// جعل ECHO مدخل
pinMode(echoPin, INPUT);
// تشغيل Serial Monitor
Serial.begin(9600);
}
void loop() {
// التأكد من أن TRIG في وضع LOW
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// إرسال نبضة لمدة 10 ميكروثانية
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// قراءة زمن رجوع الموجة
duration = pulseIn(echoPin, HIGH);
// حساب المسافة بالسنتيمتر
distance = duration * 0.0343 / 2;
// طباعة المسافة
Serial.print("Distance = ");
Serial.print(distance);
Serial.println(" cm");
delay(200);
}
// تحديد البن المتصل بـ TRIG
const int trigPin = 9;
// تحديد البن المتصل بـ ECHO
const int echoPin = 10;
// متغير لتخزين زمن رجوع الموجة
long duration;
// متغير لتخزين المسافة
float distance;
void setup() {
// جعل TRIG مخرج
pinMode(trigPin, OUTPUT);
// جعل ECHO مدخل
pinMode(echoPin, INPUT);
// تشغيل Serial Monitor
Serial.begin(9600);
}
void loop() {
// التأكد من أن TRIG في وضع LOW
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
// إرسال نبضة لمدة 10 ميكروثانية
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// قراءة زمن رجوع الموجة
duration = pulseIn(echoPin, HIGH);
// حساب المسافة بالسنتيمتر
distance = duration * 0.0343 / 2;
// طباعة المسافة
Serial.print("Distance = ");
Serial.print(distance);
Serial.println(" cm");
delay(200);
}
//Ultrasonic Sensor Distance Measurement lcd i2c
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int trigPin = 9;
const int echoPin = 10;
long duration;
float distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.init();
lcd.backlight();
}
void loop() {
// إرسال نبضة
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// قراءة الزمن
duration = pulseIn(echoPin, HIGH);
// حساب المسافة
distance = duration * 0.0343 / 2;
// عرض البيانات على الشاشة
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(0, 1);
lcd.print(distance, 1); // رقم عشري واحد
lcd.print(" CM");
delay(200);
}
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 16, 2);
const int trigPin = 9;
const int echoPin = 10;
long duration;
float distance;
void setup() {
pinMode(trigPin, OUTPUT);
pinMode(echoPin, INPUT);
lcd.init();
lcd.backlight();
}
void loop() {
// إرسال نبضة
digitalWrite(trigPin, LOW);
delayMicroseconds(2);
digitalWrite(trigPin, HIGH);
delayMicroseconds(10);
digitalWrite(trigPin, LOW);
// قراءة الزمن
duration = pulseIn(echoPin, HIGH);
// حساب المسافة
distance = duration * 0.0343 / 2;
// عرض البيانات على الشاشة
lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Distance:");
lcd.setCursor(0, 1);
lcd.print(distance, 1); // رقم عشري واحد
lcd.print(" CM");
delay(200);
}
-CIRCUIT DIAGRAM


-COMPONENTS
• Arduino Uno R3
https://www.gravityelectronic.com/shop/arduino-uno-r3-clone-original-chips-cable-30-cm-14248
• LCD 16x2 I2C
Module https://www.gravityelectronic.com/shop?search=LCD%2016x2%20I2C
• Breadboard (830 Points)
https://www.gravityelectronic.com/shop/breadboard-830-point-not-split-power-rails-13419
• Ultrasonic Sensor HC-SR04
https://www.gravityelectronic.com/shop?search=HC-SR04
• Jumper Wires
https://www.gravityelectronic.com/shop/jumper-wires
-LIBRARY
https://github.com/johnrickman/LiquidCrystal_I2C