» elektronika » Arduino »Hodinky Arduino so snímačom teploty a bez RTS

Hodinky Arduino so snímačom teploty a bez RTS

Hodinky Arduino so snímačom teploty a bez RTS

Dobré popoludnie, dnes sa podelím o pokyny, ako si vyrobiť hodinky s izbovým teplomerom. Hodinky bežia ďalej Arduino Grafická obrazovka UNO, WG12864B sa používa na zobrazenie času a teploty. Ako snímač teploty - ds18b20. Na rozdiel od väčšiny ostatných hodiniek nebudem používať RTS (hodiny reálneho času), ale snažím sa to urobiť bez tohto doplnkového modulu.

Za týmto účelom domáci Vyžadujú sa tieto komponenty:
- Arduino UNO (alebo akákoľvek iná doska kompatibilná s Arduino)
- Grafická obrazovka WG12864B
- snímač teploty ds18b20
- rezistor 4,7 Kom 0,25 W
- Odpor 100 ohmov 0,25 W
- priehradka na batérie pre 4 batérie typu AA typu „prst“
- Vhodný box
- Malý súbor
- lak na nechty (čierna alebo farba tela),
- Trochu tenký plast alebo lepenka
- elektrická páska
- spojovacie vodiče
- doska plošných spojov
- Tlačidlá
- spájkovačka
- Spájka, kolofónia
- Obojstranná páska

Krok 1 Príprava krytu.
Naše hodinky by sa preto mali niekde nachádzať. Musíte nájsť vhodný box. Hlavná vec je, že sa do nej zmestí obrazovka WG12864B, Arduino a malá doska pre tlačidlá. Minimálna veľkosť škatule je 7 x 7 x 10 cm. Ak používate malú dosku Arduino, môžete ju strčiť do škatule a menšiu, ale ako príklad popíšem postup pomocou Arduino UNO. Materiál, z ktorého je škatuľka vyrobená, je výhodne plast, ak je, podobne ako moje, železo, stojí za to sa o izoláciu postarať, aby vo vnútri nebolo čo „obísť“. Plast je výhodnejší, pretože je ľahšie rezať. S krabicou je to prípad našich hodiniek, rozhodol sa. Teraz je potrebné odrezať okno pod obrazovkou o rozmeroch 6,5 x 4 cm, ak je krabica zo železa, je veľmi ťažké to urobiť opatrne. Bez ohľadu na to, ako sa pokúsite, v blízkosti rezu bude štiepaná farba a drsnosť. Preto ho najskôr vyrežeme, na to môžete použiť „brúsku“, vŕtačku s dýzou na rezanie alebo frézu podľa vášho výberu, podľa toho, čo máte na dosah. Potom vyčistíme hrany pomocou súboru. Všetku štiepanú farbu natierame lakom na nechty, vhodnou farbou. Výsledkom by malo byť toto:


Krok 2 Pripravte grafickú obrazovku.
S pripojením obrazovky na prvý pohľad vznikajú mnohé problémy a ťažkosti. Ale ak sa najprv vysporiadate s ich typmi, bude to oveľa jednoduchšie a zrozumiteľnejšie. Na radiči ks0107 / ks0108 je veľa variácií a typov obrazoviek.Všetky obrazovky sú zvyčajne rozdelené do 4 typov:
Variant A: HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T
Variant B: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ Displeje AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG1286464J-1, QY8, QY8, QY8, QY8, QY8, QY8.
Variant C: Shenzhen Jinghua zobrazuje spoločnosť Co. Ltd. JM12864
Variant D: Wintek-Kaskády WD-G1906G, Wintek-GEN / WD-G1906G / KS0108B, Wintek / WD-G1906G / S6B0108A, TECDIS / Y19061 / HD61202, Varitronix / MGLS19264 / HD61202

