Inhoudsopgave:
- Stap 1: فكرة مختصره للمشروع
- Stap 2: العناصر المستخدمه للمشروع
- Stap 3: تشغيل المشروع باللوح التجريبي
- Stap 4: تصميمPCB
- Stap 5: الخطوه ما قبل الاخيره
- Stap 6: الخطوة الاخيره
- Stap 7: الكود مع شرحها
Video: De temperatuur meten: 7 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:14
قياس درجه الحراره باستخدام الكاميرا االحراريه
Stap 1: فكرة مختصره للمشروع
في ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله السلامه والعافيه للجميع وارحم من توفاه الله
فمشروعنا يحتوى على 5 عناصر اساسيه ، وهي كاميرا تقيس الحراراه ، تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
Stap 2: العناصر المستخدمه للمشروع
1: شاشه TFT لعرض حراره الجسمه وهي متصله م عالكاميرا الحراريه التي تظهر ايضا درجه الحراره
2 شاشه LCD-scherm وضعنا الشاشه لعرض درجه الحراره رقميا لكي تظهر الحراره رقميا
3 حساس المسافه: وذلك اذا استشعر حساس المسافه جسم من امامه مباشرة احتساب درجه الحراره عن طريق الكاميرا الكاميراه
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5
Stap 3: تشغيل المشروع باللوح التجريبي
التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل صفوف واعمده تستخدم الدوائر الالكترونيه
التست بورد باختصار: …
Stap 4: تصميمPCB
تصميم printplaat مهم في حال اردت ان المشروع
ال printplaat:..هي لوح مسطح.
Stap 5: الخطوه ما قبل الاخيره
بعد ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل الخرجي اصغر ممكن وشكل متناقس وجميل
Stap 6: الخطوة الاخيره
الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناسب و متناسق
Stap 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 // في هذه الحالة ، اضبط هذا # تعريف الدبوس على 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 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) ik, 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) ؛
Serie1.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 (kaartpin ، الإخراج) ؛ إذا (! SD.begin (kaartpin)) {Serial.println ("تهيئة تهيئة SD") ؛ }
إذا (SD.bestaat ("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 * vloer (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ إذا (حز > maxx) {maxx = بكسل ؛ }} //////////////////////////////////////////////// ////// ////// //////////////////////////////////
// هذا الأمر يقوم بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. Afstand () ؛
/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (afst> 40) {
// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آخر {
/ هذه جملة شرطية ، تنفيذ التعليمات التالية إذا (afst <6) {// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أبتعد عن الحساس" Serial.println ("Ga verder") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }
الإجراءات التالية التالية {
// هذه تظهر تظهر على شاشة الكمبيوتر المسافة بالـ (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛
هذه الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maxx + 5.25 + (dist / 9)) * 100) ؛ تعويم nieuw2 = nieuwmax / 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 ("الشخص إلى المنزل") ؛
أعلى درجات الحرارة من أعلى الصفحة ، إذهب إلى الطوارئ.
}} //////////////////////////////////////////////// ////// ////// //////////////////////////////// // هذه الأوامر التي تفتح داخل كرت البحث عن درجات. الحرارة بداخله //////////////////////////////////////////////// //// ////// ////////////////////////////////// bestand = SD.open ("data.txt" ، FILE_WRITE) ؛ إذا (ملف) {String fulldata = "Temp:" + String (gradenF) ؛ bestand.println (فولداتا) ؛ bestand.close () ؛ }
آخر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأ في كتابة البيانات على كرت الذاكرة Serial.println ("خطأ في كتابة ملف البيانات") ؛
} ///////////////////////////////////////////////// //// ///// ////////////////////////////////////} // هذا الأمر يقوم بتوقيف الكود لمدة 200 ثانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛
} //
Aanbevolen:
Hoe maak je een CubeSat die temperatuur kan meten: 3 stappen
Hoe maak je een CubeSat die temperatuur kan meten: Kom mee en je zult een 11x11x11x11 kubus van pure verbeelding zien, pak mijn hand en je zult de temperatuur van Mars zien! (op de melodie van Willy Wonka's "Imagination") Vandaag laat ik zien dat je je eigen CubeSat moet bouwen! Ik en mijn partners Alyssa en
Temperatuur meten met een PT100 en een Arduino: 16 stappen
Temperatuur meten met behulp van een PT100 en een Arduino: Het doel van dit project is het ontwerpen, bouwen en testen van een temperatuurmeetsysteem. Het systeem is ontworpen om een temperatuurbereik van 0 tot 100 °C te meten. Een PT100 werd gebruikt om de temperatuur te meten, en het is een weerstandstemperatuurdetector (RTD)
Temperatuur meten met ADT75 en Raspberry Pi: 4 stappen
Temperatuurmeting met ADT75 en Raspberry Pi: ADT75 is een zeer nauwkeurige, digitale temperatuursensor. Het bestaat uit een bandgap-temperatuursensor en een 12-bits analoog-naar-digitaalomzetter voor het bewaken en digitaliseren van de temperatuur. Zijn zeer gevoelige sensor maakt hem competent genoeg voor mij
Temperatuur meten vanaf PT100 met Arduino: 6 stappen (met afbeeldingen)
Temperatuur meten van PT100 met behulp van Arduino: De PT100 is een weerstandstemperatuurdetector (RTD) die zijn weerstand verandert afhankelijk van de omgevingstemperatuur, hij wordt veel gebruikt voor industriële processen met een langzame dynamiek en relatief brede temperatuurbereiken. Het wordt gebruikt voor langzame dynam
Gebruik condensatoren om de temperatuur te meten: 9 stappen
Condensatoren gebruiken om temperatuur te meten: dit project kwam tot stand omdat ik een condensatorkit kocht met voornamelijk X7R-condensatoren (van goede kwaliteit), maar enkele van de hogere waarden van 100 nF en hoger waren het goedkopere en minder stabiele Y5V-diëlektricum, dat een enorme temperatuurverandering vertoont en op