6 minute read

BBC micro:bit [24

KODIRANJE

Poštovani čitatelji, u prošlom ste nastavku naučili skoro sve o piezo-električnim elementima. Na kraju teksta predloženo je da sagradite protuprovalni alarm za automobil ili alarm koji će čuvati ladicu vašeg radnog stola od znatiželjnika. Za to trebate dva piezo-električna elementa. Prvog ćete koristiti kao zujalo, a drugoga kao osjetilo vibracija. Također, predloženo je da u svrhu povećanja osjetljivosti osjetilu vibracija dodate njihalo koje ćete pripremiti prema Slici 24.1. Izvode piezo-električnog osjetila utaknite na eksperimentalnu pločicu i preko paralelno spojenog otpornika od 1 MΩ priključite sve na GND i P1 pločice BBC micro:bita. Piezo-električno zujalo priključite na GND i P0 BBC micro:bita. Na Slici 24.2. možete vidjeti kako to izgleda u stvarnosti. Prepišite program sa Slike 24.3. te ga otpremite i isprobajte. Ako je osjetilo vibracija previše osjetljivo tada morate povisiti prag s trenutnih 100 na neki broj koji trebate odrediti eksperimentom. Umetnite alarm u ladicu koju želite nadzirati te uživajte u saznanju da će se svaki znatiželjnik iznenaditi, a možda i prepasti kad bude otvarao ladicu vašeg radnog stola. U nastavku članka bit će opisano jedno vrlo zanimljivo osjetilo. DHT11 osjetilo vlažnosti i temperature zraka DHT11 je digitalno osjetilo vlažnosti i temperature zraka, a sastoji se od kapacitivnog

Advertisement

Slika 24.2. Fotografija prikazuje sastavljeni alarm elementa koji se brine za detekciju vlage i NTC-elementa koji detektira temperaturu. Sastavni dio osjetila je i osambitni mikrokontrolor koji upravlja s ta dva elementa. DHT11 je baždaren u tvornici u izuzetno preciznoj prostoriji za baždarenje vlažnosti, a dobiveni podaci pohranjeni su u OTP-memoriji (One-Time-Programmable Memory) i služe za internu obradu signala detekcije. Tehničke karakteristike: raspon mjerenja za temperaturu zraka ide od -20°C do +60°C uz toleranciju od +/-2°C, a raspon za koncentraciju

Slika 24.1. Amaterska izrada vodoravnog njihala. Jedan kraj spajalice za papir (koju ste prethodno izravnali) zalemite za veći dio piezo-električnog elementa (straga), a na drugi kraj spajalice pričvrstite neki teret, na primjer tri elementa redne stezaljke

Slika 24.3. U ovom kodu treba imenovati promjenljivu “Prag”

vlage u zraku ide od 5% do 9% uz toleranciju od +/-5%. Razlučivost kod mjerenja temperature je 0,1°C, a kod mjerenja koncentracije vlage je 1%. Osjetilo je moguće napajati naponom od 3,3 V do 5,5 V, a potrošnja struje ide od 0,06 mA do 1 mA. Period uzorkovanja je 1 sekunda. Moguć je prijenos signala kabelom do 20 metara udaljenosti. Zbog malih gabarita, male potrošnje i niske cijene često ga koriste amateri, ali i poluprofesionalci pa ga i vi možete isprobati. U prodaji su dvije inačice, golo osjetilo DHT11 s četiri izvoda (Slika 24.4.) i isto to osjetilo zalemljeno na tiskanu pločicu VMA311 Velleman s tri izvoda gdje je dodan pull-up otpornik od 10 kΩ, Slika 24.5. Pull-up otpornik trebate svaki put kada osjetilo koristite za blisko povezivanje s BBC micro:bitom. Kada signal vodite preko 20 metara kabela tada pull-up otpornik ne trebate. Kako se osjetilo ponaša? Komunikacija osjetila i BBC micro:bita odvija se preko serijske veze s jednim vodom (Single-Wire Two-Way). Paket informacija koji šalje osjetilo uključuje podatke o temperaturi i vlažnosti i zauzima 40 bita, a prijenos traje 4 ms. U trenutku priključivanja na napon, osjetilo prelazi u način rada niske potrošnje, takozvano stanje pripravnosti. Kad BBC micro:bit pošalje signal za pokretanje, osjetilo se prebacuje u način rada čekanja da se ugrađeni mikrokontrolor pokrene. To traje približno 1 sekundu. Nakon završetka faze pokretanja osjetilo šalje paket informacija. Bez startnog signala ugrađeni mikrokontrolor nikada neće dati podatke. Nakon što je faza prijenosa podataka završena, osjetilo se vraća u stanje pripravnosti sve dok ne dobije novi startni signal. Prema Slici 24.6. sastavite sklop.

Slika 24.4. Golo osjetilo DHT11; 1: V (+), 2: Out, 3: nije spojeno, 4: GND Slika 24.5. Osjetilo na tiskanoj pločici s pull-up otpornikom, VMA311; 1: Out (S), 2: V (+), 3: GND (-) Slika 24.6. Montažna shema osjetila vlažnosti i temperature zraka s VMA311. Izvod S valja spojiti na P0 BBC micro:bita, izvod (+) ide na 3 V BBC micro:bita, a izvod (–) na 0 V pločice BBC micro:bita

Ako ste nabavili golo osjetilo DHT11 i namjeravate ga izložiti vremenskim prilikama i neprilikama tada je najbolje da ga s BBC micro:bitom priključite preko trožilnog kabela dužine 20 metara. Pogledajte Sliku 24.7. Ako ste nabavili golo osjetilo DHT11, a želite ga koristiti blizu BBC micro:bita tada morate spojiti pull-up otpornik od 4,7 kΩ do 10 kΩ, Slika 24.8.

Kodiranje

Sigurno već znate da ćete trebati ekstenziju. Pokrenite MakeCode Editor, imenujte projekt te potražite i učitajte ekstenziju DHT11/DHT22. Dobit ćete nekoliko novih blokova, Slika 24.9.

Slika 24.7. Ako želite izbjeći izlaganje BBC micro:bita vanjskim utjecajima vlage i kiše tada ga držite unutra, a izložite samo osjetilo DHT11. Za spajanje koristite trožilni kabel dužine 20 metara

Slika 24.8. Golo osjetilo DHT11 moguće je koristiti u blizini BBC micro:bita, bez kabela, ali tada morate dodati pull-up otpornik od 10 kΩ (4,7 kΩ)

Kako je vidljivo na slici postoji i osjetilo DHT22. U čemu se razlikuje od osjetila DHT11? DHT22 ima nešto bolje karakteristike od DHT11, no načelno je sve više-manje isto. Jedino vrijedno pažnje je razlika u periodu uzorkovanja. Za DHT22 to je vrijeme od 2 sekunde pa kod kodiranja valja to imati na umu.

Slika 24.9. Novi blokovi za upravljanje s osjetilima DHT11 i DHT22

Slika 24.10. Programski kôd za čitanje podataka s osjetila DHT11 i njihovo serijsko slanje prema računalu

Na Slici 24.10. prikazan je kôd koji preko serijske veze šalje podatke o temperaturi i vlažnosti zraka. Program preuzmite i otpremite do BBC micro:bita. Na računalu pokrenite i ugodite aplikaciju TeraTerm. Kod prvog učitavanja vjerojatno će se javiti pogreška, pojavit će se broj -999. Resetiranjem pločice BBC micro:bita trebalo bi

Slika 24.11. Kod prvog paljenja osjetilu DHT11 treba dati malo vremena da se pokrene Slika 24.12. Vrijednosti s osjetila DHT11 prikazuju se u prozoru aplikacije TeraTerm Slika 24.13. Vrijednosti dobivene 15 minuta nakon prvog paljenja

se sve početi odvijati normalno, odnosno trebali biste vidjeti očitane vrijednosti vlažnosti i temperature zraka. Kako biste izbjegli pogrešku kod startanja prepravite postojeći program tako da dodate pauzu od 100 ms, Slika 24.11. Na Slici 24.12. možete vidjeti podatke koje je dobio autor ovog teksta. Kako je vidljivo, vlaga u zraku je poprilično visoka, 83%. To je tako jer je za vrijeme mjerenja padala kiša i puhao je vrlo jak južni vjetar. Temperatura zraka idealna je s obzirom da je mjereno u studenom. Pod tim uvjetima, bez obzira na temperaturu, čovjeku nije ugodno jer idealna vlažnost zraka treba biti između 40% i 60%. Na Slici 24.13. vidljive su vrijednosti koje su dobivene 15 minuta poslije. Kako je vidljivo, temperatura je neznatno viša, 22°C, ali je vlaga u zraku pala na 72%. Zašto tako? Vlaga se u 15 minuta nije mogla toliko sniziti, krivac za toliku razliku je samo osjetilo. Naime, osjetilu je potrebno nekoliko minuta da se stabilizira i prikaže stvarnu količinu vlage u zraku. Kod temperature je ta mana slabije izražena. U nastavku, nekoliko ideja za samostalan rad. 1. Pošaljite vrijednosti do LCD-a preko I2C. 2. Dodajte dvije tipke. Kod tipkanja prve tipke neka se na LCD-u prikazuje temperatura zraka, a kod tipkanja druge tipke neka se na LCD-u prikazuje vlaga u zraku. 3. Kod tipkanja bilo koje tipke neka se upali i neka 5 sekundi svijetli pozadinsko osvjetljenje LCD-a. Nakon isteka zadanog vremena neka se pozadinsko osvjetljenje ugasi.

Za ove ste vježbe trebali: - BBC micro:bit, - USB-kabel, - baterije za BBC micro:bit, - rubni priključak za BBC micro:bit, - spojne žice u raznim bojama, - eksperimentalnu pločicu na ubadanje, - otpornik od 10 kΩ (SMEĐA-CRNA-NARANČASTA-ZLATNA), - otpornik od 1 MΩ (SMEĐA-CRNA-ZELENA-ZLATNA), - dva piezo-električna zujala, - spajalicu za papir ili komad krute bakrene žice dužine 100 mm, - trodijelnu rednu stezaljku, - lemilo i malo lema, - modul VMA311 ili osjetilo DHT11, - LCD, - dvije tipke.

Marino Čikeš, prof.

This article is from: