Cov txheej txheem:

Ntsuas Kub: 7 Kauj Ruam
Ntsuas Kub: 7 Kauj Ruam
Anonim
Ntsuas Kub
Ntsuas Kub

هو قياس درجه باستخدام باستخدام الكاميرا

Kauj Ruam 1: Txheeb xyuas daim ntawv thov

في ظل الازمه والجائحه التي يمربها العالم اجمع في الكوفيد الكوفيد الكوفيد الكوفيد ونسأل ونسأل ونسأل

يحتوى 5 عناصر اساسيه ، وهي تقيس الحراراه الحراراه ، تظهر تظهر النتائج

Kauj Ruam 2: Txheeb xyuas daim ntawv thov

العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع
العناصر المستخدمه للمشروع

1: شاشه TFT حراره الجسمه الجسمه متصله متصله م عالكاميرا الحراريه الحراريه التي التي ايضا ايضا

2 شاشه LCD الشاشه لعرض لعرض الحراره رقميا رقميا لكي تظهر الحراره الحراره

3 حساس المسافه: وذلك اذا استشعر حساس المسافه جسم جسم من امامه امامه امامه مباشرة مباشرة احتساب

4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه

5 ib

Kauj Ruam 3: Ua raws li cov kauj ruam hauv qab no

التست: هو لوح لوح بلستيكي الشكل الشكل يضم يضم بداخليه نقاط نقاط معدنيه معدنيه

وظيفة التست بورد باختصار:…

Kauj Ruam 4: تصميم PCB

تصميم PCB
تصميم PCB
تصميم PCB
تصميم PCB

تصميم PCB في حال حال اردت ان المشروع

ال PCB باختصار:.. هي لوح مسطح.

Kauj Ruam 5: Ua raws li cov lus qhia hauv qab no

الخطوه ما قبل
الخطوه ما قبل

بعد ما تمت عمليه الطباعه والتحميض التخريم وتسجيل وتسجيل الاسلاك الاسلاك الاسلاك الاسلاك الاسلاك الاسلاك الاسلاك

Kauj Ruam 6: Ua raws li cov lus qhia hauv qab no

الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب المطلوب بعد بعد بعد بعد بعد بعد

Kauj Ruam 7: Ua raws li cov lus qhia hauv qab no

LCD thiab SD

********************************************************** ****** ** ** *************************** مكتبة لكاميرا G AMG88xx GridEYE 8x8 IR

Rid هذا بدقة بدقة بدقة 64 مستشعر مع مستشعر GridEYE وشاشة 128x128 tft

Af فقطًا للعمل اندلاع اندلاع Adafruit AMG88 -

2 المستشعرات 2 I2C للتواصل. I2C هو 69 0x69

Af Adafruit الموارد الموارد في هذا الكود المصدر ، أجهزة af Adafruit المفتوح المفتوح عن شراء المنتجات af af Adafruit!

Af ميلر للصناعات af Adafruit. ترخيص BSD ******** تضمين في نص في ******** ******** ******** *************************************************** ************************************************************ // المكتبات المكتبات استدعاءها في بداية عمليةهل عمليةهل كتابة # تضمين // الرسومات الرسومات الأساسية # تضمين // مكتبة خاصة بالأجهزة # تضمين # تضمين # تضمين # تضمين

// f تعريفات لأماكن بالأردوينو de #define TFT_CS 53 // حدد لشاشة لشاشة TFT #define TFT_RST 9 // يمكنك أيضًا توصيل هذا بإعادة تعيين du Arduino // في هذه الحالة ، اضبط هذا #تعريف الدبوس على! #define TFT_DC 8 #define trig 12 #تعريف كاردبين 11 كاردبين int = 10 ؛

اللون الأزرق المبرمجين (سيكون أزرق الشاشة الشاشة) #define MINTEMP 22

XT باللون الأحمر // العالي العالي للمستشعر (أحمر أحمر على #) # تعريف MAXTEMP 34

// الأمر الأمر بتعريفه 0 SR04 sr04 = SR04 (ncha ، trig) ؛

I عناصر الصورة الأبرز // هذا الأمر ، ذلك كريستال I I_ 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 ، 0xF220 ، 0xF200 ، 0xF1E0 ، 0xF1C0 ، 0xF180 ، 0xF 60 ، 0x ، ، ، 0x ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، ، // الأمر الأمر بتعقبه بتعقبه 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 ، 0xE 0 0xE 80 0xE 80 0xE 80 0xE 80 0xE 80 0xE 80 0xE 0 0xE 80 0xE 0 0xE 0 0xE 80 0xE 80 0xE 80 0xE 80 0xE 0 0xE 0 0xE 0 0xE 80 0xE 0 0x 80 ، 0x BC ، ، 0xEA40 ، 0xF220 ، 0xF200 ، 0xF1E0 ، 0xF1C0 ، 0xF1A0 ، 0xF180 ، 0xF160 ، 0xF140 ، 0xF100 ، 0xF0E0 ، 0xF0C0 ، 0xF0A0 ، 0xF080 ، 0xF 60 ، 0x0 ، 0x0 800 0x0 800 0x0 800 0x0 800 0x0 800 0x0 800 0x0 800 0x0 (TFT_CS ، TFT_DC ، TFT_RST) ؛ 0xE5A0 ، 0xE580 ، 0xE560 ، 0xE540 ، 0xE520 ، 0xE500 ، 0xE4E0 ، 0xE4C0 ، 0xE4A0 ، 0xE480 ، 0xE460 ، 0xEC40 ، 0xEC20 ، 0xEC00 ، 0xE 0 0x ، 0xE 80 0xE 80 0xE 80 0xE 80 0xE 80 0xE 80 0xE 0 0xE 0 0xE 0 0x 80 ، 0x BC ، ، ، 0xF220 ، 0xF200 ، 0xF1E0 ، 0xF1C0 ، 0xF1A0 ، 0xF180 ، 0xF160 ، 0xF140 ، 0xF100 ، 0xF0C0 ، 0xF0A0 ، 0xF080 ، 0xF060 ، 0xF0 TF 0xF0 ، 0xF0 ، ،0F 77 ؛ E 0xEB60 ، 0xEB40 ، 0xEB20 ، 0xEB00 ، 0xEAE0 ، 0xEAC0 ، 0xEAA0 ، 0xE80 ، 0xEA80 ، 0xEA60 ، 0xEA40 ، 0xF220 ، 0xF1E0 ، 0xF1C0 ، 0xF1A0 ، 0xF1 20 0x 1 0x 1 100 0x 1 ، 0x 1 ، 0x 1 ، 0x 1 ، ، 0xF800 ؛ // الأمر الأمر بتعقبه بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS ، TFT_DC ، TFT_RST) ؛ E 0xEB60 ، 0xEB40 ، 0xEB20 ، 0xEB00 ، 0xEAE0 ، 0xEAC0 ، 0xEAA0 ، 0xE80 ، 0xEA80 ، 0xEA60 ، 0xEA40 ، 0xF220 ، 0xF1E0 ، 0xF1C0 ، 0xF1A0 ، 0xF1 20 0x 1 0x 1 100 0x 1 ، 0x 1 ، 0x 1 ، 0x 1 ، ، 0xF800 ؛ // الأمر الأمر بتعقبه بتعقبه Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS ، TFT_DC ، TFT_RST) ؛

// الأمر الأمر يقوم عنصر الكاميرا الحرارية af Adafruit_AMG88xx amg

// متغيرات متغيرات متغيرات الكاميرا الحرارية تأخير وقت وقت وقت طويل ؛ العائم العائم [AMG88xx_PIXEL_ARRAY_SIZE] ؛ uint16_t displayPixelWidth (displayPixelHeight)

// هذا التابع يعمل على بدء عند الأردوينو الإعداد)) () {// هذا الأمر يقوم يقوم بفتح تسلسلي بين في الأخطاء الحساسات الحساسات الحساسات الحساسات الحساسات الحساسات Serial.begin (9600) ؛

Serial1.begin (9600) ؛ //////////////////////////////////////////////////////////// //// //// //////////// // هذه الأوامر التي تقوم بعرض البيانات // ///////////////////////// ////// //////////////////////////// ////////// lcd.init () lcd.init () اضاءه اضاءه ال ال) () ////////////////////////////////////////////////////////// //// //// ////////////

// الأمر الأمر يقوم جملة على الكمبيوتر أن الكاميرا الكاميرا ial ial 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 (daim npav)) {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 kuv = 0 ؛ i

// ارسم ارسم! tft.fillRect (displayPixelHeight * pem teb (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) إذا (حز > maxx) {maxx = بكسل ؛ }} ////////////////////////////////////////////////////// ////// ////// /////////////////////////////////////

// هذا الأمر يقوم المسافة المسافة في المسافة والمسافة سم سم سم سم سم (سم) dist = sr04. Distance () ؛

/ هذه جملة شرطية كانت المسافة من سم سم 40 سم تنفيذ الأوامر التالية dist (deb> 40) {

// هذا الأمر يظهر شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛

// هذا الأمر يظهر الشاشة الصغيرة جملة "من الحساس الحساس" lcd.print ("اقترب أكثر") ؛ Ib آخر

/ هذه جملة شرطية تنفيذ تنفيذ التالية dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist dist (deb <6) {// هذا الأمر يظهر على شاشة الكمبيوتر جملة أبتعد أبتعد أبتعد Ser الحساس Ser Ser Serial.println ("Mus deb dua") ؛

// هذا الأمر يظهر الشاشة الصغيرة جملة "عن الحساس الحساس" lcd.print ("اذهب أبعد") ؛ }

الإجراءات التالية التالية

// تظهر تظهر تظهر على الكمبيوتر المسافة سم (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛

Wm الأوامر بحساب درجة wm wm wm newmax = دائري ((maxx + 5.25 + (dist / 9)) * 100) ؛ تعويم new2 = newmax / 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)) ؛

// الأمر الأمر يقود درجة الحرارة بعد درجة الحرارة محارف محارف محارف l l STRING lcd.print ("الحرارة الحرارة:" + سلسلة (فهرنهايت فهرنهايت)) ؛

المسلسل 1.println (intF) ،

// الأمر الأمر إسناد على الحرف في السطر الثاني lcd.setCursor (0 ، 1)

/ هذه الدرجة الحرارة // الدرجات F هي مقياس الدرجة بدون الفاصلة العشرية كانت كانت درجات فهرنهايت <10040) {// هذا الأمر على الصغيرة الصغيرة هذا "هذا الشخص سليم" lcd.print ("الشخص بأمان") ؛

} آخر {/ هذه الحرارة جملة درجات الحرارة إذا درجات درجات الحرارة = <= 10220) {// هذا الأمر يظهر على الشاشة جملة إذهب "إذهب المنزل المنزل" lcd.print ("الشخص إلى المنزل")

من أعلى درجات من من أعلى الصفحة ، ، إذهب إلى

}} ////////////////////////////////////////////////////// ////// //////// ملف داخل كرت البحث عن الحرارة بداخله //////////////////////////////////////////////// //// ////// ////////////////////////////////// file = SD.open ("data.txt" (FILE_WRITE) ؛ إذا (ملف) {String fulldata = "Temp:" + String (degreesF) ؛ file.println (فولداتا) file.close () }

// {// هذا الأمر يظهر على شاشة وجود خطأ كتابة على على كرت كرت الذاكرة الذاكرة ial ial Serial.println ("خطأ في كتابة ملف البيانات البيانات") ؛

} //////////////////////////////////////////////////////// //// //////////////////////////////////////////// // الأمر الأمر يقوم بتوقيف الكود ثانية 200 ثانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم المحتويات من الشاشة cd lcd.clear () ؛

} // الحلقة الحلقة

Pom zoo: