Spisu treści:
- Krok 1: مختصره للمشروع
- Krok 2: العناصر المستخدمه للمشروع
- Krok 3: تشغيل المشروع باللوح التجريبي
- Krok 4: مي PCB
- Krok 5: الخطوه ما قبل الاخيره
- Krok 6: الخطوة الاخيره
- Krok 7: الكود مع شرحها
Wideo: Pomiar temperatury: 7 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:26
هو قياس درجه الحراره باستخدام الكاميرا الحراريه
Krok 1: مختصره للمشروع
في ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله السلامه والعافيه للجميع وارحم من ااه
فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
Krok 2: العناصر المستخدمه للمشروع
1: شاشه TFT لعرض حراره الجسمه وهي متصله م عالكاميرا الحراريه التي تظهر ايضا درجه الحراره
2 شاشه LCD ا الشاشه لعرض درجه الحراره رقميا لكي تظهر الحراره رقميا
3 حساس المسافه: وذلك اذا استشعر حساس المسافه جسم من امامه مباشرة احتساب درجه الحراره عن طريق الكاميرا الكاميراه
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5 ا ما
Krok 3: تشغيل المشروع باللوح التجريبي
التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل صفوف واعمده تستخدم الدوائر الالكترونيه
ا التست بورد اختصار: …
Krok 4: مي PCB
ميم ال ا ا المشروع
ال اا:..هي لوح مسطح.
Krok 5: الخطوه ما قبل الاخيره
بعد ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل الخرجي اصغر ممكن وشكل متناقس وجميل
Krok 6: الخطوة الاخيره
الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناسب و متناسق
Krok 7: الكود مع شرحها
LCD و SD
************************************************** ** ** *************************** Nie dotyczy AMG88xx GridEYE 8x8 IR
Dowolna matryca do pomiaru 64 karty do pomiaru GridEYE Ramka 128x128 tft
ممم فقطًا للعمل م الاع Adafruit AMG88 --
م هذه المستشعرات I2C للتواصل. ان I2C للجهاز هو 0x69
تستثمر Adafruit الموارد الموارد في هذا الكود المصدر ، يرجى دعم أجهزة Adafruit والمصدر المفتوح عن طريق اء المنتجات من Adafruit!
بقلم دين ميلر للصناعات Adafruit. **************************************** * *************** *************************** / // هذه المكتبات استدعاءها في بداية الكود عمليةهل كتابة الكود # تضمين // مكتبة الرسومات الأساسية # تضمين // مكتبة خاصة بالأجهزة # تضمين # تضمين # تضمين # تضمين # تضمين // # تضمن # تضمين
// هذه تعريف ات لأماكن اتصال الحساسات بالأردوينو #define TFT_CS 53 // رقاقة حدد لشاشة TFT #define TFT_RST 9 // يمكنك ا ل هذا بإعادة ال ال // # ال #define TFT_DC 8 #define trig 12 # تعريف صدى 11 كاردبين int = 10 ؛
اللون الأزرق الأزرق // المبرمجين للمستقيم (سيكون أزرق على الشاشة) #define MINTEMP 22
الشاشة باللون الأحمر // المدى العالي للمستشعر (سيكون أحمر على الشاشة) # تعريف MAXTEMP 34
// هذا الأمر يقوم بتعريفه SR04 sr04 = SR04 (echo ، tryg) ؛
اصر الصورة ، حجمه الأبرز // هذا الأمر ، يقوم بتعقب ذلك ، كريستال_I2C lcd (0x27 ، 16 ، 2) ؛ // Wyświetlacz 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) ja, 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.początek (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 (بكسل) ؛
//////////////////////////////////////////////// //// //// /////////////////////////////////// هذه الأوامر التي تقوم بالنفاذ إلى النقاط الحرارية //// //////////////////////////////////////////// //////// /////////////////////////////// تعوي maks. = -99,9 ؛ لـ (int i = 0 ؛ i
// ام البكسل! tft.fillRect (displayPixelHeight * floor (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ إذا (حز > maxx) {maxx = بكسل ؛ }} /////////////////////////////////////////////// ////// ////// ////////////////////////////////
// هذا الأمر يقوم بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. Odległość () ؛
/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dystans> 40) {
// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } {
/ هذه جملة شرطية ، ا التعليمات التالية إذا (odległość <6) {// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أبتعد عن الحساس" Serial.println ("Idź dalej") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }
الإجراءات التالية التالية {
// هذه تظهر تظهر على شاشة الكمبيوتر المسافة بالـ (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛
هذه الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maxx + 5,25 + (odl. / 9)) * 100) ؛ تعويم nowa2 = nowamaks. / 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) {// هذا الأمر يظهر على الشاشة جملة "اا اللإل" (الى لإل"
من أعلى درجات الحرارة من أعلى الصفحة ، إذهب إلى الطوارئ.
}} /////////////////////////////////////////////// ////// ////// /////////////////////////////// // هذه الأوامر التي تفتح ملف داخل كرت البحث عن درجات. الحرارة بداخله ////////////////////////////////////////////// //// ////// ///////////////////////////////// plik = SD.otwórz ("data.txt" ، FILE_WRITE) ؛ إذا (ملف) {String fulldata = "Temp:" + String (stopnieF) ؛ file.println (فولداتا) plik.zamknij () ؛ }
آخر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأ في كت ابة البيانات على كرت الذاكرة Serial.println ("خطأ في كتابة ملف البيانات") ؛
} //////////////////////////////////////////////// //// ///// //////////////////////////////////} // هذا الأمر م بتوقيف الكود لمدة 200 انية يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛
} // اية الحلقة
Zalecana:
Pomiar temperatury za pomocą XinaBox i termistora: 8 kroków
Pomiar temperatury za pomocą XinaBox i termistora: Zmierz temperaturę cieczy za pomocą wejścia analogowego xChip z XinaBox i sondy termistorowej
Automatyczny pomiar temperatury i informacje głosowe: 5 kroków (ze zdjęciami)
Automatyczny pomiar temperatury i informacje głosowe: W ostatnim dniu cały świat zmaga się z wirusem Covid19. Pierwszym sprawdzeniem pod kątem osób dotkniętych chorobą (lub podejrzanych o skutki) jest pomiar temperatury ciała. Tak więc ten projekt jest stworzony dla modelu, który może automatycznie mierzyć temperaturę ciała i informować przez vo
Pomiar temperatury za pomocą PT100 i Arduino: 16 kroków
Pomiar temperatury za pomocą PT100 i Arduino: Celem tego projektu jest zaprojektowanie, zbudowanie i przetestowanie systemu wykrywania temperatury. System został zaprojektowany do pomiaru temperatury w zakresie od 0 do 100°C. Do pomiaru temperatury użyto PT100, który jest oporowym detektorem temperatury (RTD)
Korzystanie z Raspberry Pi, pomiar wysokości, ciśnienia i temperatury za pomocą MPL3115A2: 6 kroków
Korzystając z Raspberry Pi, mierz wysokość, ciśnienie i temperaturę za pomocą MPL3115A2: Dowiedz się, co posiadasz i dlaczego to posiadasz! To intrygujące. Żyjemy w dobie automatyzacji Internetu, która pogrąża się w mnóstwie nowych aplikacji. Jako entuzjaści komputerów i elektroniki wiele się nauczyliśmy z Raspberry Pi i
Pomiar temperatury za pomocą platformy Esp32 i Thingsio.ai: 6 kroków
Pomiar temperatury za pomocą platformy Esp32 i Thingsio.ai: W tym samouczku wyjaśnię, jak mierzyć temperaturę w otoczeniu za pomocą wbudowanego czujnika temperatury w płytce rozwojowej esp32. esp32 ma wiele wbudowanych czujników, takich jak czujnik Halla używany jako czujnik zbliżeniowy, dotykowy