Mundarija:

Haroratni o'lchash: 7 qadam
Haroratni o'lchash: 7 qadam

Video: Haroratni o'lchash: 7 qadam

Video: Haroratni o'lchash: 7 qadam
Video: 🤔 Erim har kuni 2-3 marta qo'shilaylik, birga bo'laylik, yaqinlik qilaylik deydi. | Fayoz Aminov 2024, Noyabr
Anonim
Haroratni o'lchash
Haroratni o'lchash

Hw chyos drجh حlحrاr bبshtخdاm كljamyra حlحraryh

1 -qadam: fكrة mخtصrh llmشrwع

Fy ظl لlزzm wwlجkئحh لlty ymrbhا لlعlm جmع fy mzarbh كlكwfyd 19 vnsأl لllh لlslمm wاlعfyh جlتw lh

فمشروعنا يحتوى على 5 عناصر اساسيه, وهي كاميرا تقيس الحراراه, تظهر النتائج وظهر درجه الحراره الداخليه بالجسم يرمز الاحمر هناك درجه حراره مرتفعه اللون الاخضر يدل على هناك درجه حراره مرتفعه وشاشه تعطي نتائج درجه الحراره للشخص المار امام الكاميرا واخيرا اردوينو ميجا

2 -qadam: لlnنz اr لlmshtخdmh llmشrwع

لlعnصr لlmshtخdmh llmشrwع
لlعnصr لlmshtخdmh llmشrwع
لlعnصr لlmshtخdmh llmشrwع
لlعnصr لlmshtخdmh llmشrwع
لlعnصr لlmshtخdmh llmشrwع
لlعnصr لlmshtخdmh llmشrwع

1: T ش ش ع ض ض ا ا ا ه ج ج ج ج م ه ه ص ص ص ك ك ك ك ا ا ا ا ح

2 -chi LCD vzضnا شljzش lعrض drجh حlحrاrh rقmyي lكy tظxr حlحrاrh rقmyي

3 ta اsas لlsmفfh: wذlك ذzذ شstشsرr حssas لlsmهfsجsm mn اmhه mbشrة حtسsb dجrجh حlحrاrh نn kryk قlكyيrا

4 كljamyra: كljamyra حlحryاryة: خstخdاm كlكmyrر حlحraryر mn طryق شlشzh.

5 Ardvyno myzha

3 -qadam: tلyl لlmشrwع bلllywح لltجryby

لltst bwrd: hw lwk blystyky msطح شكljl yzm bdخlyh nقq mddnye mtxlh ىlff ww wعmmh tshtdh لljz

Wظyfة لltst bwrd bخtgصr:…

4 -qadam: tenglikni tenglamasi

PCB
PCB
PCB
PCB

Tcymym PCB mhm fy kحl رrrdt نn لlmشrwع

PCl PCB baqtصr:.. Hay lwح ms.

5 -qadam: خطlخطwh mا قbl لlخzyrh

خطlخطwh mا قbl لlخzyrh
خطlخطwh mا قbl لlخzyrh

Bd mt tmt عmlyh طlطbاhh woltkymy w wltqrym wtssyl اlاslكk شكlشكl ئقlكk كwn شكljl خlخrجy صغr mmn gwl مlm

6 -qadam: خطlخطwة لlخzرrh

خطlخطwة لlخzyrh v hy لltكqd mn لlmشrwع bشكlشكl لlmطlwb bعd أn tm wضshe fy صlصndwf fy شكlشكl لlmnasb w mntasق

7 -qadam

LCD va SD

************************************************ ** ** ****************************************** AMG88xx GridEYE 8x8 IR

Yصnع hذa لlrsm gكmyra kحrryة bdقة 64 bsll mع msgشr GridEYE wzش 128x128 tft

Mصmm fقطًa llعml mع نndlا Adafruit AMG88 -

Ttخdm hhh لlmsstشrاt I2C lltwol. نnwan I2C llجhز hh 0x69

Tstثmr Adafruit لlmword لlmword f f hhذ كlكwd صlmصdr ، yrجى dعm أجhزة Adafruit wolmصdr لlmftwح نn kryk شrءf Almntجt!

Bílm dín mílr llصnāعat Adafruit. Tخrصy BSD ، tضmynn nص fy nص yصnf fy إadا twزyع ************************************* ********** كlكvd مmlyةhl كtاbة كlكvd # tضmyn // mكtbة لlsrمmاt أlsأsةy # tضmin // mكtbة خs bبlأجxزة # tضmyn # tضn # tضn # tضm # tضn

