Table des matières:
- Étape 1: مختصره للمشروع
- Étape 2: العناصر المستخدمه للمشروع
- Étape 3: ل المشروع اللوح التجريبي
- Étape 4: PCB
- Étape 5: الخطوه ما ل الاخيره
- Étape 6: الخطوة الاخيره
- Étape 7: الكود مع شرحها
Vidéo: Mesurer la température : 7 étapes
2024 Auteur: John Day | [email protected]. Dernière modifié: 2024-01-30 09:05
قياس درجه الحراره باستخدام الكاميرا االحراريه
Étape 1: مختصره للمشروع
ل الازمه والجائحه التي يمربها العالم اجمع محاربه الكوفيد 19 ل الله السلامه العافيه للجميع وارحم من توفاه الله
فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
Étape 2: العناصر المستخدمه للمشروع
1: اشه TFT لعرض حراره الجسمه متصله عالكاميرا الحراريه التي تظهر ايضا درجه الحراره
2 écrans LCD ا الشاشه لعرض الحراره ا لكي الحراره رقميا
3 اس المسافه: لك اذا استشعر اس المسافه امامه مباشرة احتساب الحراره الكاميرا الكاميراه
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية طريق الشاشه.
5 ا ا
Étape 3: ل المشروع اللوح التجريبي
التست: لوح بلستيكي الشكل اخليه نقاط متصله على شكل صفوف واعمده تستخدم الدوائر الالكترونيه
التست اختصار: …
Étape 4: PCB
PCB مهم في حال اردت ان المشروع
ال PCB اختصار:..هي لوح مسطح.
Étape 5: الخطوه ما ل الاخيره
ما تمت عمليه الطباعه والتحميض التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل الخرجي اصغر ممكن وشكل متناقس وجميل
Étape 6: الخطوة الاخيره
الخطوة الاخيره التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه الصندوق في الشكل المناسب و متناسق
Étape 7: الكود مع شرحها
LCD SD
************************************************** ** ** *************************** هذه لكاميرا AMG88xx GridEYE 8x8 IR
ا الرسم اميرا حرارية بدقة 64 ل GridEYE اشة 128x128 tft
ا للعمل مع اندلاع Adafruit AMG88 --
المستشعرات I2C للتواصل. ان I2C للجهاز 0x69
Adafruit الموارد الموارد ا الكود المصدر Adafruit المصدر المفتوح اء المنتجات Adafruit!
لم دين ميلر للصناعات Adafruit. BSD إعادة توزيع ************************************** * *************** *************************** / // المكتبات استدعاءها بداية الكود عمليةهل كتابة الكود # تضمين // الرسومات الأساسية # تضمين // مكتبة خاصة بالأجهزة # تضمين # تضمين # تضمين # تضمين # تضمين // # تضمن # تضمين
// ات لأماكن اتصال الحساسات بالأردوينو #define TFT_CS 53 // اقة لشاشة TFT #define TFT_RST 9 // أيضًا توصيل هذا بإعادة تعيين Arduino // الحالة هذ الحالة الالة #define TFT_DC 8 #define trig 12 # تعريف صدى 11 كاردبين int = 10 ؛
اللون الأزرق الأزرق // المبرمجين للمستقيم (سيكون أزرق على الشاشة) #define MINTEMP 22
الشاشة باللون الأحمر // المدى العالي للمستشعر (سيكون أحمر على الشاشة) # تعريف MAXTEMP 34
// هذا الأمر يقوم بتعريفه SR04 sr04 = SR04 (écho ، trig) ؛
اصر الصورة ، حجمه الأبرز // ا الأمر بتعقب ذلك كريستال_I2C lcd (0x27 16 ، 2) ؛ // اسية ان LCD لى 0x27 لعرض 16 ا وخطين // LiquidCrystal LCD (27 28 ، 29 ، 30 ، 31 ، 32) ؛
لف الملف ؛
حفظ المسافة مسافة طويلة
0xDEA0, 0xDE80, 0xDE80, 0xE660, 0xE640, 0xE620, 0xE600, 0xE5E0, 0xE5C0, 0xE5A0, 0xE580, 0xE560, 0xE540, 0xE520, 0xE500, 0xE4E, 0x20, 0xE4C0, E4A0, 0x4E, 0xEBA0, 0xEB80, 0xEB60, 0xEB40, 0xEB20, 0xEB00, 0xEAE0, 0xEAC0, 0xEAA0, 0xEA80, 0xEA60, 0xEA40, 0xF220, 0xF200, 0xF1E0, 0xF1C0, 0xF1A0, 0xF180, 0F160, 0xF1, 0xF180, 0F160, 0xF1, 0xF180, 0F160, 0xF060, 0xF040, 0xF020, 0xF800,}; // ا الأمر Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS TFT_DC TFT_RST) ؛ 0xE5A0, 0xE580, 0xE560, 0xE540, 0xE520, 0xE500, 0xE4E0, 0xE4C0, 0xE4A0, 0xE480, 0xE460, 0xEC40, 0xEC20, 0xEC00, 0xEBE0, 0xEBC0, 0xEBA0, 0xEB80, 0xEB60, 0xEBA0, 0xEB80, 0xEB, 0x00, 0xEA80, 0xEA60, 0xEA40, 0xF220, 0xF200, 0xF1E0, 0xF1C0, 0xF1A0, 0xF180, 0xF160, 0xF140, 0xF100, 0xF0E0, 0xF0C0, 0xF0A0, 0xF080, 0xF060, 0xF040, 0xF020, 0xF0800, 0xF040, 0xF020, // هذا الأمر يقوم بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS TFT_DC ، TFT_RST) ؛ 0xE5A0, 0xE580, 0xE560, 0xE540, 0xE520, 0xE500, 0xE4E0, 0xE4C0, 0xE4A0, 0xE480, 0xE460, 0xEC40, 0xEC20, 0xEC00, 0xEBE0, 0xEBC0, 0xEBA0, 0xEB80, 0xEB60, 0xEBA0, 0xEB80, 0xEB, 0x00 0xEA80, 0xEA60, 0xEA40, 0xF220, 0xF200, 0xF1E0, 0xF1C0, 0xF1A0, 0xF180, 0xF160, 0xF140, 0xF100, 0xF0E0, 0xF0C0, 0xF0A0, 0xF080, 0xF060, 0xF040, 0xF020, // هذا الأمر يقوم بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS, TFT_DC, TFT_RST) ??, 0xEB60, 0xEB40, 0xEB20, 0xEB00, 0xEAE0, 0xEAC0, 0xEAA0, 0xEA80, 0xEA60, 0xEA40, 0xF220, 0xF200, 0xF1E0, 0xF1C0, 0xF1A0, 0xF180, 0xF160, 0xF140, 0 xF0100, 0xF160, 0xF140, 0F100, 0xF1, 0xF020, 0xF800 } ؛ // ا الأمر Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS TFT_DC TFT_RST) ؛, 0xEB60, 0xEB40, 0xEB20, 0xEB00, 0xEAE0, 0xEAC0, 0xEAA0, 0xEA80, 0xEA60, 0xEA40, 0xF220, 0xF200, 0xF1E0, 0xF1C0, 0xF1A0, 0xF180, 0xF160, 0xF140, 0 xF0100, 0xF160, 0xF140, 0F100, 0xF1, 0xF020, 0xF800 } ؛ // ا الأمر بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS TFT_DC ، TFT_RST) ؛
// ا الأمر بتعريف الكاميرا الحرارية Adafruit_AMG88xx amg ؛
// متغيرات لتحديد الكاميرا الحرارية وقت طويل بدون توقيع ؛ البكسل العائم [AMG88xx_PIXEL_ARRAY_SIZE] ؛ uint16_t displayPixelWidth ، displayPixelHeight ؛
// ا التابع ل على بدء ل عند الأردوينو الإعداد باطل () {// ا الأمر يقوم بفتح تسلسلي بين الأردوينو البدء الأخطاء وعرض البيانات اللي السلي الأردوينو والبدء الأخطاء وعرض البيانات ال ال ال ال ال ال ال
Serial1.begin (9600) ؛ /////////////////////////////////////////////////////////////// //// //// ////////// // الأوامر التي تقوم بعرض البيانات /////////////////////// ////// ////////////////////////// ////////// lcd.init () ، lcd.init () اضاءه لفيه ال سى دى () ؛ /////////////////////////////////////////////////////////////// //// //// //////////
// ا الأمر بعرض جملة على شاشة الكمبيوتر توضح الكاميرا الحرارية Serial.println (F ("الكاميرا الحرارية AMG88xx!")) ؛
/////////////////////////////////////////////////////////////// //// //// ////////// // الأوامر التي تقوم الشاشة طولها ا ا ///////////////////// //// ///////////////////////////// ////////// tft.initR (INITR_144GREENTAB) ، // تهيئة ST7735S tft.fillScreen (ST7735_BLACK) ، displayPixelWidth = tft.width () / 8 ؛ displayPixelHeight = tft.height () / 8 ؛ //tft.set الدوران (3) ، ////////////////////////////////////// ///// ///////////// //////////
// ا متغير يتم حفظ حالة الكاميرا الحرارية تعمل / لا تعمل حالة منطقية
// ا الأمر التأكد الكاميرا ل صحيح // يظهر هذا الحالة. ا (! الحالة) {Serial.println ("تعذر العثور على AMG88xx الح تحقق من تسوية!") ؛ ا (1) }
Serial.println ("- اختبار الكاميرا الحرارية -") ؛ //lcd.begin (16 2) ؛ (100) ؛ // المستشعر يصل
/////////////////////////////////////////////////////////////// //// //// /////// // الأوامر بحفظ البيانات على الذاكرة الخارجية //////////////////////// ////// ///////////////////////// /////// pinMode (cardpin ، الإخراج) ؛ ا (! SD.begin (cardpin)) {Serial.println ("تهيئة تهيئة SD") ؛ }
ا (SD.exists ("data.txt")) {Serial.println ("data.txt موجود.") ؛ ا (SD.remove ("data.txt")) {Serial.println ("تمت إزالة الملف بنجاح") ؛ } آخر {Serial.println ("تعذر إزالة ملف البيانات.") ؛ }} ////////////////////////////////////////////// ////// ////// ////////
} // اية الإعداد
// ا التابع يعمل بشكل مستمر بعد الانتهاء من التابع الأول // الأمر بداخل هذا التابع إلى أنل ال ال ال ال ا ال الحرارية الكاميرا // اقرأ كل البكسل amg.readPixels (بكسل) ؛
/////////////////////////////////////////////////////////////// //// //// ////////////////////////////// // الأوامر التي تقوم بالنفاذ إلى النقاط الحرارية //// //////////////////////////////////////////// //////// ///////////////////////////// maxx = -99,9 ؛ لـ (int i = 0 ؛ i
// ارسم البكسل! tft.fillRect (displayPixelHeight * étage (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ ا (حز > maxx) {maxx = بكسل ؛ }} ////////////////////////////////////////////// ////// ////// /////////////////////////////////
// ا الأمر بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. Distance () ؛
/ هذه جملة إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dist> 40) {
// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛
// ا الأمر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آخر {
/ هذه جملة شرطية ، تنفيذ التعليمات التالية إذا (dist <6) {// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أبتعد عن الحساس" Serial.println ("Aller plus loin") ؛
// ا الأمر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }
الإجراءات التالية التالية {
// هذه تظهر تظهر على شاشة الكمبيوتر المسافة بالـ (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛
هذه الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maxx + 5.25 + (dist / 9)) * 100) ؛ nouveau2 = nouveaumax / 100 ؛ ات تعويم F = (جديد 2) ؛ // (1,8 * 2 + 32) * 100 intF = (int) درجة F ؛
// ا الأمر درجة الحرارة بالدرجة المئوية بفواصل عشرية على شاشة الكمبيوتر // ال 36.24 درجة مئوية Serial.println (درجة فهرنهايت) ؛
// ا الأمر يسجل درجة الحرارة بالدرجة المئوية على شاشة الكمبيوتر // مثال 36 درجة مئوية Serial.println (intF) ؛
// ا الأمر اد الكتابة لى المحرف الأول في السطر الأول lcd.setCursor (0 0) ؛
//lcd.print("Temp: "+ لسلة (درجة F / 100)) ؛
// هذا الأمر إلى درجة الحرارة الصغيرة بعد تحويل درجة الحرارة إلى مصفوفة محارف STRING lcd.print ("درجة الحرارة:" + سلسلة (درجة فهرنهايت)) ؛
المسلسل 1.println (intF) ،
// ا الأمر اد الكتابة لى الحرف الأول في السطر الثاني lcd.setCursor (0 1) ؛
/ الدرجة درجة الحرارة // الدرجات F هي مقياس الدرجة الفاصلة العشرية. ا انت ات فهرنهايت <10040) {// ا الأمر على الشاشة الصغيرة جملة "هذا الشخص سليم" lcd.print ("الشخص بأمان") ؛
} آخر {/ الحرارة لة من درجات الحرارة ا انت درجات الحرارة <= 10220) {// هذا الأمر يظهر لى الشاشة جملة "إذهب إلى المنزا الل" lcd.print ("ال المنزل") lcd.print ("ال المنزل")
لى ات الحرارة لى الصفحة إلى الطوارئ.
}} ////////////////////////////////////////////// ////// ////// ////////////////////////////// // الأوامر التي تفتح لف اخل البحث درجات. الحرارة بداخله ///////////////////////////////////////////// //// ////// //////////////////////////////// fichier = SD.open ("data.txt" FILE_WRITE) ؛ إذا (ملف) {Chaîne fulldata = "Temp:" + Chaîne (degrésF) ؛ file.println (فولداتا) ؛ file.close () ؛ }
آخر {// ا الأمر يظهر على شاشة الكمبيوتر كتابة البيانات على كرت الذاكرة Serial.println ("خطأ في كتابة ملف البيانات") ؛
} /////////////////////////////////////////////// //// ///// /////////////////////////////////} // ا الأمر الكود لمدة 200 انية المتحكم (200) ؛ // ا الأمر المحتويات الشاشة lcd.clear () ؛
} // اية الحلقة
Conseillé:
Comment faire un CubeSat qui peut mesurer la température : 3 étapes
Comment faire un CubeSat qui peut mesurer la température : Venez avec et vous verrez un cube 11x11x11x11 de pure imagination, prenez ma main et vous verrez la température de Mars ! (sur l'air de "Imagination" de Willy Wonka) Aujourd'hui, je vais vous montrer que vous devez construire votre propre CubeSat ! Moi et mes partenaires Alyssa et
Mesurer la température et l'humidité à l'aide de DHT11 / DHT22 et Arduino : 4 étapes
Mesurer la température et l'humidité à l'aide de DHT11 / DHT22 et Arduino : Dans ce didacticiel Arduino, nous apprendrons à utiliser le capteur DHT11 ou DHT22 pour mesurer la température et l'humidité avec la carte Arduino
Mesurer la température à l'aide d'un PT100 et d'un Arduino : 16 étapes
Mesurer la température à l'aide d'un PT100 et d'un Arduino : L'objectif de ce projet est de concevoir, construire et tester un système de détection de température. Le système a été conçu pour mesurer une plage de température de 0 à 100 °C. Un PT100 a été utilisé pour mesurer la température, et c'est un détecteur de température à résistance (RTD)
Raspberry Pi / DHT11 - Mesurer l'humidité et la température : 4 étapes
Raspberry Pi / DHT11 - Mesurer l'humidité et la température : Je voulais mesurer la température et l'humidité à l'aide de mon Raspberry Pi. J'ai choisi un capteur DHT11 car il est robuste et pas cher. Sa configuration est également bien documentée mais il y a un certain nombre d'écueils sur lesquels je voudrais me concentrer. Le DHT11
Utiliser des condensateurs pour mesurer la température : 9 étapes
Utiliser des condensateurs pour mesurer la température : Ce projet est né parce que j'ai acheté un kit de condensateurs avec principalement des condensateurs X7R (de bonne qualité), mais certaines des valeurs les plus élevées de 100 nF et plus étaient le diélectrique Y5V moins cher et moins stable, qui présente un changement massif de température et op