» elektronika » Arduino »Arduino óra hőérzékelővel és RTS nélkül

Arduino óra hőérzékelővel és RTS nélkül

Arduino óra hőérzékelővel és RTS nélkül

Jó napot, ma megosztom az utasításokat, hogyan készítsünk órát szobahőmérővel. Az óra fut Arduino Az UNO, WG12864B grafikus képernyő az idő és a hőmérséklet megjelenítésére szolgál. Hőmérséklet-érzékelőként - ds18b20. A legtöbb órával ellentétben nem az RTS-t (Real Time Clock) fogom használni, hanem megpróbálom megtenni ezt a kiegészítő modult.

Ehhez házi A következő alkatrészekre van szükség:
- Arduino UNO (vagy bármely más Arduino kompatibilis tábla)
- Grafikus képernyő WG12864B
- ds18b20 hőmérséklet-érzékelő
- Ellenállás 4,7 Kom 0,25 W
- Ellenállás 100 ohm, 0,25 W
- Elemtartó rekesz négy AA elemhez, „ujj típusú”
- Megfelelő doboz
- Kis fájl
- körömlakk (fekete vagy test színű)
- Egy kicsit vékony műanyag vagy karton
- elektromos szalag
- összekötő vezetékek
- áramköri lap
- Gombok
- forrasztópáka
- Forrasztott, kolofon
- Kétoldalas szalag

1. lépés A ház előkészítése.
Tehát az óráinknak valahol kell elhelyezkedniük. Meg kell találnia a megfelelő dobozt. A lényeg az, hogy belefér a WG12864B képernyő, az Arduino és egy kis gombos áramköri kártya. A doboz minimális mérete 7 x 7 x 10 cm Ha kicsi Arduino deszkát használ, akkor egy dobozba és egy kisebbbe is beillesztheti, de a folyamatot példaként az Arduino UNO használatával írom le. Az anyag, amelyből a dobozt készítik, lehetőleg műanyag, ha - akárcsak az enyém - vas, érdemes gondoskodni a szigetelésről, hogy ne maradjon benne semmi „körül”. A műanyag előnyös, mert könnyebben vágható. Egy doboz mellett ő az óráink esetében, úgy döntött. Most ki kell vágnia egy ablakot a 6,5x4 cm-es képernyő alatt. Ha a doboz vas, rendkívül nehéz gondosan megtenni. Nem számít, mennyire próbálkozik, a vágás közelében csiszolt festék és érdesség lesz. Ezért először kivágjuk, erre a célra használhatjuk a „darálót”, fúrót fúvókával a vágáshoz, vagy általában az Ön által választott marógépet. Ezután megtisztítjuk a széleket egy reszelővel. Az összes aprított festéket megfelelő színű körömlakkkal festettük fel. Az eredménynek a következőnek kell lennie:


2. lépés Készítse elő a grafikus képernyőt.
A képernyő csatlakoztatásával első pillantásra sok probléma és nehézség merül fel. De ha először a típusukkal foglalkozunk, ez sokkal könnyebbé és érthetőbbé válik. Számos változat és típusú képernyő létezik a ks0107 / ks0108 vezérlőn.Az összes képernyőt általában 4 típusra osztják:
A lehetőség: HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T
B opció: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ Az AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG1286464J-1, kijelzők.
C lehetőség: Shenzhen Jinghua Displays Co Ltd. JM12864
D. lehetőség: Wintek-Cascades WD-G1906G, Wintek-GEN / WD-G1906G / KS0108B, Wintek / WD-G1906G / S6B0108A, TECDIS / Y19061 / HD61202, Varitronix / MGLS19264 / HD61202

A lista nem teljes, sok ilyen van. A leggyakoribb és véleményem szerint a legkényelmesebb WG12864B3 V2.0. A kijelző soros vagy párhuzamos porton keresztül csatlakoztatható az Arduino-hoz. Ha Arduino UNO-val használjuk, akkor jobb választani a soros port csatlakozást - akkor csak a mikrovezérlő 3 kimenetére van szükség, a minimum 13 vonal helyett, ha párhuzamos porton keresztül csatlakozunk. Minden egyszerűen kapcsolódik egymáshoz. Van még egy árnyalat, kétféle kijelző található a forgalomban: beépített potenciométerrel (a kontraszt beállításához) és anélkül. Úgy döntöttem, és azt tanácsolom, hogy tegye ugyanezt a beépített készülékkel.


Ez csökkenti az alkatrészek számát és a forrasztási időt. Érdemes egy 100 Ohm-os áramkorlátozó ellenállást elhelyezni a háttérvilágításhoz. 5 volt közvetlen csatlakoztatásával fennáll a háttérvilágítás megégésének veszélye.
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5 V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - az ellenálláson keresztül - + 5 V
20 (BLK) - GND

A legkényelmesebb dolog az, hogy mindent összegyűjt a képernyő mögött, és 5 vezetéket kiad ki tőle, hogy csatlakozzon az Arduino UNO-hoz. Az eredménynek ehhez hasonlónak kell lennie:


Azok számára, akik továbbra is választanak párhuzamos kapcsolatot, kapok egy csatlakozási táblázatot.


És a B. opció képernyőinek elrendezése:


3. lépés Csatlakoztassa a hőmérséklet-érzékelőt.
Mint mondtam, a DS18B20 integrált érzékelőt fogjuk használni a hőmérséklet mérésére. A magas mérési pontosság miatt választottam, a hiba nem haladja meg a 0,5 ° C-ot. Az érzékelőt a gyártáskor kalibrálták, további beállításokra nincs szükség. Hőmérséklet-mérési tartomány -55 ... + 125 ° C. Két működési mód létezik: külső áramforrással és „hamis árammal”. Ha külső energiaüzemmódban működik, a csatlakozás a következő:


"Hamis teljesítmény" használatakor az érzékelő energiát kap a kommunikációs vonaltól. Ebben a módban két vezeték elég ahhoz, hogy a ds18b20-at csatlakoztassák a mikrovezérlőhöz. Az érzékelő belső kondenzátora a kommunikációs vonalon lévő energia miatt a buszon alacsony szinten van töltve. A "parazita táplálkozás" mód számos tulajdonsággal rendelkezik, ezért nem javasolom ennek használatát. De ha továbbra is úgy dönt, hogy használja, itt van az ábra:


Vagy használhat egy továbbfejlesztett huzalozási diagramot a "hamis teljesítmény" használatakor:


Egy érzékelő vonalon több érzékelő is szerepelhet. Óráinkhoz elég egy. A vezetéket a „DQ” ds18b20 tüskétől az „5. tű” Arduino UNO-hoz csatlakoztatjuk.

4. lépés Tábla előkészítése gombokkal.
Az óra és a dátum beállításához három gombot fogunk használni. A kényelem érdekében forrasztja meg az áramköri lap három gombját, és húzza ki.


Az alábbiak szerint csatlakozunk: A három gomb közös vezetéke a „GND” Arduino-hoz van csatlakoztatva. Az első gomb az időbeállítási módba való belépéshez, az idő és a dátum átváltásához kapcsolódik a "2. tűhöz". A második, az érték növelésének gombja a „3. tű”, a harmadik, az érték csökkentésének a gombja a „4. tű”.

5. lépés Mindent összerakva.
A rövidzár elkerülése érdekében szigetelje a képernyőt. Körben elektromos szalaggal becsomagoljuk, és hátulján rögzítjük egy méretre vágott kétoldalas szalagot, amely szigetelő anyagból készült. Megfelelő vastag karton vagy vékony műanyag. Papírtablettából műanyagot használtam. Kiderült, hogy a következő:


A képernyő elülső oldalán, a széle mentén, kétoldalas szalagot ragasztunk be hab alapon, lehetőleg fekete.


Csatlakoztatjuk a képernyőt Arduino-hoz:


Ezenkívül az elemtartóból csatlakozunk a „VIN” Arduino-hoz, mínusz a „GND” -hez. Az Arduino mögé helyezzük. A tok felszerelése előtt ne felejtse el a hőmérséklet-érzékelőt és a táblát gombokkal csatlakoztatni.


