ما هي مستشعرات Arduino؟

Arduino هي منصة مفتوحة المصدر تُستخدم لإنشاء مشاريع إلكترونية مخصصة. قبل التعرف على مستشعرات Arduino دعنا نفهم أولاً المستشعرات كمصطلح عام.

أساسيات Arduino | تحميل، تثبيت وميزات

ما هي المستشعرات (Sensors)؟

يتم تعريف المستشعرات على أنها آلة أو وحدة نمطية أو جهاز يكتشف التغييرات في البيئة. تقوم المستشعرات بنقل هذه التغييرات إلى الأجهزة الإلكترونية في شكل إشارة.

يعمل المستشعر والأجهزة الإلكترونية دائمًا معًا. يمكن قراءة إشارة الخرج بسهولة من قبل البشر.

في الوقت الحاضر تُستخدم المستشعرات في الحياة اليومية. على سبيل المثال التحكم في سطوع المصباح عن طريق لمس قاعدته وما إلى ذلك. يتوسع استخدام المستشعرات مع التقنيات الجديدة.

مما يتكون المجس؟

المستشعر عبارة عن جهاز مكون من أحادي كريستال سيليكون. تعتبر مادة شبه موصلة مستخدمة على نطاق واسع. إنه يتمتع باستقرار ميكانيكي عالي وإمكانية تشغيل آلي وما إلى ذلك. ويمكنه أيضًا الجمع بين الإلكترونيات وعناصر الاستشعار على نفس الركيزة.

أين تستخدم المجسات؟

تستخدم المستشعرات لقياس الكميات الفيزيائية مثل الضغط ودرجة الحرارة والصوت والرطوبة والضوء وما إلى ذلك.

مثال على المستشعرات هو Fire Alarm كاشف موجود في إنذار الحريق يكتشف الدخان أو الحرارة. يتم إرسال الإشارة المتولدة من الكاشف إلى نظام الإنذار والذي ينتج تنبيهًا على شكل إنذار.

أنواع أجهزة الكشف هي أجهزة الكشف عن الدخان وأجهزة الكشف عن الحرارة وأجهزة الكشف عن أول أكسيد الكربون وأجهزة الكشف متعددة الاستشعار وما إلى ذلك.

كيف يتم استخدام المستشعرات في Arduino؟

تعمل إشارة البيانات من المستشعر إلى دبابيس الإخراج في Arduino. يتم تسجيل البيانات بشكل إضافي بواسطة Arduino.

سنناقش المزيد من أجهزة الاستشعار.

ما هي أنواع المستشعرات في Arduino؟

بعض أنواع المستشعرات في Arduino مذكورة أدناه:

مستشعر الضوء (Light sensor)

يستخدم مستشعر الضوء للتحكم في الضوء. يتم استخدامه مع LDR  (مقاوم يعتمد على الضوء) في Arduino.

أجهزة الاستشعار بالموجات فوق الصوتية (Ultrasonic sensor)

يستخدم جهاز الاستشعار بالموجات فوق الصوتية لتحديد مسافة الجسم باستخدام SONAR.

جهاز استشعار درجة الحرارة (Temperature sensor)

يستخدم مستشعر درجة الحرارة لاكتشاف درجة الحرارة المحيطة به.

جهاز استشعار الطرقة (Knock Sensor)

يستخدم مستشعر القرقعة لالتقاط اهتزازات الطرق. إنها فئة شائعة لمستشعر الاهتزاز.

مستشعر كشف الأجسام (Object Detection Sensor)

يتم استخدامه لاكتشاف الكائن عن طريق إصدار إشعاعات الأشعة تحت الحمراء ، والتي تنعكس أو ترتد إلى الخلف بواسطة هذا الكائن.

جهاز استشعار التتبع (Tracking Sensor)

يسمح للروبوتات باتباع مسار معين محدد عن طريق استشعار العلامات أو الخطوط على السطح.

مستشعر لمس معدني (Metal Touch Sensor)

وهي مناسبة لاكتشاف اللمسة البشرية.

مستشعر مستوى الماء (Water Level Sensor)

يتم استخدامه لقياس المياه أو عمق منسوب المياه. كما أنها تستخدم لاكتشاف التسربات في الحاويات.

استشعار الاهتزاز (Vibration Sensor)

يستخدم مستشعر الاهتزاز لقياس الاهتزازات.

مستشعر ضغط الهواء (Air Pressure sensor)

يرتبط بشكل شائع بالأرصاد الجوية والمجالات الطبية الحيوية. تبدو مثل الصورة أدناه:

مستشعرات Arduino

مستشعر النبض (Pulse Sensor)

يستخدم مستشعر النبض لقياس معدل النبض. تبدو مثل الصورة أدناه:

مستشعرات Arduino

Capacitive soil moisture sensor

يتم استخدامه لقياس مستوى رطوبة التربة.

جهاز استشعار الميكروفون (Microphone sensor)

يستخدم مستشعر الميكروفون في Arduino لاكتشاف الصوت. التناظرية والرقمية هما مخرجات هذه الوحدة. يرسل الإخراج الرقمي إشارة عالية عندما تصل شدة الصوت إلى حد معين. يمكننا ضبط حساسية الوحدة بمساعدة مقياس الجهد.

جهاز استشعار الرطوبة (humidity sensor)

يستخدم مستشعر الرطوبة لمراقبة الأحوال الجوية.

مستشعر الحركة

يكتشف مستشعر الحركة الحركة والإشغال من جسم الإنسان بمساعدة الأشعة تحت الحمراء.

مستشعر المجال المغناطيسي (Magnetic field sensor)

يقيس مستشعر المجال المغناطيسي قوة المجال المغناطيسي وينتج جهدًا متغيرًا مثل الناتج في Arduino.

اردوينو LDR

يستخدم مشروع Arduino LDR  (المقاوم المعتمد على الضوء) المقاوم الضوئي لإضاءة مؤشر LED. سوف يضيء مؤشر LED عندما يكون هناك ضوء غامق أو لا يوجد ضوء فوق المستشعر.

ما هو المقاوم الضوئي (photoresistor)؟

يتم تعريفه على أنه مقاوم يتم التحكم فيه بالضوء ، والذي يُطلق عليه أيضًا اسم LDR. إنه مقاوم متغير يتحكم في المقاومة وفقًا لشدة الضوء المستقبلة. وهذا يعني أن المقاومة تقل كلما زادت شدة الضوء.

لنبدأ بالمشروع.

المكونات المطلوبة للمشروع مذكورة أدناه:

ليد أحمر

المقاوم 220 أوم

المقاوم 10 كيلو أوم

لوحة اردوينو UNO R3

القفز الأسلاك

1 × مقاوم للضوء

يمكننا استخدام أي لون LED حسب اختيارنا.

هيكل المشروع موضح أدناه:

مستشعرات Arduino

كيف تحسب جهد الخرج باستخدام المقاوم الضوئي؟

يظهر هيكل المقاوم الضوئي أدناه:

مستشعرات Arduino

فيما يلي صيغة حساب جهد الخرج المظلم:

هنا R2 هي المقاومة المتصلة على التوالي مع المقاوم الضوئي = 10K أوم.

R1 هي مقاومة المقاوم الضوئي.

ملحوظة: المقاومة تتناقص مع زيادة الضوء. وبالتالي سيزداد جهد الخرج. هذا يعني أن جهد الخرج المحسوب عند الضوء سيكون أعلى من جهد الخرج المحسوب في الظلام.

هنا يحدد الظلام والضوء الضوء الساقط على المستشعر.

اتصال

تمت مناقشة اتصال المشروع أعلاه أدناه:

  • قم بتوصيل الجزء الموجب من مؤشر LED المتسلسل بالمقاوم ب pin 12 من لوحة Arduino.
  • ضع الجزء السالب من LED بالأرض.
  • قم بتوصيل حافة واحدة من المقاوم الضوئي بدبوس 5 فولت على لوحة Arduino.
  • ضع مقاومة 10 كيلو أوم في سلسلة مع حافة أخرى من المقاوم الضوئي وقم بتوصيلها بـ GND.
  • قم بتوصيل حافة المقاوم الضوئي بالدبوس التناظري A0.

ملاحظة: لقد قمنا بتوصيل LED فقط لتحسين المشروع. يمكننا أيضًا إنشاء المشروع بدون استخدام LED. لن يؤثر على الإخراج.

رسم

ضع في اعتبارك الكود أدناه:

const int LEDpin = 12;  
const int photoPIN = A0;  
    
void setup() {  
  // initializing the serial communication:  
  Serial.begin(9600);  
  pinMode(photoPIN, INPUT);  
  pinMode(LEDpin, OUTPUT);  
}  
void loop() {  
  // read the sensor:  
  int sensorStatus = analogRead(photoPIN);  
   // now, it will check the reading or status of the sensor is < 200  
  // if it is, LED will be HIGH  
  if (sensorStatus <200)  
  {  
    digitalWrite(LEDpin, HIGH); // LED is ON  
    Serial.println(" LED is ON, status of sensor is DARK");  
  }  
  else  
  {  
    digitalWrite(LEDpin, LOW);  
    Serial.println(" ***************");  
  }  
}  

مخطط الاتصال

يظهر مخطط الاتصال أدناه:

مستشعرات Arduino

انتاج:

سيظهر الإخراج على الشاشة التسلسلية على النحو التالي:

مستشعرات Arduino

مؤشر LED واحداً لأن هناك ظلامًا فوق المستشعر.

مقياس تسارع اردوينو (Arduino Accelerometer)

في هذا الموضوع سنناقش مشروعًا يعتمد على مقياس التسارع. ستتم قراءة القيمة من سلسلة مقياس التسارع واستلامها في الشاشة التسلسلية لـ Arduino IDE. هذا يعني أنه سيتم قراءة البيانات واستلامها عبر المنفذ التسلسلي.

سنستخدم مقياس تسارع ثلاثي المحاور يعطي تسارعًا لكل محور كجهد تناظري لدبابيس منفصلة.

سنستخدم سلسلة مقياس التسارع ADXL3xx. على سبيل المثال ADXL320 ، ADXL322 ، ADXL321 ، ADXL335 إلخ.

في هذا المشروع سنعمل مع مقياس التسارع ADXL335.

ما هو مقياس التسارع (Accelerometer)؟

مقياس التسارع هو الجهاز القادر على اكتشاف التغيرات في الحركة على شكل تسارع. يمكنه أيضًا قياس اهتزاز الهيكل.

يتم تعريف التسارع على أنه التغيير في السرعة أو السرعة بمرور الوقت.

توجد مستشعرات الحركة داخل مقياس التسارع.

كيف يعمل مقياس التسارع؟

يولد التسارع (التغيير في الحركة) أو الاهتزاز القوة التي تتسبب في إجهاد المادة الكهرضغطية. تخلق بنية البلورات المجهرية الموجودة فيه الجهد من الإجهاد. يفسر مقياس التسارع هذا الجهد. يستخدم الجهد كذلك لتحديد الاتجاه والسرعة.

استخدامات مقياس التسارع

استخدامات مقياس التسارع مذكورة أدناه:

يتم استخدامه للكشف عن الزلازل بسبب وجود مستشعر الحركة.

إنه موجود على الكمبيوتر المحمول مما يحمي محركات الأقراص الصلبة من التلف.

يتم استخدامه لإنشاء مشاريع مخصصة.

يمكنه تحديد حركات الجسم (صعودًا).

مقياس التسارع ADXL335

يظهر هيكل ADXL335 أدناه:

مستشعرات Arduino

سيتغير موضع المحاور الثلاثة (المحور X، المحور Y، والمحور Z) وفقًا لموضع مقياس التسارع ADXL335.

إذا وضعنا اللوحة في موضع مختلف فإن اتجاه المحاور الثلاثة سيتغير أيضًا. سيؤدي تحريك اللوحة في اتجاه معين إلى حدوث تغيير في جهد المحور المعني. يمكننا قياس الجهد المتغير على Arduino.

عندما نحمل اللوحة لأعلى ومستوية سيظهر التسارع المقاس 2^9.8m/s على المحور Z.

وتسمى أيضًا باسم الجاذبية. هنا:

أين G هي التسارع الناتج عن الجاذبية الأرضية.

حساسية مقياس التسارع ADXL335 هي:

قوة الجاذبية لكل وحدة ADC  (محول تناظري إلى رقمي) هي:

ذلك لأن المستشعرات تحتاج إلى 3.3 فولت لتعمل.

سيقرأ مقياس التسارع في حالة السكون نصف جهده التناظري الأقصى.

ملحوظة: تعمل بعض مقاييس التسارع عند 5 فولت بينما تعمل بعض مقاييس التسارع عند 3.3 فولت. نحتاج إلى التأكد من الجهد لأن مقياس التسارع 3.3 فولت قد يتضرر بمصدر 5 فولت.

لنبدأ المشروع.

الأجهزة مطلوبة

المكونات المطلوبة للمشروع مذكورة أدناه:

1 × تسارع  ADXL335

1 × اردوينو UNO R3

مبدأ

يمكننا توصيل مقياس التسارع مباشرة بالاردوينو. ذلك لأن مقياس التسارع يعمل على الحد الأدنى من التيار.

يحتوي Arduino UNO على ستة دبابيس تمثيلية. سيتم توصيل المسامير الثلاثة التناظرية بـ Vcc والاختبار الذاتي والدبوس الأرضي. سيتم استخدام المسامير التناظرية الثلاثة الأخرى لقراءة الإخراج التناظري لمقياس التسارع.

هيكل المشروع

هيكل المشروع موضح أدناه:

مستشعرات Arduino

اتصال

تم شرح اتصال المشروع أعلاه أدناه:

أوصل X من مقياس التسارع بالدبوس التمثيلي A3 بلوحة Arduino.

قم بتوصيل Y الخاص بجهاز التسارع بالدبوس التناظري A2 بلوحة Arduino.

قم بتوصيل X الخاص بجهاز التسارع بالدبوس التمثيلي A1 الموجود في لوحة Arduino.

ضع Vcc الخاص بجهاز التسارع بالدبوس التمثيلي A5 في لوحة Arduino.

قم بتوصيل GND الخاص بجهاز التسارع بالدبوس التمثيلي A4 في لوحة Arduino.

قم بتوصيل ST الخاص بجهاز التسارع بالدبوس التناظري Ao الخاص بلوحة Arduino.

رسم

سنقوم بتحميل الكود على Arduino المتصل بمقياس التسارع. يمكن رؤية الإخراج بوضوح على Serial Monitor في Arduino IDE.

ضع في اعتبارك الكود أدناه:

const int GND = A4;  
const int PowerPIN = A5;          
const int pinOfX = A3;                  
 const int pinOfY= A2;                  
const int pinOfZ= A1;   
void setup()  
{  
Serial.begin(9600);  
pinMode(GND , OUTPUT);     
pinMode(PowerPIN , OUTPUT);     
digitalWrite(GND , LOW);   // configuring the GND pin as LOW  
digitalWrite(PowerPIN , HIGH); // configuring the power pin HIGH (5V/3.3V)  
}  
void loop()  
{  
   // It prints the values of the sensors  
Serial.print(analogRead(pinOfX));   // print a tab between values:     
Serial.print("\t");    
 Serial.print(analogRead(pinOfY));     
Serial.print("\t");     
Serial.print(analogRead(pinOfZ));     
Serial.println();   // It delays before next reading  
delay(100);   
}  

جهاز استشعار المسافة بالموجات فوق الصوتية اردوينو (Ultrasonic distance sensor)

يستخدم مستشعر الموجات فوق الصوتية أو HC-SRO4 لقياس مسافة الجسم باستخدام SONAR.

يصدر الموجات فوق الصوتية بتردد 40 كيلو هرتز أو 40000 هرتز. ينتقل التردد عبر الهواء ويضرب الجسم في مساره. ترتد الأشعة مرة أخرى من الكائن وتصل إلى الوحدة النمطية.

المحطات الأربعة لـ HC-SRO4 هي VCC و TRIG و ECHO و GND. مصدر الجهد أو VCC هو  5V أو أکثر. يمكننا توصيل محطة ECHO و TRIG بأي من منافذ الإدخال / الإخراج الرقمية الموجودة على لوحة Arduino المحددة.

تعمل أجهزة الاستشعار بالموجات فوق الصوتية بشكل أفضل مع النطاقات المتوسطة.

ال resolution 0.3 سم.

المدى المتوسط من المستشعر هو 10 سم إلى 3 م. يعمل بشكل أفضل في هذه المدة.

أقصى مدى قد يكتشفه المستشعر هو 4.5 متر.

كيف يعمل جهاز الاستشعار بالموجات فوق الصوتية؟

دعونا نفهم كيف يعمل المستشعر.

يرسل عينات فائقة التردد.

عندما تصطدم العينات بالجسم فإنه يرتد عن الجسم.

يقوم مستشعر المسافة بالإبلاغ عن الوقت المستغرق بين إرسال العينات واستلامها.

لنفكر في مثال.

كائن على بعد 40 سم من جهاز الاستشعار بالموجات فوق الصوتية. سرعة الصوت في الهواء 340 م / ث. نحن بحاجة إلى حساب الوقت (بالميكرو ثانية).

الحل:

v = 340m/s = 0.034cm/us (centimeter/microseconds)
time = distance/speed
time = 40/0.034
time = 1176 microseconds

ستتضاعف سرعة الصوت الصادر من دبوس الصدى لأن الموجة تنتقل للأمام وللخلف (ترتد).

لذلك لحساب المسافة نحتاج إلى تقسيمها على 2. كما هو موضح أدناه:

distance = time x speed of sound/2
distance = time x 0.034/2

هيكل جهاز الاستشعار بالموجات فوق الصوتية

يظهر هيكل HC-SRO4 أدناه:

مخطط توقيت الاستشعار بالموجات فوق الصوتية

مخطط توقيت الاستشعار بالموجات فوق الصوتية

سنضبط الدبوس TRIG على HIGH لبعض الوقت (حوالي 3 إلى 100 ميكروثانية). بمجرد أن يكون دبوس TRIG منخفضًا يرسل المستشعر بالموجات فوق الصوتية النبضات ويضبط دبوس ECHO على HIGH. عندما يحصل المستشعر على النبضات المنعكسة فإنه يضبط دبوس ECHO على LOW. نحتاج إلى قياس الوقت الذي كان فيه دبوس ECHO مرتفعًا.

يظهر الرسم التخطيطي لتوقيت حساس الموجات فوق الصوتية HC-SRO4 أدناه:

لنبدأ في إنشاء مستشعر Arduino بالموجات فوق الصوتية لقياس المسافة.

الأجهزة مطلوبة

المكونات المطلوبة لإنشاء المشروع مذكورة أدناه:

لوحة Arduino UNO R3  (يمكننا أيضًا استخدام أي لوحة Arduino)

القفز الأسلاك

جهاز استشعار بالموجات فوق الصوتية HC-SRO4

Breadboard

مبدأ

نحتاج أولاً إلى ضبط دبوس TRIG  (المشغل) عند HIGH. سيرسل دفعة من 8 دورات تسمى الانفجار الصوتي والتي ستنتقل بسرعة الصوت. سيتم استلامه أيضًا بواسطة دبوس ECHO. يعتبر الوقت الذي تقطعه الموجة الصوتية وقت إخراج دبوس ECHO بالميكروثانية.

سنستخدم دالة PulseIn لقراءة الوقت من إخراج دبوس ECHO. سينتظر الدبوس المحدد ليصبح مرتفعًا ومنخفضًا. ستعيد الدالة التوقيت في النهاية.

تم ضبط الدبوس TRIG على LOW لمدة 4 ميكروثانية ثم على HIGH لمدة 15 ميكروثانية.

سيتم حساب التوقيت بالميكروثانية.

إجراء

فيما يلي خطوات توصيل جهاز الاستشعار بالموجات فوق الصوتية باللوحة:

قم بتوصيل دبوس VCC الخاص بـ HC-SRO4 إلى 5V بلوحة Arduino

قم بتوصيل دبوس GND الخاص بـ HC-SRO4 بـ GND بلوحة Arduino.

ضع دبوس TRIG الخاص بـ HC-SRO4 بالدبوس 6 من لوحة Arduino.

قم بتوصيل دبوس ECHO الخاص بـ HC-SRO4 بالدبوس 5 من لوحة Arduino.

رسم

ضع في اعتبارك الكود أدناه:

#define ECHOpin 5 // it defines the ECHO pin of the sensor to pin 5 of Arduino  
#define TRIGpin 6   
// we have defined the variable  
long duration; // variable for the duration of sound wave travel  
int distance; // variable for the distance measurement  
void setup()   
{  
  pinMode(TRIGpin, OUTPUT); // It sets the ECHO pin as OUTPUT  
  pinMode(ECHOpin, INPUT); // It sets the TRIG pin as INPUT  
  Serial.begin(9600); // // Serial Communication at the rate of 9600 bps  
  Serial.println("Test of the Ultrasonic Sensor HC-SR04"); // It will appear on Serial Monitor  
  Serial.println("with the Arduino UNO R3 board");  
}  
void loop()   
{  
  // It first sets the TRIG pin at LOW for 2 microseconds  
  digitalWrite(TRIGpin, LOW);  
  delayMicroseconds(4);  
  // It now sets TRIG pin at HIGH for 15 microseconds  
  digitalWrite(TRIGpin, HIGH);  
  delayMicroseconds(15);  
  digitalWrite(TRIGpin, LOW);  
  // It will read the ECHO pin and will return the time   
  duration = pulseIn(ECHOpin, HIGH);  
  // distance formula  
  distance = duration*(0.034/2); // (speed in microseconds)  
  // Speed of sound wave (340 m/s)divided by 2 (forward and backward bounce)  
  // To display the distance on Serial Monitor  
  Serial.print("Distance: ");  
  Serial.print(distance);  
  Serial.println(" cm"); //specified unit of distance  
}  

خطوات تحميل الكود على المشروع

الخطوات مذكورة أدناه:

افتح Arduino IDE.

حدد نوع اللوحة من Tools -> Board -> Arduino UNO.

حدد المنفذ من Tools -> Port -> COM..

قم بتحميل الرسم التخطيطي إلى مخطط الاتصال.

مخطط الاتصال

يظهر مخطط الاتصال أدناه:

يظهر مخطط الاتصال أدناه:

انتاج:

سيظهر الإخراج على الشاشة التسلسلية على النحو التالي:

المصادر

الأول
الثاني
الثالث
الرابع

منشور ذات صلة
2 Minutes

السيارات الهجينة

حيدر كنعاني

ماهی السیارات الهجینه (Hybrid Electrical Vehicles) يتم تشغيل السيارات الكهربائية الهجينة بواسطة محرك احتراق داخلي […]

CATIA 7 Minutes

برنامج كاتيا| تعلم الأساسيات في ساعة واحدة

أمير مقدم

يعد فهم كيفية التنقل الفعال واستخدام تطبيقات برامج CAD مع عدد كبير من الميزات والأدوات مثل CATIA أمرًا صعبًا للغاية. لتسهيل منحنى التعلم ، يقوم Scan2CAD بإنشاء أدلة شاملة من شأنها أن تساعد في تعريفك بأساسيات تطبيقات برامج CAD في ساعة واحدة فقط.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *

السلة