Mundarija:
- 1 -qadam: fكrة mخtصrh llmشrwع
- 2 -qadam: لlnنz اr لlmshtخdmh llmشrwع
- 3 -qadam: tلyl لlmشrwع bلllywح لltجryby
- 4 -qadam: tenglikni tenglamasi
- 5 -qadam: خطlخطwh mا قbl لlخzyrh
- 6 -qadam: خطlخطwة لlخzرrh
- 7 -qadam
Video: Haroratni o'lchash: 7 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:22
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ع
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
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
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:
XinaBox va termistor yordamida haroratni o'lchash: 8 qadam
XinaBox va termistor yordamida haroratni o'lchash: XinaBox -dan xChip analogli kirish va termistorli prob yordamida suyuqlik haroratini o'lchash
AD7416ARZ va Raspberry Pi yordamida haroratni o'lchash: 4 qadam
AD7416ARZ va Raspberry Pi yordamida haroratni o'lchash: AD7416ARZ-10 bitli harorat sensori, to'rt kanalli analogli raqamli konvertorlar va bortidagi harorat sensori. Qismlarga harorat sensori orqali multipleksorli kanallar orqali kirish mumkin. Bu yuqori aniqlikdagi harorat
STS21 va Arduino Nano yordamida haroratni o'lchash: 4 qadam
STS21 va Arduino Nano yordamida haroratni o'lchash: STS21 raqamli harorat sensori yuqori ishlash va bo'sh joyni tejash imkonini beradi. Bu raqamli, I2C formatida kalibrlangan, chiziqli signallarni beradi. Ushbu sensorning ishlab chiqarilishi CMOSens texnologiyasiga asoslangan bo'lib, u yuqori darajadagi
Infraqizil kontaktsiz haroratni o'lchash to'plami: 9 qadam
Infraqizil kontaktsiz haroratni o'lchash to'plami: 2020 yilda Yangi yil boshlanishining to'satdan avj olishi dunyoni niqob, termometr qurolidan judo qildi
Haroratni avtomatik o'lchash va ovozli ma'lumot: 5 qadam (rasmlar bilan)
Haroratni avtomatik o'lchash va ovozli ma'lumot: So'nggi kunlarda butun dunyo Covid19 virusi bilan kurashmoqda. Ta'sir qilingan odamlarni (yoki ta'sirlanishiga shubha qilingan) birinchi tekshirish tana haroratini o'lchashdir. Shunday qilib, bu loyiha tana haroratini avtomatik ravishda o'lchaydigan va ovoz orqali xabar beradigan modelga mo'ljallangan