תוכן עניינים:
- שלב 1: فكرة مختصره للمشروع
- שלב 2: العناصر المستخدمه للمشروع
- שלב 3: تشغيل المشروع باللوح التجريبي
- שלב 4: הורדת PCB
- שלב 5: الخطوه ما قبل الاخيره
- שלב 6: الخطوة الاخيره
- שלב 7: الكود مع شرحها
וִידֵאוֹ: מדידת הטמפרטורה: 7 שלבים
2024 מְחַבֵּר: John Day | [email protected]. שונה לאחרונה: 2024-01-30 09:11
هو قياس درجه الحراره باستخدام الكاميرا االحراريه
שלב 1: فكرة مختصره للمشروع
في ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله السلامه والعافيه للجميع وارحم من توفاه الله
فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
שלב 2: العناصر المستخدمه للمشروع
1: شاشه TFT لعرض حراره الجسمه وهي متصله م عالكاميرا الحراريه التي تظهر ايضا درجه الحراره
2 אינץ 'LCD מסך LCD תצוגת מסך מגע מסך
3 حساس المسافه: وذلك اذا استشعر حساس المسافه جسم من امامه مباشرة احتساب درجه الحراره عن طريق الكاميرا الكاميراه
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5 اردوينو ميجا
שלב 3: تشغيل المشروع باللوح التجريبي
التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل صفوف واعمده تستخدم الدوائر الالكترونيه
وظيفة التست بورد باختصار: …
שלב 4: הורדת PCB
تصميم PCB مهم في حال اردت ان المشروع
מאפייני PCB:."
שלב 5: الخطوه ما قبل الاخيره
بعد ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل الخرجي اصغر ممكن وشكل متناقس وجميل
שלב 6: الخطوة الاخيره
الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناسب و متناسق
שלב 7: الكود مع شرحها
LCD ו- 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 (הד, trig);
عنصر عناصر الصورة, حجمه الأبرز // هذا الأمر, يقوم بتعقب ذلك, LCD I2C كريستال_ (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 (x}) // هذا الأمر يقوم بتعقبه 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 (x}) // هذا الأمر يقوم بتعقبه 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);
סדרה 1. מתחילה (9600) ////////////////////////////////////////// ////////////////////////////////// ///////////////////////////////////////// lcd.init (), اضاءه خلفيه ال سى دى (); ////////////////////////////////////////// //// //// //////////
// هذا الأمر يقوم بعرض جملة على شاشة الكمبيوتر توضح أن الكاميرا الحرارية Serial.println (F ("الكاميرا الحرارية AMG88xx!"));
////////////////////////////////////////// ////////////////////////////////////////////// /////////////////////////////////), // تهيئة تهيئة 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 إذا (SD.begin (cardpin)!) {Serial.println ("تهيئة تهيئة SD"); }
إذا (SD.exists ("data.txt")) {Serial.println ("data.txt موجود."); إذا (SD.remove ("data.txt")) {Serial.println ("تمت إزالة الملف بنجاح"); } آخر {Serial.println ("تعذر إزالة ملف البيانات."); }} //////////////////////////////////// //////////////////////
} // نهاية الإعداد
// هذا التابع يعمل بشكل مستمر بعد الانتهاء من التابع الأول // يتكرر تنفيذ الأمر بداخل هذا التابع إلى أن يبدأ تنفيذ الأمر ببدء تنفيذ الأمر في أردوين, وهو يقوم بأداء العمليات في الأردوينو حلقة فارغة () {// هذا الأمر يقوم بقراءة جميع النقاط الحرارية من الكاميرا // اقرأ كل البكسل amg.readPixels (بكسل);
////////////////////////////////////////// //////////////////////////////////////// /////////////////////////////////////////////////// ///////////////////////////////////////////////////// ل (int i = 0; i
// ارسم البكسل! tft.fillRect (displayPixelHeight * הרצפה (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 ("ללכת רחוק יותר");
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" 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 درجة مئوية Serial.println (intF);
// هذا الأمر إسناد الكتابة على المحرف الأول في السطر الأول lcd.setCursor (0, 0);
//lcd.print("Temp: "+ سلسلة (درجة F / 100));
المسلسل 1.println (intF), // هذا الأمر إسناد الكتابة على الحرف الأول في السطر الثاني lcd.setCursor (0, 1);
/ هذه الدرجة درجة الحرارة // الدرجات F هي مقياس الدرجة بدون الفاصلة العشرية. إذا كانت درجات فهرنهايت <10,040) {// هذا الأمر على الشاشة الصغيرة جملة "هذا الشخص سليم" lcd.print ("الشخص بأمان");
} آخر {/ هذه الحرارة جملة من درجات الحرارة إذا كانت درجات الحرارة <= 10,220) {// هذا الأمر يظهر على الشاشة جملة "إذهب إلى المنزل" lcd.print ("الشخص إلى المنزل");
من أعلى درجات الحرارة من أعلى الصفحة, إذهب إلى الطوارئ.
}} ////////////////////////////////// ///////////////////////////////////// ملف داخل كرت البحث عن درجات. الحرارة بداخله //////////////////////////////////////////////// ///////////////////////// "data.txt" (FILE_WRITE) إذا (ملف) {String fulldata = "Temp:" + מחרוזת (degreesF); file.println (فولداتا); file.close () }
آخر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأ في كتابة البيانات على كرت الذاكرة Serial.println ("خطأ في كتابة ملف البيانات");
} //////////////////////////////////// ///////////////////////////////////////////////////// يقوم بتوقيف الكود لمدة 200 ثانية حتى يستقر المتحكم تأخير (200); // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear ();
} // אנגלית
מוּמלָץ:
מדידת זמן (שעון מדידת סרט): 5 שלבים (עם תמונות)
מדידת זמן (שעון מדידת סרט): לפרויקט זה לקחנו (אלכס פיל ואנה לינטון) כלי מדידה יומיומי והפכנו אותו לשעון! התוכנית המקורית הייתה להניע סרט מדידה קיים. בכך, החלטנו שיהיה קל יותר ליצור מעטפת משלנו לשימוש
מד הטמפרטורה והלחות הפשוט ביותר של IoT: 5 שלבים (עם תמונות)
מד הטמפרטורה והלחות הפשוט ביותר של IoT: מד הטמפרטורה והלחות הפשוט ביותר של IoT מאפשרים לך לאסוף טמפרטורה, לחות ומדד חום. לאחר מכן שלח אותם ל- Adafruit IO
מעגל שיכול לחוש את השינוי בערך הטמפרטורה: 10 שלבים
מעגל שיכול לחוש את שינוי ערך הטמפרטורה: מעגל זה מודד את הטמפרטורה באמצעות חיישן טמפרטורה LM35 ומשווה את מתח הכניסה באמצעות מגבר IC עם המידע שנאסף המעגל יפעיל ויכבה את הממסר
DIY הצג את הטמפרטורה על מסך LCD באמצעות Arduino: 10 שלבים
עשה זאת בעצמך הצג את הטמפרטורה על מסך LCD באמצעות Arduino: בפרויקט זה, אנו הולכים ליצור מעגל באמצעות כמה רכיבים כמו Arduino, חיישן טמפרטורה וכו 'במעגל זה התואר יראה ברציפות על ה- LCD, יש עיכוב של 100 אלפיות השנייה בין השקפת התואר החדש בנושא
רישום שינוי הטמפרטורה משינוי האקלים בפייתון: 6 שלבים
רישום שינוי הטמפרטורה משינויי האקלים בפייתון: שינויי אקלים הם בעיה גדולה. והרבה אנשים לא יודעים עכשיו כמה זה עלה. במדריך זה נתרשם את שינויי הטמפרטורה באקלים עקב שינויי אקלים. עבור גיליון בגידות, תוכל לצפות בקובץ הפייתון למטה