Innholdsfortegnelse:
- Trinn 1: فكرة مختصره للمشروع
- Trinn 2: العناصر المستخدمه للمشروع
- Trinn 3: تشغيل المشروع باللوح التجريبي
- Trinn 4: Last ned PCB
- Trinn 5: الخطوه ما قبل الاخيره
- Trinn 6: الخطوة الاخيره
- Trinn 7: الكود مع شرحها
Video: Måling av temperaturen: 7 trinn
2024 Forfatter: John Day | [email protected]. Sist endret: 2024-01-30 11:20
هو قياس درجه الحراره باستخدام الكاميرا االحراريه
Trinn 1: فكرة مختصره للمشروع
ظي ظل الازمه والجائحه التي يمربها العالم اجمع في محاربه الكوفيد 19 ونسأل الله الللمهم
فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا
Trinn 2: العناصر المستخدمه للمشروع
1: TFT -oversikt
2 -tommers LCD -skjerm og LCD -skjerm
3 ا ا ا فه فه فه فه فه فه
4 الكاميرا: الكاميرا الحرارية: استخدام الكاميرا الحرارية من طريق الشاشه.
5 اردوينو ميجا
Trinn 3: تشغيل المشروع باللوح التجريبي
Kontaktinformasjon: هو لوح بلستيكي مسطح الشكل يضم بداخليه
وظيفة التست بورد باختصار:…
Trinn 4: Last ned PCB
Last ned PCB مهم في حال
For PCB -versjon:..هي لوح مسطح.
Trinn 5: الخطوه ما قبل الاخيره
ب و و ا ك شك شك شك
Trinn 6: الخطوة الاخيره
خط ا ا ا ا ا ا ا ا ا ا ا ا ا ا
Trinn 7: الكود مع شرحها
LCD og SD
************************************************* ** ** ************************** هذه مكتبة لكاميرا AMG88xx GridEYE 8x8 IR
يصنع هذا الرسم كاميرا حرارية بدقة 64 بكسل مع مستشعر GridEYE وشاشة 128x128 tft
مصمم فقطًا للعمل مع اندلاع Adafruit AMG88 -
تستخدم هذه المستشعرات I2C للتواصل. عنوان I2C للجهاز og 0x69
ت ت Ad Adafruit ل ل Ad Ad Ad Ad
بقلم دين ميلر للصناعات 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
ش ش //
// هذا الأمر يقوم بتعريفه SR04 sr04 = SR04 (echo ، trig) ؛
عنصر عناصر الصورة ، حجمه الأبرز // اا الأمر ، يقوم بتعقب ذلك ،ريستال_ I2C lcd (0x27 ، 16 ، 2) ؛ // قاسية عمق عنوان LCD على 0x27 لعرض 16 حرفًا وخطين // LiquidCrystal LCD (27, 28, 29, 30, 31, 32, 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 displayPixelBredde ، displayPixelHøyde ؛
// هذا التابع يعمل على بدء تشغيل عند الأردوينو الإعداد باطل () {// هذا الأمر يقوم بفتح منفذ تسلسلي بين الأردوينو والبدء في الأخطاء وعرض البيانات التي تلقيها من الحساسات Serial.begin (9600);
Serial1.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.begynner (16 ، 2) ؛ تأخير (100) ؛ // دع المستشعر يصل
///////////////////////////////////////////// //// //// /////// ///////////////////////////////////// (ا (! SD.begin (cardpin)) {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 * gulv (i / 8) ، displayPixelWidth * (i ٪ 8) ، displayPixelHeight ، displayPixelWidth ، camColors [colorIndex]) ؛ إذا (حز > maxx) {maxx = بكسل ؛ }} //////////////////////////////////////////// ///////////////////////////////////
// هذا الأمر يقوم بقياس المسافة والمسافة في قياس المسافة والمسافة تقاس بالـ (سم) dist = sr04. Distance () ؛
/ هذه جملة شرطية إذا كانت المسافة أعلى من 40 سم تنفيذ الأوامر التالية إذا (dist> 40) {
// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أقترب من الحساس" Serial.println ("اقترب") ؛
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أقترب من الحساس" lcd.print ("اقترب أكثر") ؛ } آخر {
/ هذه جملة شرطية ، تنفيذ التعليمات التالية إذا (dist <6) {// هذا الأمر يظهر على شاشة الكمبيوتر جملة "أبتعد عن الحا"
// هذا الأمر يظهر على الشاشة الصغيرة جملة "أبتعد عن الحساس" lcd.print ("اذهب أبعد") ؛ }
نفذت الإجراءات التالية التالية {
// هذه تظهر تظهر على شاشة الكمبيوتر المسافة بالـ (سم) Serial.print (Dist) ؛ Serial.println ("سم") ؛
هذه الأوامر التي بحساب درجة الحرارة بالدرجة تعويم newmax = دائري ((maksx + 5,25 + (dist / 9)) * 100) ؛ تعويم 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) {// هذا الأمر يظهر على الشاشة جملة "إذهب إلى المنزل" lcd.print ("الشخص إلى المنزل");
من أعلى درجات الحرارة من أعلى الصفحة ، إذهب إلى الطوارئ.
}} //////////////////////////////////////////// //////////////////////////////////// ملف داخل كرت البحث عن درجات. الحرارة بداخله //////////////////////////////////// /////////////////////////// "data.txt" ، FILE_WRITE) ؛ (ا (ملف) {String fulldata = "Temp:" + String (graderF) ؛ file.println (فولداتا) ؛ file.close () ؛ }
{ر {// هذا الأمر يظهر على شاشة الكمبيوتر وجود خطأي كتابة البيانات على كرت الذاكرة Serial.println ("خطأ في كتابة مفل")
}///////////////////////////////// //// ///// ///////////////////////////////// يقوم بتوقيف الكود لمدة 200 حانية حتى يستقر المتحكم تأخير (200) ؛ // هذا الأمر يقوم بمسح المحتويات من الشاشة lcd.clear () ؛
} // نهاية الحلقة
Anbefalt:
Måling av motorhastighet ved bruk av Arduino: 6 trinn
Måling av motorhastighet ved bruk av Arduino: Er det vanskelig å måle turtall på motor ??? Jeg tror ikke det. Her er en enkel løsning. Bare en IR -sensor og Arduino i settet ditt kan gjøre det. I dette innlegget vil jeg gi en enkel opplæring som forklarer hvordan du måler turtall for enhver motor ved hjelp av IR -sensor og A
Sensorisk maling: 5 trinn
Sensorial Painting: Sensorial Painting er en proyecto diseñado para que alguien no vidente pueda pintar eller dibujar dentro de bordes que uno pueda delimitar. En este caso utilizaremos un Kultrun de la cultura y pueblo mapuche. SP te avisará mediante sonidos de un Trompe
Måling av akselerasjon ved bruk av ADXL345 og Particle Photon: 4 trinn
Måling av akselerasjon ved bruk av ADXL345 og Particle Photon: ADXL345 er et lite, tynt, ultralavt, 3-akset akselerometer med høy oppløsning (13-bit) måling på opptil ± 16 g. Digitale utdata er formatert som 16-biters tokomplement og er tilgjengelig via I2 C digitalt grensesnitt. Den måler
DIY Vis temperaturen på LCD -skjermen ved hjelp av Arduino: 10 trinn
DIY Vis temperaturen på LCD -skjermen ved hjelp av Arduino: I dette prosjektet skal vi lage en krets ved hjelp av noen komponenter som Arduino, temperatursensor, etc. I denne kretsen vil graden ses kontinuerlig på LCD -skjermen, det er 100 millisekunder forsinkelse mellom synet på den nye graden på
Hjemmeautomatisering: Lyd en alarm og display på LCD når temperaturen er over terskelverdien: 5 trinn
Hjemmeautomatisering: Lyd en alarm og display på LCD når temperaturen er over terskelverdien: Denne bloggen vil demonstrere hvordan du lager et hjemmeautomatiseringssystem som begynner å utløse en alarm når temperaturen når mer enn den programmerte terskelverdien. Det vil fortsette å vise gjeldende temperatur i rommet på LCD -skjermen og handling er nødvendig