Obično se suprotnosti privlače, što je tačno u velikoj većini slučajeva, a mi, što se tiče mejkera, gledaćemo kako se ta privlačnost može iskoristiti. Do sada smo pisali o gomili senzora i aktuatora koji se koriste za merenje ili korišćenje raznih fizičkih i hemijskih pojava. Došlo je vreme da napišemo koji red o tome kako izmeriti ili videti koliko su dva tela blizu, kako iskoristiti blizinu komada metala da bismo uslovili neka druga dešavanja. Ovakvih senzora/aktuatora ima dosta, pa nam nemojte zameriti ako neki preskočimo. Dry Reed Pipe Često smo pominjali ovaj izraz kada smo pisali u rubrici „Test Drive” o senzorima za detekciju otvorenih vrata ili prozora i tada smo pomenuli da ćemo nekom prilikom pojasniti kako taj sistem funkcioniše. Zapravo je sve vrlo prosto. Imamo malenu staklenu ampulu unutar koje su u vakuumu dva metalna namagnetisana kontakta. Postoje dve vrste ovih ampula gde su kod NO (normally open) ovi kontakti razdvojeni, dok su kod NC (normally connected) oni spojeni. U slučaju da se ovoj ampuli približi magnet ili magnetno polje, ovi kontakti će se, u zavisnosti od tipa, ili razdvojiti ili spojiti. Na taj način će se strujna kola koja prolaze kroz kontakte otvoriti ili zatvoriti. Najčešći su NO, pa ćemo se u našim primerima držati njih. Ovi kontakti van ampule imaju svoje izvode koje dalje povezujemo na, u našem slučaju, mikrokontroler. S obzirom na to da se po online prodavnicama može naći više modula, sa ovom ampulom pročešljaćemo njih, pre nego samu staklenu ampulu.Pod oznakom KY-021 se može naći najjednostavnija varijanta u obliku modula sa tri izvoda: Plus, Minus i Signal, koji povezujemo na digitalni input mikrokontrolera. Kod ovog modula imamo dodat otpornik od deset kilooma, čija je uloga da eliminiše plivajući input, a o debounce proceduri smo više puta govorili. Kod rada sa mikrokontrolerima vrlo je bitno jasno definisati kada je stanje logičke jedinice, a kada nule. Za primer smo blago prepravili Blink sketch gde će se ugrađena LED upaliti ako postoji kontakt na ampuli, to jest, ako su kontakti reagovali na magnetno polje.int sensorPin = 3; //bilo koji digitalni pin int x ; void setup (){ pinMode (LED_BUILTIN, OUTPUT) ; pinMode (sensorPin, INPUT) ; } void loop (){ x = digitalRead (sensorPin) ; if (x == HIGH) { digitalWrite (LED_BUILTIN, HIGH); } else { digitalWrite (LED_BUILTIN, LOW); } } Sa oznakom KY-025 imamo varijaciju na temu, modul sa četiri izvoda, gde je četvrti izvod A0 i povezuje se na analogni pin Arduina. Na modulu imamo potenciometar, amplifer i komparator. Senzor (ampula) šalje analogni signal pojačivaču, koji u zavisnosti od otpornosti potenciometra šalje analognu vrednost na A0. Komparator ovu vrednost prebacuje u digitalni signal i šalje ga na S pin i ujedno uključuje L2 LED. Vrlo sličan ovom poslednjem je i modul sa oznakom TZT G123-08 sa tri izvoda gde D0 povezujemo na digitalni pin Arduina. Postavka u skeču je ista.Na kraju, imamo obične senzore za vrata koji se sastoje iz dva dela, magneta i dela sa staklenom cevčicom kakva se nalazi u gore pomenutim modulima, a koja se sa mikrokontrolerom povezuje sa dve žice, uz jedan otpornik za debounce proceduru. Ovaj senzor se još lakše koristi, jer dovoljno je na jednu od žica povezati, recimo, 5V i u okviru skeča proveravati stanje kad je HIGH. Ovi senzori se najčešće koriste za detekciju otvorenih vrata ili prozora, a često smo ih u raznim varijantama sretali kada smo pisali o kućnim sigurnosnim sistemima (Smanos, Fibaro i slično). Kao i kod pomenutih sistema, i ovde magnet ide na krilo vrata ili prozora, a senzor na okvir. Kod Arduina, mi samo čekamo promenu stanja i na taj način vidimo da li je došlo do otvaranja. Možemo na jedan kraj povezati i GND pa na drugom čekati LOW, što sve zavisi od projekta. Senzori iznad se ne mogu koristiti da precizno detektuju jačinu magnetnog polja, pa se u tu svrhu koristi Hallov senzor (Hall efect sensor). Kod ovog senzora imamo visinu voltaže koja je direktno proporcionalna magnetnom polju. Razlikujemo senzore koji su u stanju da izmere magnitudu magnetnog polja i senzore koji prave razliku u njegovim polovima. Takođe, postoje i senzori koji su u stanju da mere 3D magnetnog polja, što će reći, u stanju su da stvore trodimenzionalnu sliku i odrede tačan položaj izvora magnetnog polja. Mi ćemo se osvrnuti na 3144 seriju Hall senzora. Ovi senzori se još zovu i Hall-effect prekidačima, a rade na naponima od 4,5 do 24 volti. Sam senzor se sastoji iz Schmidt trigera, diode za zaštitu polariteta, strujnog kola za kompenzaciju temperature i još koječega, što nama u principu i ne znači puno.Ako radimo sa samim senzorom, potreban nam je još i jedan otpornik od deset kilooma za pull-up između digitalnog izlaza senzora i pet volti. Keramički kondenzator od 100 nanofarada između 5V i GND je opcion, a koristi se radi veće preciznosti. int hallSensorPin = 5; void setup() { Serial.begin(9600); pinMode(hallSensorPin, INPUT); } void loop() { Serial.println(digitalRead(hallSensorPin)); } Senzor sa oznakom KY-035 dolazi sa 49E senzorom i sa pulldown otpornikom i LED. Ovaj modul se može koristiti u situacijama kada nam treba da detektujemo prisustvo magnetnog polja, ali i da ga izmerimo. U primeru ispod imamo očitavanje vrednosti senzora preko A0 analognog pina, njihovo mapiranje i manji „grafički” prikaz u zavisnosti koji se pol magneta približi senzoru. Na kraju svakog reda imamo izmerene vrednosti jačine magnetnog polja u gausima. Da ne ulazimo puno u fiziku, nama će biti dovoljno da znamo da možemo napraviti razliku i dobiti određene vrednosti u zavisnosti koju stranu magneta smo okrenuli senzoru i koliko smo taj magnet njemu približili.#define XRANGE 50 int x,gss; void setup() { Serial.begin(9600); } void loop() { int aValue =analogRead(0); x = map(aValue, 0, 1024, 0, XRANGE); gss = map(aValue, 205, 819, -1000, 1000); Serial.print(„|”); for (int i=0;i<x;i++) { if(i==XRANGE/2-1)Serial.print(„|”); else Serial.print(„-”); } Serial.print(„O”); for (int i=x+1;i<XRANGE;i++) { if(i==XRANGE/2-1)Serial.print(„|”); else Serial.print(„-”); } Serial.print(„|”); Serial.print(gss); Serial.println(„Gauss”); delay(100); } Senzori koji koriste Hall efekat imaju primenu svuda oko nas. Mnogi proizvođači bicikala ih koriste radi očitavanja brzine kretanja. Mnogi anemometri ih koriste, pa nije čudno što se mnoga custom rešenja oslanjaju na njih. Jedan od primera na koji je autor ovog teksta naleteo u jednoj Escape Room igri je zakretanje kazaljki sata različitim polovima magneta i različitom brzinom u zavisnosti od blizine. Varijante koje su u stanju da mere magnetno polje, naravno, imaju mnogo veću i ozbiljniju primenu. Primera ima zaista mnogo. |