مواجهة مستشعر بيزو الكتريك Piezo electric مع اردوينو اكتب تعليقُا

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

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

  • في هذا المشروع، سيتم توضيح كيفية استخدام حساس بيزو (Piezo) الذي يمكن ان يستعمل في كشف الضغط.
  • يولّد الحساس جهدًا عندما يتعرض للضغط.
  • وبالمثل، عند وضع جهد بين طرفي الحساس، ينضغط وينشئ نغمة.
  • إذا كان الجهد المخرج للحساس أعلى من عتبة معينة بسبب تعرضه لضغط معين، فستظهر على نافذة Serial Monitor عبارة “Knock”
  • لفتح نافذة Serial Monitor، اختر Tools ثم Serial Monitor

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

  • اردوينو اونو مع سلك توصيل Arduino Uno: عدد 1
  • مستشعر بيزو الكتريك عرض 25 ملم humidifying ceramic plate: عدد 1
  • لوح تجارب 400 نقطة لون ابيض Solderless Breadboard: عدد 1
  • عدد 1 مقاومة 1 ميغا أوم بقدرة 1 واط Metal Oxide Film Resistor: عدد 1 
  • أسلاك توصيل من ذكر إلى ذكر 40 دبوس 20 سم wires 40pcs Male to male

مخطط المشروع

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

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

const int ledPin = 13; // LED connected to digital pin 13
const int knockSensor = A0; // the piezo is connected to analog pin 0
const int threshold = 100; // threshold value to decide when the detected sound is a knock or not

// these variables will change:
int sensorReading = 0; // variable to store the value read from the sensor pin
int ledState = LOW; // variable used to store the last LED status, to toggle the light

void setup() {
pinMode(ledPin, OUTPUT); // declare the ledPin as as OUTPUT
Serial.begin(9600); // use the serial port
}

void loop() {
// read the sensor and store it in the variable sensorReading:
sensorReading = analogRead(knockSensor);

// if the sensor reading is greater than the threshold:
if (sensorReading >= threshold) {
// toggle the status of the ledPin:
ledState = !ledState;
// update the LED pin itself:
digitalWrite(ledPin, ledState);
// send the string “Knock!” back to the computer, followed by newline
Serial.println(“Knock!”);
}
delay(100); // delay to avoid overloading the serial port buffer
}

اترك تعليقاً

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