Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <Wire.h>
- #include <LiquidCrystal_I2C.h>
- LiquidCrystal_I2C lcd(0x27, 16, 2); // set the LCD address to 0x27 for a 16 chars and 2 line display
- #define motor 5
- #define buzzer 4
- #define trigger 2 //تعريف متغير بقيمة 1 لتوصيل طرف التريجر الخاص بالحساس
- #define echo 3 //تعريف متغير بقيمة 0 لتوصيل طرف إيكو الخاص بالحساس
- float the_time = 0, the_distance = 0; //تعريف متغيرين لتخزين الزمن والمسافة
- void setup() //دالة الإعداد وتنفذ مرة واحدة فقط فى بداية البرنامج
- { //كل الأوامر التالية بين القوسين ضمن هذه الدالة
- lcd.init();
- lcd.init();
- lcd.backlight();
- pinMode(buzzer, OUTPUT);
- pinMode(motor, OUTPUT);
- digitalWrite(buzzer, 0);
- digitalWrite(motor, 1);
- lcd.print(" Ultrasonic "); //أمر طباعة رسالة تعريفية للدائرة
- lcd.setCursor(0, 1);
- lcd.print(" Distance Meter");
- delay(2000);
- lcd.clear();
- lcd.print(" ARABS MAKERS ");
- delay(2000); //أمر انتظار ثانيتين
- lcd.clear(); //أمر مسح الشاشة
- }
- void loop() //دالة التكرار وتنفذ باستمرار طالما يوجد تغذية كهرباء للأردوينو
- {
- pinMode(trigger, OUTPUT); //تعريف طرف تريجر كخرج
- pinMode(echo, INPUT); //تعريف طرف إيكو كدخل
- digitalWrite(trigger, LOW); //إرسال صفر لطرف تريجر
- delayMicroseconds(2); //أمر انتظار 2 ميكرو ثانية
- digitalWrite(trigger, HIGH); //إرسال 1 لطرف تريجر لتفعيل الحساس لبدء إرسال نبضة
- delayMicroseconds(10);
- digitalWrite(trigger, LOW);
- delayMicroseconds(2);
- the_time = pulseIn(echo, HIGH); //دالة قراءة البيانات من طرف إيكو لاستخراج قيمة الزمن
- the_distance = the_time * 340 / 20000; //معادلة استخراج المسافة باستخدام الزمن
- lcd.clear();
- lcd.print("Distance:");
- lcd.setCursor(9, 0);
- lcd.print(the_distance); //طباعة المسافة بالمتر
- if (the_distance < 30) {
- lcd.setCursor(0, 1);
- lcd.print("Stop!!");
- digitalWrite(buzzer, 1);
- digitalWrite(motor, 0);
- }
- else {
- lcd.setCursor(0, 1);
- lcd.print(" ");
- digitalWrite(buzzer, 0);
- digitalWrite(motor, 1);
- }
- delay(100);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement