مؤشر مستوى الضغط Pressure Sensor باستخدام اردوينو اكتب تعليقُا

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

شرح فكرة المشروع

  • في هذا المشروع، سنقوم بانجاز مؤشر لمستوى ضغط الهواء باستخدام اردوينو
  • يمكن أن يعمل حساس الضغط عن طريق توصيل خرطوم قطره 2.5 مم.
  • يقوم اردوينو بترجمة هذه النبضات، وعرض منحنى البيانات على شاشة Serial Plotter
  • لفتح نافذة Serial Plotter اختر Tools ثم Serial Plotter

ادوات المشروع

مخطط المشروع

طريقة توصيل الادوات مع أردوينو

حساس مستوى الضغط:

OUT -> 2

SCK -> 3

VCC -> 5V

GND -> GND

الكود البرمجي

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

const int HX_OUT_PIN = 2;
const int HX_SCK_PIN = 3;

enum HX_MODE { NONE, DIFF_10Hz, TEMP_40Hz, DIFF_40Hz};
const byte HX_MODE = DIFF_40Hz;

void setup() {
pinMode(HX_SCK_PIN, OUTPUT);
pinMode(HX_OUT_PIN, INPUT);
Serial.begin(9600);
}

void loop() {
Serial.println(readHX());
}

unsigned long readHX() {

// pulse clock line to start a reading
for (char i = 0; i < HX_MODE; i++) {
digitalWrite(HX_SCK_PIN, HIGH);
digitalWrite(HX_SCK_PIN, LOW);
}

// wait for the reading to finish
while (digitalRead(HX_OUT_PIN)) {}

// read the 24-bit pressure as 3 bytes using SPI
byte data[3];
for (byte j = 3; j–;) {
data[j] = shiftIn(HX_OUT_PIN, HX_SCK_PIN, MSBFIRST);
}

data[2] ^= 0x80; // see note

// shift the 3 bytes into a large integer
long result;
result += (long)data[2] << 16;
result += (long)data[1] << 8;
result += (long)data[0];

return result;
}

اترك تعليقاً

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