FORCE SENSOR حساس القوة
سوف نتعرف على حساس القوة Force Sensor و طريقة توصيله و قرأته عن طريق الاردوينو.
القطع المستخدمة

طبعا بالاضافة للأسلاك
قبل أن نبدأ بالتجربة سوف نتحدث قليلا عن مجس القوة
مجس القوة عبارة عن مقاومة متغيرة, تتغير قيمة هذه المقاومة حسب درجة الضغط عليها.
وهو أحد الحساسات التماثلية ANALOG و الذي يمكننا من معرفة مقدار الضغط المتولد على وحدة مساحة .
وحتى نستطيع ان نقرأ قيم هذا التغير عن طريق المنافذ التماثلية يجب ان يكون التغير الداخل على المنافذ التماثلية هو فولت متغير وليس مقاومة, وحتى نستطيع قراءة هذا النوع من الحساسات يجب ان نستخدم تقنية تسمى مقسم الجهد VOLTAGE DIVIDER.
لو فرضنا انه لدينا مصدر جهد Vcc و كان لدينا مقاومتين R1, R2 فإن تم توصيل المقاومتين على التوالي كما في الصورة التالية

فأن مقدار الفولت على المقاومة R2 تعطى بالقانون :

و مقدار الفولت على المقاومة R1 يساوي :

وهذا القانون من القوانين المهمة في الدوائر الكهربائية حيث من خلاله نستطيع إنتاج جهد اقل من مصدر الجهد لدينا بتغير قيمة المقاومات, ولكن في حالتنا هذه سنستخدمه لقراءة مقدار الفولت على حساس القوة .
وفي هذه الحالة سوف تكون R2 عبارة عن مجس القوة و R1 هي مقاومة ثابتة, فعندما نضغط على حساس القوة سوف تتغير مقاومته و من ثم تتغير قيمة الفولت بطريقة متساوية لتغير المقاومة وبهذا الطريقة نستطيع قراءة هذا النوع من المجسات التي تعتمد على تغير المقاومة.
طريقة التوصيل
اولا سوف نوصل اليد الى منفذ رقم 9 ثم نوصل احد اطراف المجس مع المنفذ الأرضي و الطرف الأخر للمجس مع احد أطراف مقاومة 10K و منفذ A0 للاردوينو و الطرف الأخر للمقاومة مع منفذ الـ 5 فولت كما في الصورة التالية.

وهذا الرسم بالشكل الهندسي

اما الكود فهو بسيط
سوف نقوم بطباعة قيمة التغير في المقامة عبر Serial monitor و تغير شدة إضاءة الليد بتغير الضغط على المجس.
نقوم بإعطاء منفذ 9 و A0 أسماء
ثم في دالة SETUP سوف نعرف منفذ 9 كمخرج و نقوم بتعريف السيريل منتور, اما في LOOP سوف نقوم بقراءة منفذ A0 عن طريق امر ANALOGREADS وتخزينه في متغير sensorvalue ثم سنحول هذه القيمة ال 255 عبر امر map وطباعتها عبر السيريل منتور و ارسالها الى ledpin عبر امر analogwirte واخر امر تأخير بقيمة 0.1 ثانية.
الكود كامل:
PHP:
///منتدى العلوم و الهندسة///
int ledPin = 9;
int sensorPin = A0;
int value;
///https://www.al-nassim.net///
void setup(){
pinMode(ledPin, OUTPUT);
///E.Mail:webmaster@altonji.net///
}
///Mob:+963935888592///
void loop(){
///Ahmad Altonji///
value = analogRead(sensorPin);
value = map(value, 1023, 0, 0, 255);
///Syria-Aleppo///
analogWrite(ledPin, value);
delay(100);
}
هذا الحساس و بالرغم من بساطته إلا أن له تطبيقات كثيرة في مجال الألعاب , الأجهزة الموسيقية , المعدات الطبية , و غيرها الكثير .
التعديل الأخير: