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

فتاوى الشيخ محمد علي فركوس - رمضانيات-

  البوابة الجزائرية الأوفر الأسهل وبتصفح أمن من دون أي اعلانات (ششار أورنج السياحة المجانية )  
   

~~~ بسم الله وحده والصلاة والسلام على من لا نبي بعده وبعد : يسر إدارة منتديات ششار من العرب وللعرب أن تدعو منتسبيها الأفاضل للعمل على ابراز مساهماتهم البناءة وتكثيف المواضيع وتبادل الردود لبناء هذا الصرح { أي صرحكم } ودفعه مجددا للريادة والشموخ والجدية في العمل الصالح والنفع العام . قال تعال : يَا أَيُّهَا الَّذِينَ آَمَنُوا اتَّقُوا اللَّهَ وَلْتَنْظُرْ نَفْسٌ مَا قَدَّمَتْ لِغَدٍ وَاتَّقُوا اللَّهَ إِنَّ اللَّهَ خَبِيرٌ بِمَا تَعْمَلُونَ (18) سورة الحشر |


العودة   منتديات ششار الجزائرية من العرب وللعرب > ركن البرمجة > منتدى الحاكمات الدقيقة Microcontroller


منتدى الحاكمات الدقيقة Microcontroller منتدى الحاكمات الدقيقة Microcontroller

مواضيع مختارة

إضافة رد
انشر الموضوع
 
أدوات الموضوع انواع عرض الموضوع
  رقم المشاركة : ( 1 )  
قديم 05-11-2018, 11:18 PM
الصورة الرمزية أبو سَلْمَانُ بلال
 
أبو سَلْمَانُ بلال
[مؤسـس شبكة ششار ]

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو
  أبو سَلْمَانُ بلال غير متواجد حالياً  
الملف الشخصي
رقــم العضويـــة : 1
تـاريخ التسجيـل : Nov 2006
الــــــــجنــــــس :  Male
الـــــدولـــــــــــة : الجزائر
المشاركـــــــات : 2,857 [+]
عدد الـــنقــــــاط : 1274
قوة التـرشيــــح : أبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud of
افتراضي الكود البرمجي الخاص بـ Interfacing MQ2 to Arduino

هنا : ملفي الشخصي


بسم الله الرحمن الرحيم
الكود البرمجي الخاص بـ Interfacing MQ2 to Arduino
Gas sensor Arduino Code



كود:
/*******
 
 All the resources for this project:
 http://randomnerdtutorials.com/

*******/

int redLed = 12;
int greenLed = 11;
int buzzer = 10;
int smokeA0 = A5;
// Your threshold value
int sensorThres = 400;

void setup() {
  pinMode(redLed, OUTPUT);
  pinMode(greenLed, OUTPUT);
  pinMode(buzzer, OUTPUT);
  pinMode(smokeA0, INPUT);
  Serial.begin(9600);
}

void loop() {
  int analogSensor = analogRead(smokeA0);

  Serial.print("Pin A0: ");
  Serial.println(analogSensor);
  // Checks if it has reached the threshold value
  if (analogSensor > sensorThres)
  {
    digitalWrite(redLed, HIGH);
    digitalWrite(greenLed, LOW);
    tone(buzzer, 1000, 200);
  }
  else
  {
    digitalWrite(redLed, LOW);
    digitalWrite(greenLed, HIGH);
    noTone(buzzer);
  }
  delay(1000);
}
توقيع » أبو سَلْمَانُ بلال


رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ


آخر تعديل بواسطة أبو سَلْمَانُ بلال ، 05-11-2018 الساعة 11:36 PM
رد مع اقتباس
قديم 05-11-2018, 11:21 PM   رقم المشاركة : ( 2 )
أبو سَلْمَانُ بلال
[مؤسـس شبكة ششار ]

الصورة الرمزية أبو سَلْمَانُ بلال

الملف الشخصي
رقــم العضويـــة : 1
تـاريخ التسجيـل : Nov 2006
الــــــــجنــــــس :  Male
الـــــدولـــــــــــة : الجزائر
المشاركـــــــات : 2,857 [+]
عدد الـــنقــــــاط : 1274
قوة التـرشيــــح : أبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud of

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

أبو سَلْمَانُ بلال غير متواجد حالياً

افتراضي رد: الكود البرمجي الخاص بـ Interfacing MQ2 to Arduino



كود:

#include<math.h>
//The number of points marked on the curves in data sheets
#define POINTS 9
//Variables Details
//Ro is the resistance of sensor in clean air(Run the following code in clean air for finding Ro and take the value of Resistance in the serial monitor)
//Rs is the resistance of the sensor when exposed to a perticular Gas
//R1 is the resistance of Resistor connected in series with sensor on the sensor module(Potentiometer connected between Sensor and ground, just find the resistance between the Vout( or Sig) pin and ground)
//The following code has lookup tables for LPG, to find the concentration of other gasses change the values in ltx and lty array




//Find and change Ro by Running the following code in clean air, and R1 using a multimeter
float Ro = 98800, Vref = 5.0, R1 = 7700;
// Change the following values for different gasses from the corresponding curves from datasheet
//The following valure are corresponding X and Y coordinate values for the marked points on curves

float ltx[POINTS] = {200, 500, 800, 1000, 1600, 2000, 3000, 5000, 10000};
float lty[POINTS] = {1.67, 1.11, 0.88, 0.78, 0.64, 0.56, 0.46, 0.36, 0.26};
//loop control variables
int counter1, counter2;
int temp;
int rawAnalogValue[100];      
void setup() {
  // Initializing serial port
  Serial.begin(9600);  
}
void loop() {
  float gasConcentration, Vs, Rs, slope, Y, Yo, Xo;
  // read 100 Values from analog Port and store it in raw array
  for(counter1=0; counter1<100; counter1++){
    rawAnalogValue[counter1]=analogRead(A0);      
  }
  //Find the median value
  //Sort the 100 values and find the median value
  for(counter1=0; counter1<100; counter1++){      
    for(counter2=0; counter2<100-counter1-1; counter2++){      
        if(rawAnalogValue[counter2]<rawAnalogValue[counter2+1]){
          temp=rawAnalogValue[counter2];      
          rawAnalogValue[counter2]=rawAnalogValue[counter2+1];      
          rawAnalogValue[counter2+1]=temp;      
        }
    }
  }
  //The middle value of the sorted values gives median
  Vs = Vref - rawAnalogValue[50] * Vref / 1024.0;
  Serial.print("Voltage: ");
  Serial.println(Vs);
  //Find Resistance of the sensor
  Rs = (R1 * Vs) / (Vref - Vs);
  Serial.print("Resistance: ");
  Serial.println(Rs);
  //Find the Rs/Ro Ratio
  Y = Rs / Ro;
  Serial.print("RS/RO: ");
  Serial.println(Y);
  Serial.print("Concentration: ");
  //Find the slope and Initial Values usiong the ratio
  slope = find_slope(Y);
  Xo = find_Xo(Y);
  Yo = find_Yo(Y);
  //Find the concentration and Limit the Output to MQ2's range
  gasConcentration = Xo * pow(Y / Yo, slope);
  if (gasConcentration > 10000.00) {
    gasConcentration = 10000.00;
  }
  else if (gasConcentration < 200.00) {
    gasConcentration = 200.00;
  }
  Serial.println(gasConcentration);
  delay(100);
}
float find_slope(float y) {
  for (counter1 = 0; counter1 < POINTS-1; counter1++) {
    if (y < lty[counter1] && y > lty[counter1 + 1]) {
      break;
    }
  }
  if (y > lty[0]) {
    counter1=0;
  }
  if (counter1 >= POINTS-1) {
    counter1 = POINTS-2;
  }
  return log(lty[counter1 + 1] / lty[counter1]) / log(ltx[counter1 + 1] / ltx[counter1]);
}
float find_Xo(float y) {
  for (counter1 = 0; counter1 < POINTS-1; counter1++) {
    if (y < lty[counter1] && y > lty[counter1 + 1]) {
      break;
    }
  }
  if (y > lty[0]) {
    counter1=0;
  }
  if (counter1 >= POINTS-1) {
    counter1 = POINTS-2;
  }
  return ltx[counter1];
}
float find_Yo(float y) {
  for (counter1 = 0; counter1 < POINTS-1; counter1++) {
    if (y < lty[counter1] && y > lty[counter1 + 1]) {
      break;
    }
  } 
  if (y > lty[0]) {
    counter1=0;
  }
  if (counter1 >= POINTS-1) {
    counter1 = POINTS-2;
  }
  return lty[counter1];
}
توقيع » أبو سَلْمَانُ بلال


رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ

  رد مع اقتباس
قديم 05-11-2018, 11:37 PM   رقم المشاركة : ( 3 )
أبو سَلْمَانُ بلال
[مؤسـس شبكة ششار ]

الصورة الرمزية أبو سَلْمَانُ بلال

الملف الشخصي
رقــم العضويـــة : 1
تـاريخ التسجيـل : Nov 2006
الــــــــجنــــــس :  Male
الـــــدولـــــــــــة : الجزائر
المشاركـــــــات : 2,857 [+]
عدد الـــنقــــــاط : 1274
قوة التـرشيــــح : أبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud ofأبو سَلْمَانُ بلال has much to be proud of

 الأوسمة و جوائز
 بينات الاتصال بالعضو
 اخر مواضيع العضو

أبو سَلْمَانُ بلال غير متواجد حالياً

افتراضي رد: الكود البرمجي الخاص بـ Interfacing MQ2 to Arduino



كود:
/* theorycircuit.com */
/* this code can be used for MQ2,MQ5,MQ-xx series Sensors*/
int mqxx_analogPin = A0; // connected to the output pin of MQ-xx 

void setup(){
  Serial.begin(9600); // open serial at 9600 bps
}

void loop()
{
  // give ample warmup time for readings to stabilize

  int mqxx_value = analogRead(mqxx_analogPin);
  Serial.println(mqxx_value);

  delay(1000); //Just here to slow down the output.
}
توقيع » أبو سَلْمَانُ بلال


رَبَّنَا اغْفِرْ لِي وَلِوَالِدَيَّ وَلِلْمُؤْمِنِينَ يَوْمَ يَقُومُ الْحِسَابُ

  رد مع اقتباس
إضافة رد

العلامات المرجعية

العبارات الدليلة (Tags)
arduino, code, gas, interfacing, mq2, sensor

أدوات الموضوع
انواع عرض الموضوع

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

رمز [IMG] : متاحة
رمز HTML : معطلة

الانتقال السريع

المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات المشاركة الأخيرة
آردوينو (بالإنجليزية: Arduino) أبو سَلْمَانُ بلال منتدى الحاكمات الدقيقة Microcontroller 0 06-09-2017 03:28 AM


الدول التي زارت الشبكة
فريق إدارة منتديات ششار :::::::::: لا يتحمّل منتديات ششار الجزائرية أيّة مسؤوليّة عن المواضيع الّتي يتم عرضها و/أو نشرها في المنتدى. ويتحمل المستخدمون بالتالي كامل المسؤولية عن كتاباتهم وإدرجاتهم التي تخالف القوانين أو تنتهك حقوق الملكيّة أو حقوق الآخرين أو أي طرف آخر. :::::::::::::: الموقع لا يمثل أي جمعية أو جماعة وإنما يهدف إلى تقديم خدمة ::::::::::::::: بالتوفيق فريق إدارة منتديات ششار
•• مواقع صديقة ••
www.dzsecurity.com - www.himaia.com - www.gcmezdaouet.com - www.dypix.com
منتديات ششار الجزائرية  من العرب وللعرب


Powered by vBulletin™ Version 3.8.7
Copyright © 2018 vBulletin Solutions, Inc. All rights reserved.
˙·0•● جميع الحقوق محفوظة لمنتديات ششار ●•0·˙