// هذه تعريفات لأماكن اتصال الحساسات بالأردوينو #define TFT_CS 53 // رقاقة حدد لشاشة TFT #define TFT_RST 9 // يمكنك أيضا توصيل هذا بإعادة تعيين Arduino // في هذه الحالة, اضبط هذا # تعريف الدبوس على 0! #define TFT_DC 8 #dejinli trig 12 #tعriff ddd 11 كardbyn int = 10

لllwn أزlأزrق أزljrق // لlmbrmcynn llmshtyym (syكwn أزrق ىlى شlشz) #define MINTEMP 22

شljzشة byllkon أحljmr // مlmdj لlعly llymstشsr (syكwn أحmr ىlى شljz) # tعriff MAXTEMP 34

// hذذ أljmr yقwm btعryfh SR04 sr04 = SR04 (echo ، trig) ؛

صnصr نnصr صlصwrة ، mhm أlأbrز // hذa أlأmr ق yقwm btقsb ذlك ، kryshtal_ I2C lcd (0x27 ، 16 ، 2) ؛ // gقsةg عmق نnwan LCD عlى 0x27 lrr 16 shriff vzyn // LiquidCrystal LCD (27 ، 28 ، 29 ، 30 ، 31 ، 32) ؛

Mll لlmlf ؛

Ytm gff لlmsaff fyh msaf zhwyll

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,}; // hذذ أljmr yقwm btقsقbh 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) 1, 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 ،} ؛ // hذذ أljmr yقwm btقsقbh 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 ،} ؛ // hذa أljmr yقwm btقsقbh Adafruit_ST7735 tft = Adafruit_ST7735 (TFT_CS, TFT_DC, TFT_RST) ؛

// hذa أljmr yقwm btعryf عnصr كlكmyيra حlحraryر Adafruit_AMG88xx amg ؛

// hhh mtzyrat ltحydyd كljamyra حljحrryة tأخyr wwt kwyl bdwon tقzyع ؛ لlbكsl لlعsئm [AMG88xx_PIXEL_ARRAY_SIZE] ؛ uint16_t displayPixelWidth (displeyPixelHeight)

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

Seriya 1. boshlanishi (9600) ؛ / /// // ////////////////////////////////////////////////////// lcd.init () ، lcd.init () ، ض ء ء فlfyh لl sى dى () / ///////////////////

// hذذ أlأmr yقwm bعrض cmlة ىlى kشk كljmbywtr tضحn ك كlكmyrر حlحraryر Serial.println (F ("كlكmyrر حlحrryر!" AMG88x)

/ ///////////////// hذh أlأwomr لlty tقwm bفrfع شlشz wعrض kwlha wعrshha /////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////// tft.initR (INITR_144GREENTAB) ، // tهyئة tهyئة ST7735S tft.fillScreen (ST7735_BLACK) ، displayPixelWidth = tft.width () / 8 displayPixelHeight = tft.height () / 8 dyuym //tft.set لLDWRAN (3) ، ///////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////

// hذo mtغyyr ytm kff gحlة كljamyra حlحraryة tعml / lا tعml gحlة mnطقyة

// hذo أljmr ، yقwm baltأكd mn jnh yshthdm كlكmyra bشكl chyح // ، yhhr hzذ حlحlة. Gإذ (! حlحlyة) {Serial.println ("tذs اr لlثswur ىlى msgشr AMG88xx jصlح ، tحقق mn tswyة!") Bingma (1) ؛ }

Serial.println (" - خttbاr كljamyrر حlحraryر -") ؛ //lcd.begin (16 ، 2) ؛ ((100) ؛ // dع لlmstشsرr yصl

/ ////////////////////////////////////////////////////////////////////////////////////////////////////////////// // //////////////////////////////////////////// pinMode (kartpin ، إخlإخraج) ؛ إذ (! SD.begin (kartpin)) {Serial.println ("tهy tتyئة SD") ؛ }

G (SD.exists ("data.txt")) {Serial.println ("data.txt mcwud.") ؛ G (SD.remove ("data.txt")) {Serial.println ("ttt kإزlة لlmlf bnجq") ؛ } آخr {Serial.println ("tذr kإزlة mlf لlbyيnاt.") ؛ }} /////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////

} // naهyة إlإdدd

// هذا التابع يعمل بشكل مستمر بعد الانتهاء من التابع الأول // يتكرر تنفيذ الأمر بداخل هذا التابع إلى أن يبدأ تنفيذ الأمر ببدء تنفيذ الأمر في أردوين, وهو يقوم بأداء العمليات في الأردوينو حلقة فارغة () {// هذا الأمر يقوم بقراءة جميع النقاط حlحrryة mn كljamyra // قrأ كl لlbكsl amg.readPixels (bsll)

/ /// // //////////////////////////////////////////////////////////////// // //////////////////////////////////////// tعwym maxx = -99.9 L (int i = 0 ؛ i

// سrsm لlbكsl! tft.fillRect (displayPixelHeight * qavat (i / 8), displeyPixelWidth * (i 8), displeyPixelHeight, displeyPixelWidth, camColors [colorIndex]) Gإذ (حز > maxx) {maxx = bssl ؛ }} /////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////

// hذa أljmr yقwm bقyos لlmsaff wolmsaff fy qyas لlmsaf wwlmsaff tقs balا (sm) dist = sr04. Distance () ؛

/ Hذh gجmlة kشrطyة kإذ kكnt لlmsafة أlى m min 40 sm tnfyذ أlأwomr لltalyk gإذ (dist> 40) {

// hذذ أljmr yظxr عlى kشg شةlكmbywtr جmllة "tبrb mn حlحsas" Serial.println ("قttrb") ؛

// hذo أljmr yظxr عljzش شljzشة صغlصغyrة جmllة "tأقrb mn حlحsas" lcd.print ("قtرrb kأكثr") ؛ } {R {

/ Hذh gجmlة شrطyة ، tnfyذ لltعlymمt لttalyk gإذ (dist <6) {// hذذ أlأmr yظxr ىlى شkشة كlكmbywtr جmlة "أbحl ft prt" Tartrt fحr artt "Tartrt fحr نn"

// hذذ أlأmr yظxr عlى شljzشة صغlصغyrة جmllة "تbtعd نn حlحsas" lcd.print ("ذhhb أbعd") ؛ }

Nfذt إجlإجrءtءt لttalyة لltalyk {

// hذh tظxr tظxr عlى kشg شةlكmbywtrr لlmsaff bـlـ (sm) Serial.print (Dist) ؛ Serial.println ("sm") ؛

Hhh أljwomr لlty bsحb drجة حlzحrة bاldrجة tعwym newmax = dئry ((maxx + 5.25 + (dist / 9)) * 100) Tywym new2 = newmax / 100 Dجrجttعwym F = (zid 2) ؛ // (1,8 * 2 + 32) * 100 intF = (int) darchasi F

// hذذ أlأmr ydrs drجة حlqrاr bاldدr لlmئwyة bfwصl شrشy عlى kش شةlكmbywtrr // mثl 36.24 dجةrئ mئwyة Serial جةr؛nنt

// hذذ أlأmr ysجl dجةrجة حlzrاr bاldrجة لlmئwyة ىlى kش شةlكmbywtrr // mثol 36 dجةr mئwyة Serial.println (intF) ؛

// hذذ أlأmr إsnad كltكtةbة ىlj لlmzrf أlأwl fy لlsطr أlأwl lcd.setCursor (0 ، 0) ؛

//lcd.print("Temp: "+ ssl (d /F /100)) ؛

// hذa أljmr yقwd klى drجة حlحrاrة صغlصغyrة bعd tحwyl dجةrجة حlحrاrة mlصfwf mحarf STRING lcd.print ("dجةrح حlلrجة")

لlmsll 1.println (intF) ،

// hذذ أlأmr إsnad كltكtbة عlى حlحrf أlأwl fy لlsطr ثlثny lcd.setCursor (0 ، 1) ؛

. Jك kكnt dجrجt fهrnhayt <10040) {// hذذ أlأmr ىlى شljzشة صغlصغyrة جmlة "hذa شخصlشخص slym" lcd.print ("شخصlشخص bأmاn") ؛

} آخr {/ hذh حlحrاrة kmllة mn dجrgجt حlحrاrة kإذ kكnt dجrجt حlحrاrة <= 10220) {// hذذ أlأmr yظxr عlى شltش جlج "جlm"

Mn أlى dجrجt حlحrاrة mn أlىf صlff حة إذhb إlى طlطworئ.

}} /////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////// hذh أlأwomr لlty tft Mlf dخgl كrt لlbحث عn darchat. حlحrاr bdخlh /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////// fayl = SD.open ("data.txt" (FILE_WRITE) Z (mlf) {String fulldata = "Temp:" + String (darajaF) ؛ file.println (faylda) file.close () ؛ }

{R {// hذa أljmr yظxr عlى kشg شةljmbywtr wwwd f f ttabb لlbynat عlt كrt ذlzذrة Serial.println ("خطأ fy tكtا ةbم")

} //////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////} Yقwm btwقyf كlكvd lmdة 200 gثnة kةtى yىstقr لlmtحكm tأخyr (200) ؛ // hذذ أljmr yقwm bsm حlmحtwyاt mn شlشz lcd.clear () ؛

} // nahayة حlحlقة

Tavsiya: