İçindekiler:

Sıcaklık Ölçümü: 7 Adım
Sıcaklık Ölçümü: 7 Adım

Video: Sıcaklık Ölçümü: 7 Adım

Video: Sıcaklık Ölçümü: 7 Adım
Video: Sıcaklık I TYT Fizik I 7. Adım 2024, Temmuz
Anonim
Sıcaklık Ölçümü
Sıcaklık Ölçümü

هو قياس درجه الحراره باستخدام الكاميرا االحراريه

Adım 1: فكرة مختصره للمشروع

في ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله السلامه والعافيه للجميع موارح

فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا

Adım 2: العناصر المستخدمه للمشروع

العناصر المستخدمه
العناصر المستخدمه
العناصر المستخدمه
العناصر المستخدمه
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع

1: شاشه TFT لعرض حراره الجسمه وهي متصله م عالكاميرا الحراريه التي تظهر ايضا درجه الحراره

2 شاشه LCD وضعنا الشاشه لعرض درجه الحراره رقميا لكي تظهر الحراره رقميا

3 حساس المسافه: وذلك اذا استشعر حساس المسافه جسم من امامه مباشرة احتساب درجه الحراره عن طريق الكاميرارا

4 Ana sayfa: Ana sayfa: Ana sayfa: Ana sayfa: Ana sayfa.

5 اردوينو ميجا

Adım 3: تشغيل المشروع باللوح التجريبي

Ana metin: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل صفوف واعمدئه تستدر الدواط

وظيفة التست بورد باختصار: …

Adım 4: تصميم PCB

تصميم PCB
تصميم PCB
تصميم PCB
تصميم PCB

تصميم PCB مهم في حال اردت ان المشروع

Ana PCB Sürümü:..هي لوح مسطح.

Adım 5: الخطوه ما قبل الاخيره

الخطوه ما قبل الاخيره
الخطوه ما قبل الاخيره

بعد ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل يكون الشكل الرجي اصغر مممكن وتسغر ممكن وتسغر ممكن وشكل الاسلاك

Adım 6: الخطوة الاخيره

الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناسب و متنا

Adım 7: الكود مع شرحها

LCD ve SD

************************************************************ ** ** *************************** هذه مكتبة لكاميرا AMG88xx GridEYE 8x8 IR

يصنع هذا الرسم كاميرا حرارية بدقة 64 بكسل مع مستشعر GridEYE وشاشة 128x128 tft

Fissürlerin büyük kısmı Adafruit AMG88 --

Açıklama I2C Yazılımı. عنوان I2C للجهاز هو 0x69

Adafruit Meyveler Ülkesi Dünya Ülkeleri Adafruit Bitkileri Adafruit Meyveleri Adafruit Meyveleri Adafruit Meyveleri!

بقلم دين ميلر للصناعات Adafruit. ترخيص BSD تضمين نص في نص يصنف في إعادة توزيع ************************************** * *************** ****************************** / // هذه المكتبات استدعاءها في بداية ال ض ض ض;

// هذه تعريفات لأماكن اتصال الحساسات بالأردوينو #define TFT_CS 53 // رقاقة حدد لشاشة TFT #define TFT_RST 9 // يمكنك أيضا توصيل هذا بإعادة تعيين Arduino // في هذه الحالة, اضبط هذا # تعريف الدبوس على 0! #define TFT_DC 8 #define trig 12 # تعريف صدى 11 كاردبين int = 10 ؛

اللون الأزرق الأزرق // المبرمجين للمستقيم (سيكون أزرق على الشاشة) #define MINTEMP 22

الشاشة باللون الأحمر // المدى العالي للمستشعر (سيكون أحمر على الشاشة) # تعريف MAXTEMP 34

// هذا الأمر يقوم بتعريفه SR04 sr04 = SR04 (echo ، trig) ؛

عنصر عناصر الصورة ، حجمه الأبرز // هذا الأمر ، يقوم بتعقب erkek ، ك كريستال_I2C lcd (0x27 ، 16 ، 2) ؛ // LCD ekran görünümü 0x27 Pazartesi 16 Ekim // 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}; // Büyük Anne 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 ،} ؛ // Büyük Anne 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) ؛

// Büyük beden Adafruit_AMG88xx amg ؛

// هذه متغيرات لتحديد الكاميرا الحرارية تأخير وقت طويل بدون توقيع ؛ Büyük resim [AMG88xx_PIXEL_ARRAY_SIZE] ؛ uint16_t displayPixelWidth ، displayPixelHeight ؛

// هذا التابع يعمل على بدء تشغيل عند الأردوينو الإعداد باطل () {// هذا الأمر يقوم بفتح منفذ تسلسلي بين الأردوينو والبدء في الأخطاء وعرض البيانات التي تلقيها من الحساسات (9600) Serial.begin;

Seri1.başlangıç (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 İngilizce (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 ("تعذر إزالة ملف البيانات.") ؛ }} /////////////////////////////////////////// ////// ////// ////////

} // نهاية الإعداد

// هذا التابع يعمل بشكل مستمر بعد الانتهاء من التابع الأول // يتكرر تنفيذ الأمر بداخل هذا التابع إلى أن يبدأ تنفيذ الأمر ببدء تنفيذ الأمر في أردوين, وهو يقوم بأداء العمليات في الأردوينو حلقة فارغة () {// هذا الأمر يقوم بقراءة جميع النقاط Ana sayfalar // Ana sayfalar // Ana sayfalar amg.readPixels (بكسل) ؛

///////////////////////////////////////////// //// //// //////////////////////////// // هذه الأوامر التي تقوم بالنفاذ إلى النقاط الحرارية //// ///////////////////////////////////////// //////// ///////////////////////////// maksimum = -99.9 ؛ لل (int i = 0 ؛ ben

// ارسم البكسل! tft.fillRect (displayPixelHeight * floor (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ إذا (حز > maxx) {maxx = بكسل ؛ }} /////////////////////////////////////////// ////// ////// ///////////////////////////////

// هذا الأمر يقوم بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالم (سم) dist = sr04. Distance () ؛

/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dist> 40) {

// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛

// هذا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آخر {

/ هذه جملة شرطية تنفيذ التعليمات التالية إذا (dist <6) {// الأمر يظهر على شاشة الكمبيوتر جملة "أنبتعد على" farz.

// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }

نفذت الإجراءات التالية التالية {

// هذه تظهر تظهر على شاشة الكمبيوتر المسافة بالم (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛

هذه الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maxx + 5.25 + (dist / 9)) * 100) ؛ تعويم new2 = newmax / 100 ؛ درجات تعويم F = (جديد 2) ؛ // (1.8 * جديد 2 + 32) * 100 ؛ intF = (int) درجة F ؛

// هذا الأمر يدرس درجة الحرارة بالدرجة المئوية بفواصل عشرية على شاشة الكمبيوترف // مثال 36.24 درجة مئوية Serial.printl.

// هذا الأمر يسجل درجة الحرارة بالدرجة المئوية على شاشة الكمبيوتر // 36 درجة مئوية Serial.println (intF) ؛

// هذا الأمر إسناد الكتابة على المحرف الأول في السطر الأول lcd.setCursor (0 ، 0) ؛

//lcd.print("Sıcaklık: "+ سلسلة (درجة F / 100)) ؛

// هذا الأمر يقود إلى درجة الحرارة الصغيرة بعد تحويل درجة الحرارة إلى مصفوفة محارف STRING lcd.print ("+درجة الحرارد؛لة")

المسلسل 1.println (intF) ،

// Ekran Kartı Ekran Görüntüsü LCD.setCursor (0 ، 1) ؛

/ هذه الدرجة درجة الحرارة // الدرجات F هي مقياس الدرجة بدون الفاصلة العشرية. إذا كانت درجات فهرنهايت <10040) {// هذا الأمر على الصغيرة جملة "هذا الشخص سليم" lcd.print ("الشخص بأمان") ؛

} آخر {/ هذه الحرارة جملة من درجات الحرارة درجات الحرارة إذا الحرارة <= 10220) {// هذا العمر يظهرات الحرارة الشام على الشامة على الشامة على الشامة الشارجات الحرارة درجات الحرارة";

من أعلى درجات الحرارة من أعلى الصفحة ، إذهب إلى الطوارئ.

}} /////////////////////////////////////////// ////// ////// //////////////////////////// // هذه الأوامر التي تفتح ملف داخل كرت البحث عن درجات. الحرارة بداخله /////////////////////////////////////////// //// ////// ////////////////////////////// dosya = SD.open ("data.txt" ، FILE_WRITE) ؛ إذا (ملف) {Dize fulldata = "Temp:" + Dize (dereceF) ؛ file.println (فولداتا) ؛ dosya.kapat () ؛ }

هخر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأ في كتابة بيانات على كرت الذاكرة Serial.println ("خط في مانة")

} //////////////////////////////////////////// //// ///// ////////////////////////////////} // Anne Baba يقوم بتوقيف الكود لمدة 200 ثانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛

} // نهاية الحلقة

Önerilen: