Πίνακας περιεχομένων:
- Προμήθειες
- Βήμα 1: De Photon Instellen
- Βήμα 2: Paardenhaar
- Βήμα 3: Maak Een Horizontale Opstelling Met Daaraan Een Kastje
- Βήμα 4: Maak Een Kastje Voor De Photon En LCD-scherm
- Βήμα 5: Maak Een Hefboom
- Βήμα 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
- Βήμα 7: Κωδικός Schrijven
- Βήμα 8: Verbind De Photon
- Βήμα 9: Plaats De Photon En Het LCD-Scherm in De Opstelling
- Βήμα 10: Kalibreren (optioneel)
- Βήμα 11: Ο μετρητής ευρετηρίου De Warmte Is Klaar Voor Gebruik
Βίντεο: Μετρητής ευρετηρίου Warmte: 11 βήματα
2024 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2024-01-30 08:34
Met deze instructive kun je je eigen warmte index meter maken.
Een warmte index meter geeft de gevoelstemperatuur aan op based van de omgevingstemperatuur en de luchtvochtigheid.
Deze meter is bedoeld voor binnen maar kan buiten worden gebruikt mits er geen neerslag valt en er een windvrij plekje wordt gebruikt.
Προμήθειες
- Το Particle Photon συναντήθηκε με το breadboard
- Temperatuursensor (TMP36)
Afstandssensor voor afstanden tussen 10 en 20 cm.
- ΑΠΟΘΗΚΗ ΕΝΕΡΓΕΙΑΣ
- 220 Ohm καταλαβαίνουμε
- Breadboard draadjes, 9+
- Κινητό τηλέφωνο + Υπολογιστής
- Paardenhaar
- Hout en houtlijm
- Gereedschap: Boormachine/schroevendraaier, zaag en vijl
- Zeep
- 2 potloden- Kurk
- Kartonnen plaatje + wit papier
- Gewichtjes, denk aan kleine loodjes of metalen plaatjes
Optioneel:
- LCD scherm + 10k Ohm ποτενσιόμετρο + αρσενικός/θηλυκός άλτης draadjes, 12
- Luchtvochtigheidsmeter
- Θερμομετρητής- Rolmaat
Βήμα 1: De Photon Instellen
Benodigdheden:- Τηλέφωνο Mobiele
- Φωτόνιο
- Υπολογιστή
Κατεβάστε την εφαρμογή σωματιδίων στο τηλέφωνο και στο λογαριασμό σωματιδίων.
Σταματήστε το usb-kabel van de photon στον υπολογιστή σας, διεκδικήστε το photon en stel de wifi in.
Dit kan μέσω setup.particle.io.
Βήμα 2: Paardenhaar
Benodigdheden:- Paard
Voor het maken van de haar-hydrometer heb je een ontvette paardenhaar nodig van bij voorkeur minimaal 60 cm
De haren kunnen worden afgeknipt, του uit de staart/manen worden getrokken (op eigen risico).
Βήμα 3: Maak Een Horizontale Opstelling Met Daaraan Een Kastje
Benodigdheden:- Zeep
- Hout + lijm
- Gereedschap
Maak een ombouw waarbij de paardenhaar horizontaal kan worden gespannen en die tegelijkertijd enige bescherming biedt
Ontvet de paardenhaar
Span de haar horizontaal, bij voorkeur ελάχιστο 50 εκ. Zorg dat er genoeg haar over is om de hefboom en het gewicht te bevestigen (zie volgende stap)
Βήμα 4: Maak Een Kastje Voor De Photon En LCD-scherm
Benodigdheden:- Hout en houtlijm
- Gereedschap: zaag
Maak een simpele houten bak zonder deksel met een houten plank die in het midden staat als een divider. Op deze plank moet het breadboard met de photon passen als de bak op zijn zijkant wordt gezet. Daarnaa kan aan de onderkant van de bak een gat worden gemaakt voor het LCD-scherm. Dit gat moet parallel zijn met het plankje dat in de bak is gezet. Als de bak klaar is kan deze op zijn zijkant naast de haar worden gezet aan de kant waar de gewichtjes aan de haar hangen.
Βήμα 5: Maak Een Hefboom
Benodigdheden:- 2 potloden
- Κουρκ
- Kartonnen plaatje + wit papier
- Gewichtjes
- Gereedschap: vijl en boor
Boor een gat in het kastje en plaats het korte potlood. Het lange potlood dient uitgevijld te worden zodat deze op het korte potlood kan balanren.
Plak een wit velletje papier onder een plaatje (in dit geval karton) en plaats deze aan het uiteinde van de hefboom.
Verbind de paardenhaar aan de hefboom en balanceer deze uit met een gewichtje (zie afbeelding 3 ringen).
Βήμα 6: Plaats De Afstandmeter Onder Het (kartonnen) Plaatje
Benodigdheden:
- Afstandsensor
- Opzetstukje (optioneel)
Extra draad en soldeer set (optioneel)
Bij voorkeur met een afstand van minimaal 12 cm bij een relatieve luchtvochtigheid van +- 60%.
Indien nodig op een opzetstukje.
Als de bedrading van de afstandssensor niet de houten bak halen zullen deze eerst verlengd moeten worden.
Βήμα 7: Κωδικός Schrijven
Benodigdheden:- Λογαριασμός υπολογιστών με σωματίδια
Ga naar build.particle.io en maak een nieuwe app aan. Noem deze bijvoorbeeld HeatIndex.
Σε βάσεις βιβλιοθηκών, zoek LiquidCrystal και εισαγωγή αρχείου σε εφαρμογή.
Dan kan de volgende code gekopieerd worden στην εφαρμογή:
Lees de comments goed door als je wilt begrijpen wat elk stukje code precies doet.
Ook als er een probleem optreedt is het goed om de comments te raadplegen.
// Συμπεριλάβετε τις ακόλουθες βιβλιοθήκες: #include #include
// Οι αναλογικές ακίδες ανάγνωσης για όλους τους αισθητήρες σε αυτήν την κατασκευή:
int tempSensor = A0; int disSensor = A1;
// Κανόνες δημοσίευσης:
// Ο χρόνος καθυστέρησης και το όνομα του συμβάντος για δημοσίευση. // Χρόνος καθυστέρησης σε χιλιοστά του δευτερολέπτου. int delayTime = 15000; String eventName = "Actual_Temperature";
/////////////////////////////////////////////////
// Κωδικός οθόνης υγρών κρυστάλλων ///////////////////////////////////////// /////////////////// // Αρχικοποιήστε την οθόνη με τις ακίδες δεδομένων LiquidCrystal LCD (D5, D4, D3, D2, D1, D0).
// Ρύθμιση ορίων για τιμές δείκτη θερμότητας
int προσοχή = 27; int eCD = 33; int κίνδυνος = 40; int extreme = 52;
// Επιστρέφει ένα μήνυμα για μια συγκεκριμένη τιμή δείκτη θερμότητας.
Μήνυμα συμβολοσειράς (int hI) {if (hI <caution) {return "No caution."; } if (hI <eCD) {return "Προσοχή!"; } if (hI <κίνδυνος) {return "Extreme προσοχή!"; } if (hI <extreme) {return "Κίνδυνος !!"; } επιστροφή "ΕΞΤΡΕΜΟΣ ΚΙΝΔΥΝΟΣ !!"; }
// Το μήνυμα στη δεύτερη γραμμή της οθόνης.
String message2 = "Πραγματικό T:";
//////////////////////////////////////////////////////
// Κωδικός αισθητήρα απόστασης /////////////////////////////////////////// ///////////////////////////////////// // Ελάχιστες και μέγιστες πρώτες τιμές που επιστρέφει ο αισθητήρας. int minD = 2105; int maxD = 2754;
// Πραγματικές ακατέργαστες τιμές που επέστρεφε ο αισθητήρας κάθε 5mm.
int ten = 2754; int tenP = 2691; int έντεκα = 2551; int elevenP = 2499; int δώδεκα = 2377; int twelveP = 2276; int δεκατρία = 2206; int δεκατρίαP = 2198; int δεκατέσσερα = 2105;
// Επιστρέφει την απόσταση σε cm που ανήκει σε μια πρώτη τιμή για κάθε 5mm.
float getDis (int number) {switch (number) {case 2754: return 10; υπόθεση 2691: επιστροφή 10.5. υπόθεση 2551: επιστροφή 11; θήκη 2499: επιστροφή 11.5 υπόθεση 2377: επιστροφή 12; υπόθεση 2276: επιστροφή 12.5; θήκη 2206: επιστροφή 13; υπόθεση 2198: επιστροφή 13,5; θήκη 2105: επιστροφή 14; }}
// Υπολογίζει την πραγματική απόσταση σε cm που κατέγραψε ο αισθητήρας απόστασης.
float υπολογισμόςDis (int start, float stop, int μέτρηση) {float distance = getDis (έναρξη); float step = (στάση - εκκίνηση)/10; για (int i = 0; i <5; i ++) {if (μέτρηση = (βήμα εκκίνησης)) {απόσταση επιστροφής; } έναρξη = έναρξη - βήμα; απόσταση = απόσταση + 0.1; }}
// Ελέγχει τα μεγάλα όρια μεταξύ των οποίων βρίσκεται ο αισθητήρας απόστασης.
πλωτή απόσταση (int μέτρηση) {// Εάν ο αισθητήρας απόστασης δεν ήταν μεταξύ 10 και 14 cm, // δεν γνωρίζουμε την πραγματική απόσταση και επιστρέφουμε 10. εάν (μέτρηση maxD) {επιστροφή 10,0; } if (μέτρηση <= δεκατρίαP) {return calcDis (δεκατρίαP, δεκατέσσερα, μέτρηση); } if (μέτρηση <= δεκατρία) {return calcDis (δεκατρία, δεκατρίαP, μέτρηση); } if (μέτρηση <= δώδεκαP) {return calcDis (twelveP, δεκατρία, μέτρηση); } if (μέτρηση <= δώδεκα) {return calcDis (δώδεκα, δώδεκαP, μέτρηση); } if (μέτρηση <= έντεκαP) {return calcDis (έντεκαP, δώδεκα, μέτρηση); } if (μέτρηση <= έντεκα) {return calcDis (έντεκα, έντεκαP, μέτρηση); } if (μέτρηση <= tenP) {return calcDis (tenP, έντεκα, μέτρηση); } if (μέτρηση <= δέκα) {return calcDis (δέκα, tenP, μέτρηση); } // Ο κώδικας δεν πρέπει ποτέ να φτάσει εδώ. επιστροφή -2? }
///////////////////////////////////////////////////////////////////////////////////////
// Κωδικός αισθητήρα θερμοκρασίας ////////////////////////////////////////// //////////////////////////////////////////////// ///////////////////////////////////////////////////////// / // Η μέγιστη τάση σε mV που χρησιμοποιείται για τον αισθητήρα θερμοκρασίας. float maxV = 3300.0;
// Η τάση βάσης και η συνοδευτική θερμοκρασία που επιστρέφει ο αισθητήρας θερμοκρασίας.
// Η τάση είναι σε mV. int βάσηV = 750; int baseT = 25;
// Υπολογίζει τη θερμοκρασία από τη μετρούμενη τιμή στον αναλογικό πείρο.
float calcTemp (int μέτρηση) {float voltage = ((maxV/4096)*μέτρηση); float diff = baseV - τάση. float temp = baseT - (diff/10); θερμοκρασία επιστροφής? }
///////////////////////////////////////////////////
// Υπολογισμοί υγρασίας /////////////////////////////////////////// ////////////////////////////// // Μεταβλητές για υπολογισμούς υγρασίας, // προέρχονται από πραγματικούς αισθητήρες υγρασίας. float h15 = 10,0; float h30 = 10,5; float h60 = 11,5; float h75 = 12,0; float h90 = 12,5; float stepH = 0,167;
// Επιστρέφει τη σχετική υγρασία για ένα συγκεκριμένο εύρος απόστασης.
int calcHum (float dis, float lowH, float highH, int start) {float diff = dis - lowH; float i1 = diff/stepH; int i = στρογγυλό (i1); int έξοδος = (έναρξη + (5*i)); επιστροφή εξόδου? }
// Επιστρέφει τη σχετική υγρασία.
int υγρασία (float dis) {if (dis <= h30) {return calcHum (dis, h15, h30, 15); } if (dis <= h60) {return calcHum (dis, h30, h60, 30); } if (dis <= h75) {return calcHum (dis, h60, h75, 60); } if (dis <= h90) {return calcHum (dis, h75, h90, 75); } επιστροφή 100; }
///////////////////////////////////////////////////
// Τύπος δείκτη θερμότητας /////////////////////////////////////////// ////////////////////////////////// // Σταθερές που χρησιμοποιούνται στον τύπο του δείκτη θερμότητας float c1 = -8.78469475556; float c2 = 1.61139411; float c3 = 2.33854883889; float c4 = -0.14611605; float c5 = -0.0123008094; float c6 = -0.0164248277778; float c7 = 0,002211732; float c8 = 0.00072546; float c9 = -0.000003582;
// Ο τύπος δείκτη θερμότητας που λαμβάνει θερμοκρασία και σχετική υγρασία.
float heatIndex (float t, int h) {return c1 + (c2*t) + (c3*h) + (c4*t*h) + (c5*t*t) + (c6*h*h) + (c7*t*t*h) + (c8*t*h*h) + (c9*t*t*h*h); }
///////////////////////////////////////////////////////////////////////////////
// Άλλα fucntions/μεταβλητές //////////////////////////////////////// ////// /////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////Μμ String rOne (float num) {int value = round (num*10); Έξοδος συμβολοσειράς = (Χορδή) τιμή. char τέλος = έξοδος [strlen (έξοδος) -1]; int αριστερά = τιμή/10; String begin = (String) left? επιστροφή έναρξης + "." + τέλος? }
//////////////////////////////////////////////////////////////////////////////
/ Όλος ο κώδικας εδώ πρέπει να εκτελεστεί μία φορά στο Photon πριν ξεκινήσουν οι λειτουργίες βρόχου.
void setup () {// Ρυθμίστε τον αριθμό των στηλών και των σειρών LCD: lcd.begin (16, 2); }
// Όλος ο κώδικας εδώ βρίσκεται σε loop και πρέπει να περιέχει λήψη δεδομένων, βελτίωση και τοποθέτηση στο διαδίκτυο.
void loop () {// Λάβετε θερμοκρασία και υγρασία. float temp = calcTemp (analogRead (tempSensor)); float dis = απόσταση (analogRead (disSensor)); int hum = υγρασία (dis); String humid = (String) βουητό; // Υπολογίστε τον δείκτη θερμότητας. float hI = heatIndex (temp, βουητό); // Ρυθμίστε τη συμβολοσειρά εξόδου και εκτυπώστε όλα τα μηνύματα στην οθόνη LCD. Έξοδος συμβολοσειράς = rOne (hI); lcd.setCursor (0, 0); lcd.print (μήνυμα (στρογγυλό (hI))); lcd.setCursor (0, 1); lcd.print (message2 + έξοδος + "C"); έξοδος = έξοδος + "" + υγρό; // Δημοσιεύστε τις τιμές του δείκτη θερμότητας στο διαδίκτυο και περιμένετε πριν ξαναβρείτε το κύκλωμα. Particle.publish (Όνομα συμβάντος, έξοδος). καθυστέρηση (delayTime)? }
Βήμα 8: Verbind De Photon
Benodigdheden:
- Photon en breadboard
- Αισθητήρας θερμοκρασίας
- 220 Ohm καταλαβαίνουμε
- Afstandssensor
- Ποτενσιόμετρο LCD-scherm en 10k Ohm (optioneel)
- Genoeg breadboard draadjes, 9+
Άνδρας/Γυναίκα άλτης draadjes, 12 (optioneel)
Verbindt de 3.3V van de photon met de + rails aan dezelfde kant en verbindt de ground a - rails.
Verbindt de 5V van de photon aan de andere kant aan de + ράγες aan die kant.
Stop de temperatuursensor ergens met genoeg ruimte eromheen in het breadboard.
Verbindt de analoge output van de temperatuursensor met A0 van de photon en de ground met de ground rail.
Μπορείτε να κατανοήσετε την είσοδο του αισθητήρα και να καταλάβετε τις ράγες 3.3V.
Μπορείτε να επιλέξετε την είσοδο της πόρτας κατά την είσοδο σε ράγες 3.3V και να σταματήσετε, γείωση σε ράγες εδάφους και ανάλυση αναλύσεων σε Α1 και φωτόνιο.
Επίσης, είναι επιθυμητή η LCD-scherm wilt aansluiten wert dat alls volgt:
1. Verbindt de potentiometer aan het breadboard met 5V en de ground.
2. Verbindt de volgende jumper draadjes aan het LCD-scherm waarbij pin 1 het dichtsbij de rand van het scherm is.
Καρφίτσα 1, 5 και 16 από το έδαφος της οθόνης LCD. Καρφίτσα 2 en 15 naar 5V.
Verbindt de analoge output van potentiometer, de middelste pin, met pin 3 van LCD.
3. Βοηθήστε τις καρφίτσες των φωτονίων και τις καρφίτσες των LCD με το jumper draadjes.
Pin D5 naar Pin 4
Pin D4 naar Pin 6
Pin D3 naar Pin 11
Pin D2 naar Pin 12
Pin D1 naar Pin 13
Pin D0 naar Pin 14
Als de photon nu aanstaat en er aan de potentiometer gedraaid wordt moeten er op het het LCD-scherm blokjes verschijnen.
Βήμα 9: Plaats De Photon En Het LCD-Scherm in De Opstelling
Benodigdheden:- Powerbank (optioneel)
Nu de photon klaar voor gebruik is kan deze op het plankje in de bak geplaatst worden en het LCD-scherm kan tegen het gat geplakt worden. Δεν είναι δυνατή η στιγμή που όλα τα φωτόνια έχουν τεθεί σε λειτουργία με το powerbank και είναι φυσικό.
Βήμα 10: Kalibreren (optioneel)
Benodigdheden:
- Luchtvochtigheidssensor
- Θερμομετρητής
- Ρολμάατ
- Έξοδος κώδικα για τον κωδικό πρόσβασης και την παρακολούθηση της ανάλυσης
Όλα τα λογισμικά που έχουν προηγηθεί θα μπορούσαν να χρησιμοποιηθούν για την ανίχνευσή τους.
De temperatuurmeter kan vrij makkelijk gekalibreerd worden door metingen met een temperatuurmeter te vergelijken met de sensor.
Voor de luchtvochtigheid zal eerst de afstandssensor gekalibreerd moeten worden op afstand met behulp van een rolmaat en daarna zal het pas mogelijk zijn om de luchtvochtigheid goed te meten en te vergelijken met een echte luchtvocht
Σε de bijgeleverde κώδικα zitten σχόλια die aangeven waar dit soort kalibratie variabelen staan.
Βήμα 11: Ο μετρητής ευρετηρίου De Warmte Is Klaar Voor Gebruik
Veel plezier!
Συνιστάται:
Μετρητής επισκεπτών με χρήση αισθητήρα 8051 και IR με οθόνη LCD: 3 βήματα
Μετρητής επισκεπτών με χρήση αισθητήρα 8051 και IR με LCD: Αγαπητοί φίλοι, εξήγησα πώς να φτιάξετε έναν μετρητή επισκεπτών χρησιμοποιώντας αισθητήρα 8051 και υπέρυθρο και τον εμφανίσατε στην οθόνη LCD. Το 8051 είναι ένας από τους πιο δημοφιλείς μικροελεγκτές που χρησιμοποιούνται για χόμπι, εμπορικές εφαρμογές σε όλο τον κόσμο. Έχω κάνει vis
Μετρητής ποιότητας εσωτερικού αέρα: 5 βήματα (με εικόνες)
Μετρητής ποιότητας εσωτερικού αέρα: Απλό έργο για τον έλεγχο της ποιότητας του αέρα στο σπίτι σας. Δεδομένου ότι μένουμε/δουλεύουμε πολύ από το σπίτι τελευταία, ίσως είναι καλή ιδέα να παρακολουθούμε την ποιότητα του αέρα και να υπενθυμίζουμε στον εαυτό μας πότε είναι ώρα να ανοίξουμε το παράθυρο και πάρε λίγο καθαρό αέρα
Απλός μετρητής 20 LED Vu με χρήση LM3915: 6 βήματα
Απλός μετρητής 20 LED Vu με χρήση LM3915: Η ιδέα της κατασκευής μετρητή VU ήταν στη λίστα έργων μου εδώ και πολύ καιρό. Και τελικά μπορώ να τα καταφέρω τώρα. Ο μετρητής VU είναι ένα κύκλωμα για ένδειξη της ισχύος του ηχητικού σήματος. Το κύκλωμα μετρητή VU εφαρμόζεται συνήθως σε κύκλωμα ενισχυτή έτσι ώστε
Μετρητής ευρετηρίου UV χρησιμοποιώντας τον αισθητήρα ML8511 ULTRAVIOLET Arduino: 6 βήματα
UV Index Meter Using the ML8511 ULTRAVIOLET Sensor Arduino: Σε αυτό το σεμινάριο θα μάθουμε πώς να μετράμε τον δείκτη UV UV χρησιμοποιώντας τον αισθητήρα ML8511 ULTRAVIOLET. Δείτε το βίντεο! https://www.youtube.com/watch?v=i32L4nxU7_M
Απλός μετρητής πυκνωτή Autorange / μετρητής χωρητικότητας με Arduino και στο χέρι: 4 βήματα
Απλός μετρητής πυκνωτή Autorange / μετρητής χωρητικότητας με Arduino και στο χέρι: Γεια! Για αυτήν τη μονάδα φυσικής χρειάζεστε:* τροφοδοτικό με 0-12V* έναν ή περισσότερους πυκνωτές* μία ή περισσότερες αντιστάσεις φόρτισης* χρονόμετρο* πολύμετρο τάσης μέτρηση* arduino nano* οθόνη 16x2 I²C* αντιστάσεις 1 / 4W με 220, 10k, 4.7M και