» Elektronika » Arduino »Pulksteņu laika stacija Arduino

Skatieties laika staciju uz Arduino

Skatieties laika staciju uz Arduino

Labdien, es turpinu darīt Arduino brīvajā laikā, un šoreiz viņš uzrakstīja instrukcijas par nelielas meteoroloģiskās stacijas ražošanu. Tas darbosies kā pulkstenis ar datumu un parādīs temperatūru telpā un ārpus tās. Kā galveno kontrolieri izmantosim Arduino UNO, bet to darīs vēl viena tāfele ar Atmega328p. Displejam mēs izmantojam grafisko ekrānu WG12864B. Mēs arī savienojam divus temperatūras sensorus ds18b20. Vienu iekštelpās, otro ārā. Sāksim darbu.

Ražošanas procesā mājās gatavots mums būs nepieciešams:

- Arduino UNO (vai jebkura cita Arduino saderīga tāfele)
- WG12864B grafiskais ekrāns
- temperatūras sensors ds18b20, 2gab
- Strāvas padeve 6 - 12 V
- Rezistori 4,7 Kom 0,25 W, 2 gab.
- Rezistori 100 omi 0,25 W
- Bateriju nodalījums 4 AAA “pinky” baterijām
- Kaste no SEGA konsoles kārtridža
- elektriskā lente
- savienojošie vadi
- shēmas plate
- pogas
- kancelejas nazis
- lodāmurs
- Lodēt, kolofonija
- abpusēja lente

1. darbība. Sagatavošana WG12864B3.
Tie, kas iepriekš nav strādājuši ar ekrāniem, var baidīties no daudziem ekrānu modifikācijas, kas, šķiet, ir vienādi. Es nedaudz paskaidrošu. Lielākā daļa šāda veida ekrānu darbojas ar ks0107 / ks0108 mikroshēmām. Visus ekrānus var iedalīt 4 veidos:

A variants: HDM64GS12L-4, Crystalfontz CFAG12864B, Sparkfun LCD-00710CM, NKC Electronics LCD-0022, WinStar WG12864B-TML-T

B variants: HDM64GS12L-5, Lumex LCM-S12864GSF, Futurlec BLUE128X64LCD, AZ Displeji AGM1264F, Displaytech 64128A BC, Adafruit GLCD, DataVision DG12864-88, Topway LM12864LDW, Digitron SG1286464J-1,

C variants: Shenzhen Jinghua Displays Co Ltd. Jm12864

D variants: Wintek-Cascades WD-G1906G, Wintek-GEN / WD-G1906G / KS0108B, Wintek / WD-G1906G / S6B0108A, TECDIS / Y19061 / HD61202, Varitronix / MGLS19264 / HD61202

Viņi izskatās gandrīz vienādi. Bet viņiem ir dažādas savienojuma tapas. Es izvēlējos un iesaku jums WG12864B3 V2.0, bet, ja ekrāns parādījās savādāk vai jums tā vienkārši nav pa rokai, varat to viegli izdomāt, izmantojot tabulu:


Īss raksturojums:


Internetā ir daudz dažādu savienojumu shēmu, un šķiet, ka viss darbojas. Lieta ir tāda, ka ir ne tikai dažādi ekrāni, bet arī divi veidi, kā tos savienot: seriālais un paralēlais. Izmantojot seriālā porta savienojumu, mums ir nepieciešami tikai 3 mikrokontrollera izejas. Ar paralēlu minimumu 13. Šajā gadījumā izvēle ir acīmredzama, Arduino ir maz secinājumu. Paralēlajam savienojumam savienojuma shēma ir šāda:


Sērijveida savienojumam, kuru mēs izmantosim, shēma ir šāda:

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


Lai pielāgotu kontrastu, ekrānā jābūt potenciometram. Ir ekrāni bez tā, bet tas tagad ir retums:


Nepieciešams 100 omu rezistors, lai 5 voltu spriegums nejauši nedegtu apgaismojuma diodes.


2. solis lietas sagatavošana.
Šim gadījumam ņemiet lodziņu no kasetnes prefiksa Sega. Ja neatrodat šo lodziņu pa rokai, varat izmantot citu lietu. Galvenais, lai tajā ietilptu ekrāns un Arduino.


Nogrieziet caurspīdīgo plēvi kastes augšpusē, lai nepaliktu gabalu:


Pēc tam, izmantojot lietvedības nazi, ekrānam izgrieziet logu 37x69 izmēra.


Aizmugurējā pusē gar griezuma malu mēs līmējam abpusēju lentu, vēlams melnu:


No līmlentes noņemiet aizsargpapīru un uz tā pielīmējiet mūsu ekrānu:


No ārpuses tam vajadzētu izskatīties šādi:


Zem ekrāna, arī uz abpusējas lentes, mēs piestiprinām Arduino, veicot sākotnējus USB porta un strāvas kontaktligzdas izgriezumus:


Arduino ligzdas izgriezumi jāveic abās kastes pusēs, lai to varētu brīvi aizvērt:


3. solis - temperatūras sensori.
Mēs izmantosim digitālos temperatūras sensorus DS18B20. Izmantojot tos, mēs iegūstam lielisku mērījumu precizitāti, kļūda nepārsniedz 0,5 ° C, plašā temperatūras diapazonā -55 ... + 125 ° C. Turklāt digitālais sensors pats veic visus aprēķinus, un Arduino nolasījumus vienkārši saņem. Pieslēdzot šo sensoru, neaizmirstiet par 4,7 kΩ lielo pretestību starp DQ un VDD kontaktiem. Ir iespējamas arī vairākas savienojuma iespējas. Ar ārēju jaudu, manuprāt, vislabāko variantu, mēs to izmantosim:


Ja vēlaties, varat izmantot parazītu enerģijas režīmu:


Vai arī uzlabota parazītu spēka iespēja


Ar jebkuru barošanas avotu sensori ir savienoti paralēli:


Mēs novietosim temperatūras mērīšanas sensoru uz mazā tāfeles kopā ar divām pogām, kuras mēs izmantosim, lai iestatītu pulksteņa laiku un datumu:


Kopējais vads no abām pogām ir savienots ar GND, vads no pirmās pogas ir savienots ar A0, no otrās - uz A1.
Piestipriniet pie abpusējas lentes blakus Arduino:


Sensoru, kuru paredzēts novietot ārpus istabas, labāk izvēlēties korpusā, kas izturīgs pret metālu, putekļiem un mitrumu:


Aprēķiniet vajadzīgā garuma vadu, lai sensoru varētu pakarināt ārpus loga, galvenais ir tas, ka tam jābūt ne vairāk kā 5 metriem, ja jums ir nepieciešams lielāks garums, jums būs jāsamazina savilkšanas rezistora vērtība.

Vads no abu sensoru DQ datu kopnes ir savienots ar Arduino 5. tapu.
Vdd - +5 Arduino.
GND - GND Arduino.


4. solis Jauda.
Strāvas padevei varat izmantot barošanas avotu ar spriegumu no 6 līdz 12 voltiem. Pēc strāvas uzliesmošanas stieples beigām pielodējiet spraudni, kas piemērots Arduino strāvas kontaktligzdai:


Vai arī varat ievietot akumulatora nodalījumu četrām “AAA” un “pinky” baterijām. Un savienojiet pozitīvo vadu no nodalījuma ar Vin Arduino, bet mīnusu - ar GND.

5. solis Programmēšanas vides sagatavošana.
Vispirms jums jālejupielādē un jāinstalē Arduino IDE ar oficiālā vietne

Un arī pievienojiet divām skicēm nepieciešamajām bibliotēkām. OneWire - nepieciešams saziņai ar ds18b20 sensoriem:
onewire.rar [16,75 Kb] (lejupielādes: 34)


U8glib - izmanto, lai ekrānā parādītu informāciju:
u8glib.rar [906,95 Kb] (lejupielādes: 46)


Lejupielādējiet bibliotēku. Pēc tam mēs izsaiņojam arhīvus un pārvietojam arhīvu saturu uz mapi “libraries”, kas atrodas mapē ar instalētu Arduino IDE. Varat arī pievienot bibliotēkas, izmantojot Arduino IDE. Lai to izdarītu, neizpakojot arhīvus, palaidiet Arduino IDE, izvēlnē Sketch atlasiet Sketch - Connect Library. Nolaižamā saraksta pašā augšdaļā atlasiet vienumu “Pievienot. Zip bibliotēka”. Mēs norādām lejupielādēto arhīvu atrašanās vietu. Pēc visām darbībām jums jārestartē Arduino IDE.

6. solis Skices rediģēšana.
Temperatūras sensori darbojas, izmantojot One Wire protokolu, un katrai ierīcei ir unikāla adrese - 64 bitu kods. Sensora meklēšanas komandas skicē nav ieteicams pievienot. Katru reizi nav nepieciešams ielādēt Arduino žagas sensorus.Tāpēc vispirms, saliekot visu kopā, aizpildiet skici Arduino, kas atrodas izvēlnē Fails - Piemēri - Dalasas temperatūra - OneWireSearch. Pēc tam palaidiet Rīki - Port Monitor. Arduino vajadzētu atrast mūsu sensorus, uzrakstīt adreses un temperatūras rādījumus. Šīs adreses ir jāpieraksta vai vienkārši kaut kur jākopē. Tagad atveriet skici Ard_Tic_Tak_WG12864B_2_x_Term_Serial un meklējiet līnijas:

baitu addr1 [8] = {0x28, 0xFF, 0x75, 0x4E, 0x87, 0x16, 0x5, 0x63}; // iekšējā adrese
baitu addr2 [8] = {0x28, 0xFF, 0xDD, 0x14, 0xB4, 0x16, 0x5, 0x97}; // ārējā sensora adrese


Mēs aizstājam adreses, kas atbilst sensoru atrašanās vietai, ar mūsu adresēm.
Mūsu pulksteņi neizmanto RTC moduli (reālā laika pulksteni), tāpēc jums ir jāpielāgo pulkstenis. Ērtības labad atsauciet līniju (ekrānā parādīsies sekundes):

//u8g.setPrintPos (44, 50); u8g.print (sek); // Drukājiet sekundes, lai pārbaudītu kursa pareizību


Izmantojot porta monitoru, iestatiet pareizo laiku. Lai to izdarītu, atveriet ostas monitoru, pagaidiet, līdz tiek pabeigti sākotnējie temperatūras mērījumi, un ievadiet pašreizējo datumu un laiku formātā "diena, mēnesis, gads, stundas, minūtes, sekundes". Bez atstarpēm sadaliet skaitļus ar komatiem vai punktiem.

Ja pulkstenis steidzas, nomainiet vērtību uz lielāku, iesaku eksperimentēt ar 100 vienību soli. Ja atpaliek, samaziniet līnijas vērtību:

if (micros () - prevmicros> 494000) {// mainīšana uz citu pielāgošanai bija 500 000


Empīriski diezgan precīzi nosakiet numuru, pie kura pulkstenis iet. Lai noteiktu kursa precizitāti un būtu nepieciešamas secinājuma sekundes. Pēc precīza skaitļa kalibrēšanas sekundes var komentēt un tādējādi noņemt no ekrāna.
Aizpildiet skici.

ard_tic_tak_wg12864b_2_x_term_serial.rar [3,2 kb] (lejupielādes: 90)

Funkcionalitāte vai skaistums?
Vēlētāju skaits: 19
8
8.3
7.7

Pievienojiet komentāru

    • smaidismaidaxaxalabinezinuYahoonea
      priekšniekssaskrāpētmuļķisjājā-jāagresīvsslepeni
      žēldejotdeja2deja3apžēlošanapalīdzētdzērieni
      apstātiesdraugilabilabsirdīgssvilpegulbismēle
      smēķētaplaudēkrauklispaziņodrausmīgsdon-t_mentionlejupielādēt
      karstumsdrausmīgssmieties1mdasapulceņirgāšanāsnegatīvs
      not_ipopkornssodītlasītnobiedētbiedēmeklēt
      ņurdētpaldiesšoto_clueumņikakūtapiekrītu
      sliktibēmelnā acsblum3sarktlielītiesgarlaicība
      cenzētspleasantryslepens2draudētuzvarajusun_bespectacled
      šoksrespektlolprevedlaipni gaidītikrutojsya_za
      ya_dobryipalīgsne_huliganne_othodifludsaizliegumstuvu
3 komentārs
Autore
Diemžēl es nezinu displeja analogus lētāk.
Un jo vairāk budžeta ir iespējams aizstāt šo displeju, viņi izskatījās no 500 rubļiem.?
Šiem denyushki jūs varat iegādāties gatavu, patiešām laika apstākļu staciju, kurā norādīta ne tikai temperatūra, bet arī spiediens un mitrums, kā arī ar norādījumu par izmērīto vērtību maiņas virzienu! smaidi
Labvakar Un jo vairāk budžeta ir iespējams aizstāt šo displeju, viņi izskatījās no 500 rubļiem.?
Paldies!

Mēs iesakām izlasīt:

Nododiet to viedtālrunim ...