Orodha ya maudhui:
- Hatua ya 1: فكرة مختصره للمشروع
- Hatua ya 2: العناصر المستخدمه للمشروع
- Hatua ya 3: تشغيل المشروع باللوح التجريبي
- Hatua ya 4: تصميم PCB
- Hatua ya 5: الخطوه ما قبل الاخيره
- Hatua ya 6: الخطوة الاخيره
- Hatua ya 7: الكود مع شرحها
Video: Kupima Joto: Hatua 7
2024 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2024-01-30 12:48
هو قياس درجه الحراره باستخدام الكاميرا االحراريه
Hatua ya 1: فكرة مختصره للمشروع
في ظل الازمه والجائحه التي ي
فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
Hatua ya 2: العناصر المستخدمه للمشروع
1: شاشه TFT
LCD 2 ya LCD na Kioo
حساس المسافه;
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5 اردوينو ميجا
Hatua ya 3: تشغيل المشروع باللوح التجريبي
التست بورد: هو لوح بلستيكي مسطح الشكل يضم بداخليه نقاط معدنيه متصله على شكل صفوف واعمده تستخدم الدوائر الالكتروني
Mchango:…
Hatua ya 4: تصميم PCB
تصميم PCB kwa muda mfupi au saa moja kwa moja
ال PCB Kesi:..هي لوح مسطح.
Hatua ya 5: الخطوه ما قبل الاخيره
عد ت ت
Hatua ya 6: الخطوة الاخيره
الخطوة الاخيره و هي التاكد من المشروع بالشكل المطلوب بعد أن تم وضعه في الصندوق في الشكل المناسب و متناسق
Hatua ya 7: الكود مع شرحها
LCD na SD
************************************************** ** ** *************************** هذه مكتبة لكاميرا AMG88xx GridiEYE 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! #fafanua TFT_DC 8 #fafanua trig 12 # تعريف صدى 11 كاردبين int = 10 ؛
اللون الأزرق الأزرق // المبرمجين للمستقيم (سيكون أزرق على الشاشة) #fafanua 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 kuonyeshaPixelWidth ، kuonyeshaPixelHeight ؛
// ذذ ال تع (Serial1. Kuanza (9600) ؛ /////////////////////////////////////////////////////////// //// //// /////////// // // ////// ////////////////////////////////////////// lcd.init () ، lcd.init () ، اضاءه خلفيه ال سى دى () ؛ /////////////////////////////////////////////////////////// //// //// ///////////
// هذا الأمر يقوم بعرض جملة على شاشة الكمبيوتر توضح أن الكاميرا الحرارية Serial.println (F ("الكاميرا الحرارية AMG88xx!")) ؛
/////////////////////////////////////////////////////////// //// //// /////////// // ذذ //// /////////////////////////////////////////////tft.initR (INITR_144GREENTAB ، // تهيئة تهيئة ST7735S tft.fillScreen (ST7735_BLACK) ، showPixelWidth = tft.width () / 8 onyeshaPixelHeight = tft. urefu () / 8 //tft.set الدوران (3) ، //////////////////////////////////////////////// ///// /////////////////////////
// ذذ م غت ت
// هذا الأمر ، يقوم بالتأكد من أنه يستخدم الكاميرا بشكل صحيح // ، يظهر هذا الحالة. إذا (! الحالة) {Serial.println ("تعذر العثور على مستشعر AMG88xx صالح ، تحقق من تسوية!") ؛ بينما (1) ؛ }
Serial.println ("- اختبار الكاميرا الحرارية -") ؛ // lcd. kuanza (16 ، 2) ؛ تأخير (100) ؛ // دع المستشعر يصل
/////////////////////////////////////////////////////////// //// //// //////// // Unapenda kituo hiki? ////// //////////////////////////////////// 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 (بكسل) ؛
//////////////////////////////////////////////////////////// //// //// /////////////////////////////////// // // Maneno ya Uhindi //// /////////////////////////////////////////////////////// //////// /////////////////////////////////// تعويم maxx = -99.9 ؛ لـ (int i = 0 ؛ i
// ارسم البكسل! tft.fillRect (onyeshaPixelHeight * sakafu (i / 8) ، onyeshaPixelWidth * (i ٪ 8) ، kuonyeshaPixelHeight ، kuonyeshaPixelWidth ، camColors [colorIndex]) ؛ إذا (حز > maxx) {maxx = بكسل ؛ }} ////////////////////////////////////////////////////////// ////// ////// ///////////////////////////////////////
// هذا الأمر يقوم بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. Usaidizi () ؛
/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dist> 40) {
// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آخر {
/ هذه جملة شرطية ت تنفيذ التعليمات التالية إذا (dist <6)
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" 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 ؛
// Furaha
// هذا الأمر يسجل درجة الحرارة بالدرجة المئوية على شاشة الكمبيوتر // Jumamosi 36 درجة مئوية Serial.println (intF) ؛
// هذا الأمر إسناد الكتابة على المحرف الأول في السطر الأول lcd.setCursor (0 ، 0) ؛
//lcd.print ("Temp:" + سلسلة (درجة F / 100)) ؛
// هذا الأمر يقود إلى درجة الحرارة الصغيرة بعد تحويل درجة الحرارة إلى مصفوفة محارف STRING lcd.print ("درجة الحرارة:" + سلسل: "+ سلسل
المسلسل 1.println (intF) ،
// هذا الأمر إسناد الكتابة على الحرف الأول في السطر الثاني lcd.setCursor (0 ، 1) ؛
/ هذه الدرجة درجة الحرارة // الدرجات F هي مقياس الدرجة بدون الفاصلة العشرية. إذا كانت درجات فهرنهايت>
} آخر {/ هذه الحرارة جملة من درجات الحرارة إذا كانت درجات الحرارة <= 10220) {// هذا الأمر يظهر على الشاشة جملة "إذهب إل" إذهب إل"
من أعلى درجات الحرارة من أعلى الصفحة ، بهب إلى الطوارئ.
}} ////////////////////////////////////////////////////////// ////// ////// /////////////////////////////////// // هذه الأوامر التي تفتح ملف داخل كرت البحث عن درجات. الحرارة بداخله ////////////////////////////////////////////////////////// //// ////// ////////////////////////////////////// file = SD. "data.txt" ، FILE_WRITE) ؛ إذا (ملف) {String fulldata = "Temp:" + Kamba (degreesF) ؛ faili.println (فولداتا) ؛ faili. karibu () ؛ }
آخر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأ في كتابة البيانات على كرت الذاكرة Serial.println ( خطأ في كتابة ملف البيانات
} /////////////////////////////////////////////////////////// //// ///// /////////////////////////////////////////}} // هذا الأمر يقوم بتوقيف الكود لمدة 200 ثانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd. Wazi () ؛
} // نهاية الحلقة
Ilipendekeza:
Tachometer / kupima kupima Kutumia Arduino, OBD2, na CAN Bus: 8 Hatua
Upimaji wa Tachometer / Scan Kutumia Arduino, OBD2, na CAN Bus: Wamiliki wowote wa Toyota Prius (au mseto / gari maalum) watajua kuwa dashibodi zao zinaweza kukosa simu chache! Ubora wangu hauna RPM ya injini au kupima joto. Ikiwa wewe ni mtu wa utendaji, unaweza kutaka kujua vitu kama mapema ya muda na
Joto la kupima joto la Pizza la Arduino: Hatua 7
Joto la kupima joto la Pizza la Arduino: Kila mtu amekuwa na wakati huo ambapo ni papara sana na inabidi achukue pizza ya kwanza kutoka kwa oveni tu ili iweze kuchoma paa la mdomo wake na joto la jua elfu. Najua nimekuwa na nyakati hizi na mimi mwisho
Jinsi ya kutumia Sensor ya Joto la DHT11 na Arduino na Joto la Uchapishaji wa Joto na Unyevu: Hatua 5
Jinsi ya Kutumia Sensorer ya Joto la DHT11 Na Arduino na Joto la Uchapishaji Joto na Unyevu: Sura ya DHT11 hutumiwa kupima joto na unyevu. Unyevu wa DHT11 na sensorer ya joto hufanya iwe rahisi sana kuongeza data ya unyevu na joto kwenye miradi yako ya elektroniki ya DIY. Ni kwa kila
Joto -Joto La Kudhibitiwa la Joto La joto: Hatua 6
Joto -Joto La Kutabasamu La Kudhibiti Joto: ******************************************* ************************************************** +
USB ya ndani / Joto la kupima joto (au, 'Kifaa Changu cha Kwanza cha USB'): Hatua 4 (na Picha)
Kipimajoto cha ndani cha ndani / cha nje cha USB (au, 'Kifaa changu cha kwanza cha USB'): Huu ni muundo rahisi ambao unaonyesha pembeni ya USB kwenye PIC 18Fs. Kuna rundo la mifano ya vifaranga vya 18F4550 40 mkondoni, muundo huu unaonyesha toleo ndogo la pini la 18F2550 28. PCB hutumia sehemu za milima ya uso, lakini yote c