Zoznam nie je úplný, je ich veľa. Najbežnejšie a podľa môjho názoru výhodné WG12864B3 V2.0. Displej je možné pripojiť k Arduino cez sériový alebo paralelný port. Pri použití s ​​Arduino UNO je lepšie zvoliť pripojenie pomocou sériového portu - potom pri pripojení cez paralelný port potrebujeme iba 3 výstupy mikrokontroléra namiesto minimálne 13 riadkov. Všetko je spojené jednoducho. Existuje ešte jedna nuansa, dva druhy displejov nájdete v predaji so zabudovaným potenciometrom (na úpravu kontrastu) a bez neho. Vybral som si a odporúčam vám urobiť to isté s vstavaným.


To znižuje počet súčiastok a čas spájkovania. Za podsvietenie sa tiež oplatí vložiť obmedzujúci odpor 100 ohmov. Priamym pripojením 5 voltov existuje riziko spálenia podsvietenia.
WG12864B - Arduino UNO
1 (GND) - GND
2 (VCC) - + 5V
4 (RS) - 10
5 (R / W) - 11
6 (E) - 13
15 (PSB) - GND
19 (BLA) - cez odpor - + 5V
20 (BLK) - GND

Najpohodlnejšia vec je zhromaždiť všetko za obrazovkou a na výstup z nej 5 vodičov na pripojenie k Arduino UNO. Výsledkom by malo byť niečo také:


Pre tých, ktorí si stále vyberú paralelné pripojenie, dám tabuľku pripojení.


A rozloženie obrazoviek voľby B:


Krok 3 Pripojte snímač teploty.
Ako som už povedal, na meranie teploty použijeme integrovaný senzor DS18B20. Vybral som si ho pre jeho vysokú presnosť merania, chyba nie je vyššia ako 0,5 ° C. Senzor je kalibrovaný v čase výroby, nie sú potrebné žiadne ďalšie nastavenia. Rozsah merania teploty -55 ... + 125 ° C Existujú dva režimy prevádzky: s externým zdrojom energie a „rušivou energiou“. Ak pracujete v režime externého napájania, pripojenie je nasledovné:


Pri použití „rušivého výkonu“ senzor prijíma energiu z komunikačnej linky. V tomto režime postačujú dva vodiče na pripojenie ds18b20 k mikrokontroléru. Interný kondenzátor snímača je nabíjaný v dôsledku energie na komunikačnej linke pri nízkej úrovni na zbernici. Režim „parazitická výživa“ má veľa funkcií, a preto ho neodporúčam používať. Ale ak sa stále rozhodnete použiť ho, tu je schéma:


Alebo môžete použiť vylepšenú schému zapojenia pri použití „rušivého výkonu“:


Na jednej komunikačnej linke môže byť zahrnutých niekoľko senzorov. Na naše hodinky stačí jedna. Vodič z kolíka „DQ“ ds18b20 pripájame k „kolíku 5“ Arduino UNO.

Krok 4 Príprava dosky s tlačidlami.
Na nastavenie času a dátumu na hodinkách použijeme tri tlačidlá. Pre lepšie pohodlie spájajte tri tlačidlá na doske plošných spojov a zapojte.


Pripojíme sa nasledovne: drôt spoločný pre všetky tri tlačidlá je pripojený k Arduino „GND“. Prvé tlačidlo slúži na vstup do režimu nastavenia času a prepínanie času a dátumu, pripojenie na „Pin 2“. Druhé, tlačidlo na zvýšenie hodnoty, je „Pin 3“ a tretie, tlačidlo na zníženie hodnoty, je „Pin 4“.

Krok 5 Dajte to všetko dohromady.
Izolujte obrazovku, aby ste predišli skratu. V kruhu sa obalíme elektrickou páskou a na zadnej strane sa pripevníme na obojstrannú pásku, narezanú na mieru, pás izolačného materiálu. Je vhodná hrubá lepenka alebo tenký plast. Použil som plast z papierovej tablety. Ukázalo sa, že:


Na prednú časť obrazovky pozdĺž okraja nalepíme obojstrannú pásku na penovom základe, najlepšie čiernu.


Pripojíme obrazovku k Arduino:


Ďalej sa pripájame z priestoru pre batériu k „VIN“ Arduino, mínus k „GND“. Položíme ho za Arduino. Pred inštaláciou do skrinky nezabudnite pripojiť tlačidlá teploty a dosky.


Krok 6 Pripravte a vyplňte náčrt.
Snímač teploty potrebuje knižnicu OneWire.
onewire.rar [16,75 Kb] (stiahnuté: 154)


Výstup na obrazovku je prostredníctvom knižnice U8glib:
u8glib.rar [906,95 Kb] (počet stiahnutí: 156)


Ak chcete skicu upraviť a vyplniť, nainštalujte tieto dve knižnice. Existujú dva spôsoby, ako to urobiť. Stačí rozbaliť tieto archívy a umiestniť rozbalené súbory do priečinka „knižnice“ umiestneného v priečinku s nainštalovaným Arduino IDE.Druhou možnosťou je inštalácia knižnice priamo do programovacieho prostredia. Bez rozbalenia stiahnutých archívov vyberte v Arduino IDE ponuku Sketch - Connect Library. V hornej časti rozbaľovacieho zoznamu vyberte položku „Pridať .zip knižnicu“. V zobrazenom dialógovom okne vyberte knižnicu, ktorú chcete pridať. Znovu otvorte ponuku Sketch - Connect Library. Úplne na konci rozbaľovacieho zoznamu by ste mali vidieť novú knižnicu. Knižnicu je teraz možné používať v programoch. Po tom všetkom nezabudnite reštartovať počítač Arduino IDE.

Snímač teploty pracuje podľa protokolu One Wire a má pre každé zariadenie jedinečnú adresu - 64-bitový kód. Hľadanie tohto kódu je zakaždým nepraktické. Preto musíte najprv pripojiť senzor k Arduino, vyplniť náčrt umiestnený v ponuke Súbor - Príklady - Dallas Teplota - OneWireSearch. Ďalej spustite Tools - Port Monitor. Arduino by malo nájsť náš senzor, napísať jeho adresu a aktuálne hodnoty teploty. Skopírujeme alebo jednoducho zapíšeme adresu nášho senzora. Otvorte náčrt Arduino_WG12864B_Term, vyhľadajte riadok:

byte addr [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // adresa môjho senzora 


Medzi zátvorky zapíšeme adresu vášho senzora a nahradíme adresu môjho senzora.

foto:

//u8g.setPrintPos (44, 64); u8g.print (sek); // Tlačte sekundy a skontrolujte správnosť kurzu


Zobrazuje sekundy vedľa položky „Údaje“. To je potrebné na presné stanovenie priebehu času.
Ak sa hodiny ponáhľajú alebo zaostávajú, mali by ste zmeniť hodnotu v riadku:

if (micros () - prevmicros> 494000) {// zmena na inú pri úprave bola 500000


Experimentálne som určil počet hodín, pri ktorých hodiny idú celkom presne. Ak sa vaše hodinky ponáhľajú, mali by ste toto číslo zvýšiť, ak som za tým, znížte ho. Na určenie presnosti kurzu a potrebu záverečných sekúnd. Po presnom kalibrovaní čísla sa sekundy môžu okomentovať a odstrániť z obrazovky.

Vyplňte náčrt.
arduino_wg12864b_term.rar [3,64 kB] (stiahnuté: 314)

7
9
5.3

Pridajte komentár

    • usmievaťúsmevyxaxaokdontknowyahoonea
      bossškrabanecoklamaťánoáno, ánoútočnýtajomstvo
      ľutovaťtanecdance2dance3odpusteniehelpnápoje
      zastávkapriateliadobrýgoodgoodpíšťalaomdlieťjazyk
      dymtlieskanieCraydeklarovaťvýsměšnýdon-t_mentiondownload
      teplohnevlivýlaugh1MDAstretnutiemoskingnegatívny
      not_ipražená kukuricatrestaťprečítaťvydesiťzdesenievyhľadávať
      posmechthank_youtototo_clueumnikakútnasúhlasiť
      zlýbeeeblack_eyeblum3očervenieťchvastanienuda
      cenzurovanéžartysecret2hroziťvíťazstvoyusun_bespectacled
      shokrešpektlolprevedievitajtekrutoyya_za
      ya_dobryipomocníkne_huliganne_othodiFLUDzákazzavrieť

Odporúčame vám prečítať si:

Ruku pre smartphone ...