Оглавление:
- Шаг 1: رة مختصره للمشروع
- Шаг 2: العناصر المستخدمه للمشروع
- Шаг 3: تشغيل المشروع باللوح التجريبي
- Шаг 4: Печатная плата
- Шаг 5: الخطوه ما قبل الاخيره
- Шаг 6: الخطوة الاخيره
- Шаг 7: الكود مع رحها
Видео: Измерение температуры: 7 шагов
2024 Автор: John Day | [email protected]. Последнее изменение: 2024-01-30 11:48
و قياس درجه الحراره باستخدام الكاميرا الحراريه
Шаг 1: رة مختصره للمشروع
ي ظل الازمه والجائحه التي يمربها العالم اجمع ي محاربه الكوفيد 19 ونسأل الله السلامه حالعافير متي والعافير اللالعافير الوللاي الوللعافير اللولالاير متي
فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
Шаг 2: العناصر المستخدمه للمشروع
1: اشه TFT لعرض حراره الجسمه وهي متصله م عالكاميرا الحراريه التي تظهر ايضا درجه الحراره
2 ЖК-дисплей.
3 حساس المسافه.
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من ريق الشاشه.
5 اردوينو ميجا
Шаг 3: تشغيل المشروع باللوح التجريبي
التست بورد: و لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل وف واعمده تساتيي رتلولانيام رتلولانيام رتلي
وظيفة التست بورد باختصار:…
Шаг 4: Печатная плата
تصميم PCB مهم في حال اردت ان المشروع
ال PCB باختصار:..هي لوح مسطح.
Шаг 5: الخطوه ما قبل الاخيره
بعد ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل الللائق يكون الشكل اللليه يكون الشكل الرجلي اصغر ملون متليناصغر م
Шаг 6: الخطوة الاخيره
الخطوة الاخيره و ي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناساس تو
Шаг 7: الكود مع رحها
ЖК-дисплей и SD
************************************************ ** ** ************************** هذه مكتبة لكاميرا AMG88xx GridEYE 8x8 IR
يصنع ا الرسم اميرا حرارية بدقة 64 بكسل مع مستشعر GridEYE وشاشة 128x128 tft
مصمم ا للعمل مع اندلاع Adafruit AMG88 -
تستخدم المستشعرات I2C للتواصل. عنوان I2C للجهاز هو 0x69
تستثمر Adafruit.
بقلم دين ميلر للصناعات 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) ؛
عنصر عناصر الصورة ، حجمه الأبرز // ا الأمر ، يقوم بتعقب ذلك ، ريستال_ 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 = Adafruit_ST7735 TFT (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 = Adafruit_ST7735 TFT (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 ؛
// هذا التابع يعمل على بدء تشغيل عند الأردوينو الإعداد باطل () {// هذا الأمر يقوم بفتح منفذ تسلسلي بين الأردوينو والبدء في الأخطاء وعرض البيانات التي تلقيها من الحساسات Serial.begin (9600);
Serial1.begin (9600) ؛ ////////////////////////////////////////////////// //// //// ////////// // الأوامر التي تقوم بعرض البيانات //////////////////////// ////// //////////////////////////////////// lcd.init () ، lcd.init () اضاءه خلفيه ال سى دى () ؛ ////////////////////////////////////////////////// //// //// //////////
// ا الأمر يقوم بعرض جملة على شاشة الكمبيوتر توضح أن الكاميرا الحرارية Serial.println (F ("الكاميرية")
////////////////////////////////////////////////// //// //// ////////// // الأوامر التي تقوم برفع الشاشة وعرض طولها وعرضها ///////////////////// //// /////////////////////////////// ////////// 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 * floor (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ إذا (حز > maxx) {maxx = بكسل ؛ }} //////////////////////////////////////////////// ////// ////// //////////////////////////////////
// ا الأمر يقوم بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. Distance () ؛
/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dist> 40) {
// ا الأمر يظهر على شاشة الكمبيوتر جملة "ترب من الحساس" Serial.println ("اقترب") ؛
// ا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آخر {
/ ملة رطية ، تنفيذ التعليمات التالية إذا (dist <6) {// ا الأمر يظهر على شاشة الكمبيوتر مللة "نا
// ا الأمر يظهر على الشاشة الصغيرة جملة "بتعد عن الحساس" 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 درج مئرانية
// ا الأمر يسجل درجة الحرارة بالدرجة المئوية على شاشة الكمبيوتر // مثال 36 درجة مئوية Serial.println (intF) ؛
// ا الأمر سناد الكتابة على المحرف الأول ي السطر الأول lcd.setCursor (0 ، 0) ؛
//lcd.print("Temp: "+ سلسلة (درجة F / 100)) ؛
// ا الأمر يقود لى درجة الحرارة الصغيرة بعد تحويل درجة الحرارة لى مصفوفة محارف STRING lcd.اسرارف STRING lcd.اسرار STRING lcd.print ("درجة رارة الحة ")
المسلسل 1.println (intF) ،
// ا الأمر سناد الكتابة على الحرف الأول ي السطر الثاني lcd.setCursor (0 1) ؛
/ هذه الدرجة درجة الحرارة // الدرجات F هي مقياس الدرجة بدون الفاصلة العشرية. ا كانت درجات فهرنهايت <10040) {// ا الأمر على الشاشة الصغيرة جملة "ا الشخص سليم" lcd.print ("الشخص بأمان") ؛
} رارة ملة من درجات الحرارة ا انت درجات الحرارة <= 10220) {// الحرارة ملة من درجات الحرارة ا انت درجات الحرارة <= 10220).
من على درجات الحرارة من أعلى الصفحة ، إذهب لى الطوارئ.
}} //////////////////////////////////////////////// ////// ////// //////////////////////////////// // الأوامر التي تفتح ملف داخل كرت البحث عن درجات. الحرارة بداخله ///////////////////////////////////////////////////// //// ////// ////////////////////////////////// file = SD.open ("data.txt" ، FILE_WRITE) ؛ إذا (ملف) {String fulldata = "Temp:" + String (градусыF) ؛ file.println (فولداتا) ؛ file.close () ؛ }
ر {// ا الأمر يظهر على اشة الكمبيوتر وجود خطأ ي كتابة البيانات على كرت الذاكرة Serial.println ("ابي متالة"
} ///////////////////////////////////////////////// //// ///// ////////////////////////////////////} // ا الأمر يقوم بتوقيف الكود لمدة 200 انية حتى يستقر المتحكم تأخير (200) ؛ // ا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛
} // نهاية الحلقة
Рекомендуемые:
Измерение температуры с помощью XinaBox и термистора: 8 шагов
Измерение температуры с помощью XinaBox и термистора: Измерьте температуру жидкости с помощью аналогового входа xChip от XinaBox и термисторного зонда
Автоматическое измерение температуры и голосовая информация: 5 шагов (с изображениями)
Автоматическое измерение температуры и голосовая информация: в последнее время весь мир борется с вирусом Covid19. Первая проверка для пострадавших (или подозреваемых) - это измерение температуры тела. Итак, этот проект создан для модели, которая может автоматически измерять температуру тела и сообщать через голосовые
Дистанционное измерение температуры: 6 шагов
Дистанционное измерение температуры: в этом проекте MKR 1400 используется для управления 3 датчиками DHT 22 и передачи результата на номер мобильного телефона, введенный в код (я покажу где). Температура - единственные данные, которые извлекаются из DHT 22, но это интересно
Измерение температуры с помощью PT100 и Arduino: 16 шагов
Измерение температуры с помощью PT100 и Arduino: цель этого проекта - разработать, построить и протестировать систему измерения температуры. Система была разработана для измерения диапазона температур от 0 до 100 ° C. Для измерения температуры использовался PT100, и это резистивный датчик температуры (RTD)
Измерение температуры с использованием платформы Esp32 и Thingsio.ai: 6 шагов
Измерение температуры с использованием платформы Esp32 и Thingsio.ai: в этом руководстве я расскажу об измерении температуры в окружающей среде с помощью встроенного датчика температуры, присутствующего в плате разработки esp32. esp32 имеет множество встроенных датчиков, таких как датчик Холла, используемый в качестве датчика приближения, касания