» elektronika » Arduino »Hodinová meteorologická stanica na Arduine

Sledujte meteorologickú stanicu na Arduino

Sledujte meteorologickú stanicu na Arduino

Dobrý deň, stále robím Arduino vo svojom voľnom čase a tentoraz napísal pokyny na výrobu malej meteorologickej stanice. Bude pôsobiť ako hodiny s dátumom a bude zobrazovať teploty vo vnútri aj mimo miestnosti. Ako hlavný ovládač použijeme Arduino UNO, ale urobí sa iná doska s Atmega328p na palube. Na zobrazenie používame grafickú obrazovku WG12864B. Pripojíme tiež dva snímače teploty ds18b20. Jedna v interiéri, druhú vonku vyberieme. Začnime.

Vo výrobnom procese domáci budeme potrebovať:

- Arduino UNO (alebo akákoľvek iná doska kompatibilná s Arduino)
- Grafická obrazovka WG12864B
- snímač teploty ds18b20, 2ks
- Napájanie 6 - 12 V
- Rezistory 4,7 Kom 0,25 W, 2 ks.
- Odpory 100 ohmov 0,25 W
- Priehradka na batérie pre 4 AAA „pinky“ batérie
- Škatuľa z kazety konzoly SEGA
- elektrická páska
- spojovacie vodiče
- doska plošných spojov
- Tlačidlá
- kancelársky nôž
- spájkovačka
- Spájka, kolofónia
- Obojstranná páska

Krok 1 Príprava WG12864B3.
Tí, ktorí predtým s obrazovkami nepracovali, môžu byť vystrašení veľkým počtom úprav, ktoré sa zdajú byť rovnaké. Trochu vysvetlím. Väčšina obrazoviek tohto typu pracuje na čipoch ks0107 / ks0108. Všetky obrazovky je možné rozdeliť 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

Vyzerajú takmer rovnako. Majú však rôzne pripájacie kolíky. Vybral som si a odporúčam vám WG12864B3 V2.0, ale ak sa obrazovka objavila inak, alebo ju jednoducho nemáte po ruke, môžete ju ľahko zistiť pomocou tabuľky:


Stručná charakteristika:


Na internete existuje veľa rôznych schém pripojenia a zdá sa, že všetko funguje. Ide o to, že existujú nielen rôzne obrazovky, ale aj dva spôsoby ich pripojenia: sériové a paralelné. Pri použití pripojenia cez sériový port potrebujeme iba 3 výstupy mikrokontroléra. S paralelným minimom 13. V tomto prípade je zrejmé, že Arduino má málo záverov. Pre paralelné pripojenie je schéma pripojenia nasledovná:


Pre sériové pripojenie, ktoré použijeme, je schéma nasledovná:

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 100 Ohm - + 5V
20 (BLK) - GND


Na úpravu kontrastu by mal byť na obrazovke potenciometer. Existujú obrazovky bez toho, ale teraz je to vzácnosť:


Je potrebný odpor 100 ohmov, aby napätie 5 voltov nespálilo náhodne diódy podsvietenia.


Krok 2 Urobiť prípad.
V takom prípade odoberte škatuľu z predpony kazety Sega. Ak toto pole nenájdete, môžete použiť iný prípad. Hlavná vec je, že do nej zapadá obrazovka a Arduino.


Priehľadnú fóliu odrežte na vrchu škatule tak, aby nezostali žiadne kúsky:


Potom pomocou kancelárskeho noža vystrihnite okno s rozmermi 37 x 69 pre obrazovku.


Na rubovú stranu, pozdĺž okraja výrezu, lepíme obojstrannú pásku, najlepšie čiernu:


Odstráňte ochranný papier z lepiacej pásky a nalepte naň našu obrazovku:


Z vonkajšej strany by to malo vyzerať takto:


Pod obrazovku, tiež na obojstrannú pásku, pripevňujeme Arduino a robíme predbežné výrezy pre port USB a zásuvku:


Výrezy pre zásuvky Arduino sa musia vykonať na obidvoch stranách škatule, aby sa dali voľne uzavrieť:


Krok 3 Snímače teploty.
Použijeme digitálne snímače teploty DS18B20. Ich použitím získame veľkú presnosť merania, chyba nie je vyššia ako 0,5 ° C, v širokom teplotnom rozmedzí -55 ... + 125 ° C. Okrem toho digitálny senzor vykonáva všetky výpočty sám a Arduino jednoducho prijíma hotové hodnoty. Pri pripájaní tohto senzora nezabudnite na pull-up rezistor, 4,7 kΩ, medzi kontaktmi DQ a VDD. Je tiež možné niekoľko možností pripojenia. S vonkajšou silou, podľa môjho názoru najlepšou možnosťou, ju použijeme:


Ak chcete, môžete použiť režim parazitického napájania:


Alebo vylepšená možnosť parazitických potravín:


S akýmkoľvek zdrojom napájania sú senzory pripojené paralelne:


Snímač teploty umiestnime na malú dosku spolu s dvoma tlačidlami, pomocou ktorých nastavíme čas a dátum hodín:


Spoločný vodič z oboch tlačidiel je pripojený k GND, vodič z prvého tlačidla je pripojený k A0, od druhého k A1.
Upevnite na obojstrannú pásku vedľa Arduina:


Senzor, ktorý má byť umiestnený mimo miestnosti, je lepšie zvoliť v kovovom, prachotesnom a puzdre odolnom voči prachu:


Vypočítajte drôt požadovanej dĺžky tak, aby sa senzor mohol zavesiť mimo okno, hlavná vec je, že by nemal byť väčší ako 5 metrov, ak potrebujete väčšiu dĺžku, budete musieť znížiť hodnotu pull-up odporu.

Drôt z DQ dátovej zbernice oboch snímačov je pripojený k pinu 5 Arduino.
Vdd - +5 Arduino.
GND - GND Arduino.


Krok 4 Napájanie.
Na napájanie môžete použiť napájací zdroj s napätím 6 až 12 voltov. Na konci prívodného napájacieho drôtu spájkujte zástrčku vhodnú pre zásuvku Arduino:


Alebo môžete vložiť priehradku na batérie na štyri „AAA“, „pinky“ batérie. Pripojte kladný drôt z oddelenia k Vin Arduino a mínus k GND.

Krok 5 Príprava programovacieho prostredia.
Najprv musíte stiahnuť a nainštalovať Arduino IDE pomocou oficiálne stránky

A tiež pridať do dvoch knižníc potrebných pre skicu. OneWire - vyžaduje sa pre komunikáciu so senzormi ds18b20:
onewire.rar [16,75 Kb] (stiahnuté: 34)


U8glib - používa sa na zobrazenie informácií na obrazovke:
u8glib.rar [906,95 Kb] (počet stiahnutí: 46)


Stiahnite si knižnicu. Potom rozbalíme archívy a presunieme obsah archívov do priečinka „knižnice“ umiestneného v priečinku s nainštalovaným Arduino IDE. Knižnice môžete pridať aj prostredníctvom Arduino IDE. Ak to chcete urobiť, bez rozbalenia archívov spustite Arduino IDE, v ponuke Skica vyberte Sketch - Connect Library. V hornej časti rozbaľovacieho zoznamu vyberte položku „Pridať knižnicu ZIP“. Uvádzame umiestnenie stiahnutých archívov. Po vykonaní všetkých krokov je potrebné reštartovať Arduino IDE.

Krok 6 Úprava náčrtu.
Snímače teploty pracujú s použitím protokolu One Wire a majú pre každé zariadenie jedinečnú adresu - 64-bitový kód. Pridanie príkazov na vyhľadávanie senzorov do náčrtu sa neodporúča. Nie je potrebné načítať Arduino čkanie senzorov zakaždým.Najprv preto, dajte všetko dohromady, vyplňte náčrt v Arduino, ktorý sa nachádza v ponuke Súbor - Príklady - Dallas Temperature - OneWireSearch. Potom spustite Tools - Port Monitor. Arduino by malo nájsť naše senzory, zapísať adresy a hodnoty teploty. Tieto adresy je potrebné zapísať alebo niekde jednoducho skopírovať. Teraz otvorte náčrt Ard_Tic_Tak_WG12864B_2_x_Term_Serial a vyhľadajte riadky:

byte addr1 [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63}; // interná adresa
byte addr2 [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // adresa externého senzora


Adresy zodpovedajúce umiestneniu senzorov nahradíme našimi adresami.
Naše hodinky nepoužívajú modul RTC (hodiny v reálnom čase), preto musíte hodiny upraviť. Pre zjednodušenie odložte riadok (na obrazovke sa objavia sekundy):

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


Nastavte správny čas pomocou monitora portov. Na tento účel otvorte monitor portu, počkajte na dokončenie počiatočných meraní teploty a zadajte aktuálny dátum a čas vo formáte „deň, mesiac, rok, hodiny, minúty, sekundy“. Bez medzier vydeľte čísla čiarkami alebo bodkami.

Ak sú hodiny v zhone, zmeňte hodnotu na väčšiu, odporúčam experimentovať s prírastkami 100 jednotiek. Ak zaostáva, znížte hodnotu v riadku:

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


Empiricky určte počet hodín, pri ktorých hodiny prechádzajú celkom presne. 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.

ard_tic_tak_wg12864b_2_x_term_serial.rar [3,2 Kb] (počet stiahnutí: 90)

Funkčnosť alebo krása?
Celkový počet voličov: 19
8
8.3
7.7

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ť
3 komentáre
Autor
Bohužiaľ neviem lacnejšie analógy displeja.
A čím viac rozpočtu je možné nahradiť tento displej, vyzerali z 500 rubľov.?
Pre tieto denyushki si môžete kúpiť hotovú, skutočne meteorologickú stanicu s indikáciou nielen teploty, ale aj tlaku a vlhkosti a so smerom zmeny nameraných hodnôt! usmievať
Dobrý večer A čím viac rozpočtu je možné nahradiť tento displej, vyzerali z 500 rubľov.?
Ďakujem!

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

Ruku pre smartphone ...