Obsah:
- Krok 1: Kliknite sem
- Krok 2: العناصر المستخدمه للمشروع
- Krok 3: تشغيل المشروع باللوح التجريبي
- Krok 4: PCميم PCB
- Krok 5: الخطوه ما قبل الاخيره
- Krok 6: الخطوة الاخيره
- Krok 7: الكود مع شرحها
Video: Meranie teploty: 7 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:55
هو قياس درجه الحراره باستخدام الكاميرا االحراريه
Krok 1: Kliknite sem
ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله السلامه والعافيه للجمال
فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
Krok 2: العناصر المستخدمه للمشروع
1: TFT TFT
2 LCD monitory
3. Júl.
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5 اردوينو ميجا
Krok 3: تشغيل المشروع باللوح التجريبي
التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل صفوف واعمده تستخدم الدوائر الالكترو
وظيفة التست بورد باختصار:…
Krok 4: PCميم PCB
PCميم PCB مهم في حال اردت ان المشروع
PCB PCB:..هي لوح مسطح.
Krok 5: الخطوه ما قبل الاخيره
م ما تمت عمليه الطباعه والتحميض و التخريم وتسجيل الاسلاك بالشكل اللائق يكون الشكل الخرجي اصغر ممكن وشكل متا
Krok 6: الخطوة الاخيره
الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد تن تم وضعه في الصندوق في الشكل المناسب و متناسق
Krok 7: الكود مع شرحها
LCD a SD
********************************************************** ** ** **************************** هذه مكتبة لكاميرا AMG88xx GridEYE 8x8 IR
يصنع هذا الرسم كاميرا حرارية بدقة 64 بكسل مع مستشعر GridEYE وشاشة 128x128 tft
Informácie o produkte Adafruit AMG88 -
تستخدم هذه المستشعرات I2C للتواصل. Iنوان I2C للجهاز هو 0x69
Adمر Adafruit الموارد الموارد في هذا الكود المصدر ، يرجى دعم أجهزة Adafruit والمصدر المفتوح عن طريق شراء المنتجات من Adafruit!
تلم دين ميلر للصناعات Adafruit. صرخيص BSD ، تضمين نص في نص يصنف في إعادة توزيع ***************************************** ************** ********************************** الكود عمليةهل كتابة الكود # تضمين // مكتبة الرسومات الأساسية # تضمين // مكتبة خاصة بالأجهزة # تضمين # تضمين # تضمين # منن تضم
// هذه تعريفات لأماكن اتصال الحساسات بالأردوينو #define TFT_CS 53 // رقاقة حدد لشاشة TFT #define ي Ard Ard Ard Ard Ard #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) ؛, 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 ( الكاميرا الحرارية AMGxx!)
////////////////////////////////////////////////////////// //// //// ////////// // هذه الأوامر التي تقوم برفع الشاشة وعرض طولها وعرضها ///////////////////////// //// /////////////////////////////////// //////////// 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 ("اقترب أكثر") ؛ } آخر {
/
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }
نفذت الإجراءات التالية التالية {
// هذه تظهر تظهر على شاشة الكمبيوتر المسافة بالـ (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛
Max الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maxx + 5.25 + (dist / 9)) * 100) ؛ تعويم new2 = newmax / 100 ؛ درجات تعويم F = (ديد 2) ؛ // (1,8 * ديد 2 + 32) * 100 ؛ intF = (int) درجة F ؛
// هذا الأمر يدرس درجة الحرارة بالدرجة المئوية بفواصل عشرية على شاشة الكمبيوتر // مثال 36.24 درجة مئويةرial (ر (// هذا الأمر يسجل درجة الحرارة بالدرجة المئوية على شاشة الكمبيوتر // مثال 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) {// هذا الأمر يظهر على الشاشة جلى إذهبلى الى
من أعلى درجات الحرارة من أعلى الصفحة ، إذهب إلى الطوارئ.
}} //////////////////////////////////////////////////////// ////// ////// //////////////////////////////////// // هذه الأوامر التي تفتح ملف داخل كرت البحث عن درجات. الحرارة بداخله ////////////////////////////////////////////////////////// //// ////// ////////////////////////////////////// súbor = SD.open ("data.txt" ، FILE_WRITE) ؛ إذا (ملف) {String fulldata = "Temp:" + String (° F) ؛ file.println (فولداتا) ؛ file.close () ؛ }
{ر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأ في كتابة البيانات على كرت الذاكرة Serial.println („خطأ في كتابة ملف ال
} ///////////////////////////////////////////////////////// //// ///// //////////////////////////////////////////// // هذا الأمر يقوم بتوقيف الكود لمدة 200 ثانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛
} // نهاية الحلقة
Odporúča:
Meranie času (hodiny na meranie pásky): 5 krokov (s obrázkami)
Meranie času (hodiny na meranie pásky): Pre tento projekt sme (Alex Fiel a Anna Lynton) vzali každodenný merací nástroj a urobili z neho hodiny! Pôvodný plán bol motorizovať existujúci zvinovací meter. Pri tom sme sa rozhodli, že bude jednoduchšie vytvoriť si vlastnú škrupinu,
Meranie teploty pomocou XinaBoxu a termistora: 8 krokov
Meranie teploty pomocou XinaBoxu a termistora: Zmerajte teplotu kvapaliny pomocou analógového vstupu xChip od XinaBoxu a sondy termistora
Infračervená bezkontaktná súprava na meranie teploty: 9 krokov
Infračervená bezkontaktná súprava na meranie teploty: Náhla epidémia na začiatku Nového roku 2020 zanechala svet so stratou Maska, teplomer
Automatické meranie teploty a hlasu: 5 krokov (s obrázkami)
Automatické a hlasové meranie teploty: Aktuálne celý svet bojuje s vírusom Covid19. Prvá kontrola postihnutých osôb (alebo podozrivých z vykonania) je meranie telesnej teploty. Tento projekt je teda vytvorený tak, aby dokázal automaticky merať telesnú teplotu a informovať o tom
Meranie teploty pomocou snímača teploty LM35 s Arduino Uno: 4 kroky
Čítanie teploty pomocou snímača teploty LM35 s Arduino Uno: Ahoj chlapci, v tomto návode sa naučíme používať LM35 s Arduino. Lm35 je teplotný senzor, ktorý dokáže čítať hodnoty teploty od -55 ° C do 150 ° C. Jedná sa o 3-terminálne zariadenie, ktoré poskytuje analógové napätie úmerné teplote. Hig