INHOUDSOPGAWE:
- Stap 1: فكرة مختصره للمشروع
- Stap 2: العناصر المستخدمه للمشروع
- Stap 3: تشغيل المشروع باللوح التجريبي
- Stap 4: Aflaai PCB
- Stap 5: الخطوه ما قبل الاخيره
- Stap 6: الخطوة الاخيره
- Stap 7: الكود مع شرحها
Video: Meet die temperatuur: 7 stappe
2024 Outeur: John Day | [email protected]. Laas verander: 2024-01-30 07:23
هو قياس درجه الحراره باستخدام الكاميرا االحراريه
Stap 1: فكرة مختصره للمشروع
ظي ظل الازمه والجائحه التي يمربها العالم اجمع in محاربه الكوفيد 19 ونسأل الله السلامه والعافيه للجميع وارحم
فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
Stap 2: العناصر المستخدمه للمشروع
1: شهاشه TFT لعرض حراره الجسمه وهي متصله م عالكاميرا الحراريه التي تظهر ايضا درجه الحراره
2 -skerm LCD -skerms
3 اساس المسافه: وذلك اذا استشعر حساس المسافه جسم من امامه مباشرة احتساب درجه الحراره عن طريق الكاميرا الكامر
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5 اردوينو ميجا
Stap 3: تشغيل المشروع باللوح التجريبي
التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكلصف
وظيفة التست بورد باختصار: …
Stap 4: Aflaai PCB
Aflaai PCB مهم في حال اردت ان المشروع
Die PCB -weergawe:..هي لوح مسطح.
Stap 5: الخطوه ما قبل الاخيره
ب و و ا ا ا ا ا ا ا
Stap 6: الخطوة الاخيره
خط ا ا ا ا
Stap 7: الكود مع شرحها
LCD en SD
************************************************* ** ** ************************** هذه مكتبة لكاميرا AMG88xx GridEYE 8x8 IR
يصنع هذا الرسم كاميرا حرارية بدقة 64 بكسل مع مستشعر GridEYE 128x128 tft
مصمم فقطًا للعمل مع اندلاع Adafruit AMG88 -
تستخدم هذه المستشعرات I2C. Die I2C -weergawe is 0x69
Ad Ad Ad Adafruit ل ي Ad Ad Ad Ad Ad Ad Ad
بقلم دين ميلر للصناعات Adafruit. BSD ، تضمين نص في نص يصنف في إعادة توزيع *** ************************************* / // هذه المكتبات استدعاءها في بداية الكود عمليةهل كتابة الكود # تضمين // مكتبة الرسومات الأساسية # تضمين // مكتبة خاصة بالأجهزة # تضمين # تضمين # تضمين
// هذه تعريفات لأماكن اتصال الحساسات بالأردوينو # define TFT_CS 53 // رقاقة حدد لشاشة TFT # define TFT_RST 9 // يمكنك أيضا توصيل هذا بإعادة تعيين Arduino // في هذه الحالة, اضبط هذا # تعريف الدبوس على 0! #definieer TFT_DC 8 #definieer trig 12 #تعريف صدى 11 intاردبين int = 10 ؛
اللون الأزرق الأزرق // المبرمجين للمستقيم (سيكون أزرق على الشاشة) #define MINTEMP 22
الشاشة باللون الأحمر // المدى العالي للمستشعر (سيكون أحمر على الشاشة) # تعريف MAXTEMP 34
// هذا الأمر يقوم بتعريفه SR04 sr04 = SR04 (eggo ، 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) ؛, 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);
Reeks 1. begin (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) ؛ // دع المستشعر يصل
//////////////////////////////////////////////////// //// //// ///////// // هذه الأوامر تختص بحفظ البيانات على الذاكرة الخارجية ///////////////// ////////////////////////////////// (ا (! SD.begin (kaartspeld)) {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 * vloer (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ (ا (حز > maxx) {maxx = بكسل ؛ }} //////////////////////////////////////////////////////// ////////////////////////////////////////////////
// هذا الأمر يقوم بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. Afstand () ؛
/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dist> 40) {
// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آخر {
/ هذه جملة شرطية ، تنفيذ التعليمات التالية إذا (dist <6) {// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أبتعد عن الحا"
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }
نفذت الإجراءات التالية التالية {
// هذه تظهر تظهر على شاشة الكمبيوتر المسافة بالـ (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛
Ma الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maxx + 5.25 + (dist / 9)) * 100) ؛ Aflaai 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.print ("د ا ا""
المسلسل 1.println (intF) ،
// هذا الأمر إسناد الكتابة على الحرف الأول في السطر الثاني lcd.setCursor (0 ، 1) ؛
/ هذه الدرجة درجة الحرارة // الدرجات F ي مقياس الدرجة بدون الفاصلة العشرية. إذا كانت درجات فهرنهايت <10040) {// هذا الأمر على الشاشة الصغيرة جملة "اا الشخص سليم" lcd.print ("الشخص بأمان") ؛
} {ر {/ هذه الحرارة جملة من درجات الحرارة إذا كانت درجات الحرارة <= 10220) {// هذا ألشخص ؛ل؛ إلإ إل إلإ
مع أعلى درجات الحرارة من أعلى الصفحة ،ب إلى الطوارئ.
}} //////////////////////////////////////////////////////// ////////////////////////////////// ملف داخل كرت البحث عن درجات. الحرارة بداخله /////////////////////////////////// /////////////////////////// "data.txt" ، FILE_WRITE) ؛ (ا (ملف) {String fulldata = "Temp:" + String (degreesF) ؛ file.println (فولداتا) ؛ file.close () ؛ }
Meer {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأي كتابة البيانات على كرت الذاكرة Serial.println ("خطأ في كتابة")
}////////////////////////////////////////////// ///////////////////////////////////// يقوم بتوقيف الكود لمدة 200 حانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛
} // نهاية الحلقة
Aanbeveel:
Meet die afstand met die ultrasoniese sensor HC-SRF04 (nuutste 2020): 3 stappe
Meet die afstand met die ultrasoniese sensor HC-SRF04 (nuutste 2020): Wat is die ultrasoniese sensor (afstand)? 'N Ultraklank (sonar) met golwe op hoë vlakke wat mense nie kan hoor nie. Ons kan egter oral in die natuur die teenwoordigheid van ultraklankgolwe sien. By diere soos vlermuise, dolfyne … gebruik ultraklankgolwe om
4 stappe om die interne weerstand van die battery te meet: 4 stappe
4 stappe om die interne weerstand van die battery te meet: Hier is die 4 eenvoudige stappe wat u kan help om die interne weerstand van die beslag te meet
Meet Raspberry Pi, meet hoogte, druk en temperatuur met MPL3115A2: 6 stappe
Gebruik Raspberry Pi, meet hoogte, druk en temperatuur met MPL3115A2: weet wat u besit en weet waarom u dit besit! Dit is interessant. Ons leef in die tyd van internetautomatisering, aangesien dit in 'n magdom nuwe toepassings val. As rekenaar- en elektronika -entoesiaste het ons baie geleer met die Raspberry Pi en
Hoe om die kragverbruik van draadlose kommunikasiemodules korrek te meet in die era van lae kragverbruik ?: 6 stappe
Hoe om die kragverbruik van draadlose kommunikasiemodules korrek te meet in die era van lae kragverbruik?: Lae kragverbruik is 'n uiters belangrike konsep in die Internet of Things. Die meeste IoT -nodusse moet deur batterye aangedryf word. Slegs deur die kragverbruik van die draadlose module korrek te meet, kan ons akkuraat skat hoeveel battery ek
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: 9 stappe (met foto's)
Instruksies vir die voltooiing van die opmaak van die baanskyfontwerp vir die opheffing/verlaging van die middelste voetsteun op motorwielstoele: die middelste voetsteunhysers moet goed onder die sitplek geberg word en laer om te ontplooi. 'N Meganisme vir die onafhanklike werking van die opberging en ontplooiing van voetsteun is nie ingesluit by rolstoele op die mark nie, en PWC -gebruikers het die behoefte uitgespreek