6. lépés Készítse elő és töltse ki a vázlatot.
A hőmérséklet-érzékelőnek szüksége van a OneWire könyvtárra.
onewire.rar [16,75 Kb] (letöltések: 154)


A képernyőkimenet az U8glib könyvtáron keresztül történik:
u8glib.rar [906,95 Kb] (letöltések: 156)


A vázlat szerkesztéséhez és kitöltéséhez telepítse ezt a két könyvtárat. Ennek két módja van. Csomagolja ki ezeket az archívumokat, és helyezze a kicsomagolt fájlokat a „könyvtárak” mappába, amelyben a mappában található az Arduino IDE.Vagy a második lehetőség a könyvtár közvetlenül a programozási környezetbe történő telepítése. A letöltött archívumok kicsomagolása nélkül az Arduino IDE-ben válassza a Sketch - Connect Library menüt. A legördülő lista tetején válassza az "Add .Zip könyvtár hozzáadása" elemet. A megjelenő párbeszédpanelen válassza ki a hozzáadni kívánt könyvtárat. Nyissa meg újra a Vázlat - Csatlakozás könyvtárat menüt. A legördülő lista alján új könyvtárat kell látnia. Most a könyvtár használható programokban. Ne felejtse el újraindítani az Arduino IDE készüléket.

A hőmérséklet-érzékelő az egyvezetékes protokoll szerint működik, és minden eszköz számára egyedi címmel rendelkezik - 64 bites kóddal. A kód keresése minden alkalommal nem praktikus. Ezért előbb csatlakoznia kell az érzékelőt az Arduino-hoz, és töltse ki a Fájl - Példák - Dallas hőmérséklet - OneWireSearch menüben található vázlatot. Ezután futtassa az Tools - Port Monitor programot. Arduino-nak meg kell találnia az érzékelőnket, meg kell írni a címét és az aktuális hőmérsékleti értékeket. Másoljuk vagy egyszerűen felírjuk az érzékelőnk címét. Nyissa meg az Arduino_WG12864B_Term vázlatot, keresse meg a sort:

byte addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // az érzékelő címe 


Írjuk le az érzékelő címét a merevítők között, helyettesítve az érzékelő címeit.

Photo:

//u8g.setPrintPos (44, 64); u8g.print (sek); // Másolatok nyomtatása a kurzus helyességének ellenőrzéséhez


Másodperceket jelenít meg az „Data” mellett. Ez az idő menetének pontos meghatározásához szükséges.
Ha az óra siet vagy elmarad, módosítsa az értéket a sorban:

if (micros () - prevmicros> 494000) {// átváltás másikra igazítás céljából 500 000 volt


Kísérletileg meghatároztam azt a számot, amelyen az óra pontosan megy. Ha az órád siet, növelje ezt a számot, ha hátul vagyok, csökkentse azt. A kurzus pontosságának meghatározásához és másodpercek befejezéséhez van szükség. A szám pontos kalibrálása után a másodperc kommentálható és eltávolítható a képernyőről.

Töltse ki a vázlatot.
arduino_wg12864b_term.rar [3,64 Kb] (letöltések: 314)

7
9
5.3

Adj hozzá egy megjegyzést

    • smilemosolyogxaxarendbendontknowjehunea
      főnökkarcolásbolondigenigen-igenagresszívtitok
      Bocsánattáncdance2dance3megbocsátássegítségitalok
      megállásbarátokjógoodgoodsípájulásnyelv
      füsttapsolóCrayállapítsagúnyosdon-t_mentionletöltés
      hőségingerültlaugh1MDAtalálkozómoskingnegatív
      not_ipopcornbüntetolvasmegijesztijesztkeresés
      gúnyolódásthank_youeztto_clueumnikakutegyetért
      rosszbeeeblack_eyeblum3pírdicsekvésunalom
      cenzúrázottvidámságsecret2fenyegetgyőzelemyusun_bespectacled
      ShokRespektlolprevedfogadtatáskrutoyya_za
      ya_dobryisegítőne_huliganne_othodiFLUDtilalomközel

Azt javasoljuk, hogy olvassa el:

Adja át az okostelefon számára ...