Deszkamodell

deszka1.jpgNem, ez nem egy anorexiás, csontos csípőjét kifutókon riszáló, a legújabb divatot diktálni hivatott öltözéket bemutató fiatal lány, hanem a mérnöki munka egyik lépcsőfoka. Az elektronikus eszközök fejlesztésének olyan állapota, amiben az egymással összekapcsolt alkatrészek teszik a dolgukat, de ebben a kivitelben még nem érett kereskedelmi forgalmazásra, viszont könnyen alakítható a műszaki tartalom. Felöltöztetni ráérek akkor, amikor az eszköz kívánt működését sikerült megvalósítani.

A divatbemutatók deszkamodellje burkolat nélkül igen ocsmány formát mutat. Sokat dob megjelenésén a ruha, mert eltakarja kiálló bordáit, girhes testét. Egy elektronikai eszköz deszkamodellje kifogástalanul működhet csomagolás nélkül, legfeljebb az időjárás hatásai vagy a por ellen indokolt biztosítani védelmét. Némely portéka izgalmasabb látványt nyújt könnyített burkolattal, akár egy jó testi adottságú nő csipkésbugyiban. Létezik olyan perverzió, ami csupasz elektronikai eszközök működés közbeni látványával elégíthető ki, és ennek az igénynek tesz eleget például az ST-70 elektroncsöves erősítő:

Egy jobban öltözött családtag, ami kevesebbet mutat, és emelkedettebb szobabelsőben is megállja a helyét:st-120.jpgVillannyal működő szerkezetnél a készülékház hiánya érintésvédelmi szempontból súlyos gondot okozhat, hiszen a szabadon álló alkatrészek felforrósodhatnak és rázhatnak. Ahogy a bukósisak nélküli motorozás szerelmesei is tudják, mit kockáztatnak, úgy a burkolat nélküli elektromos eszközt használók is veszélyt vállalnak. Az áram alatt lévő alkatrész ugyanúgy néz ki, mint amelyik nincs áram alatt, csak más a fogása – így magyarázza a különbség lényegét az egymondatos vicc.

5 voltról működő számítógépes rendszerekben szerencsére nem fenyeget áramütés veszélye, ezért bátran lógattam fel a garázsban az "okoskapu" vezérlésének pőre deszkamodelljét:deszka2.jpgOkoskapu? Az meg minek egy vidéki háztartásba?
A kapumozgató motor gyári vezérlése jól végzi dolgát addig, amíg egy rendkívüli esemény be nem következik. Ilyenkor a kapu megáll, és gazdájának beavatkozására vár. Mi számít rendkívülinek egy garázsban, ami kihat a kapu működésére? Például eldőlhet egy falnak támasztott seprű, ami a kapu alá kerülve megakadályozza annak becsukódását. A kapu az akadályt észlelve megáll, majd visszanyílik kb. fél métert, és nem mozdul addig, amíg valaki nem intézkedik. Észszerű működés. Ha valami a csukódó kapu alá szorulna, így könnyű kiszabadítani.
Vannak, akik sietősen távoznak otthonról, és nem várják végig a kapu záródását. Ők hazatérvén szembesülhetnek a kínos helyzettel, hogy távollétük alatt a garázskapu mindvégig nyitva volt. Egy ilyen helyzet nem csupán kínos, hanem a vagyonbiztonság ellen is dolgozik, különösen utcafronti garázs esetében. Csak az nem kúszik be a nyíláson, aki nem akar. Akiben pedig megvan erre a hajlam, az távozóban rendszerint magával viszi az értékesebb vagyontárgyakat. Nem csak a garázsban lévő kacatok vannak veszélyben, de egy behatoló akár az egész házat kirámolhatja, ha oda a garázsból be lehet jutni. Érdemes tehát türelmesen megvárni, amíg a kapu teljesen becsukódik. Könnyű belátni ennek előnyét, de szerintem is unalmasan telik, mint ahogy meddőnek tartja a várakozással töltött időt egy kedves barátom is, aki nálam kevésbé szerencsés. Ő rendszeresen ér haza arra, hogy nyitva a garázsa, és ilyenkor szélütés kerülgeti.
Egészséges férfiemberként bolondul az IoT eszközökért és mindenféle kütyükért, ezért egy napon megfogalmazta legfrissebb vágyát: kell egy olyan cucc, ami üzenetet küld, ha nyitva marad a kapu. Okostelefonnal szaladgálva a 4G/LTE világában ez nem valóságtól elrugaszkodott vágy, ezért foglalkozni kezdtem a feladat megoldásával.

1. lépés: kutatás
Árul ilyet valaki? Igen, többen is. Íme néhány találat:
GoGogate 154€ + ÁFA (~60.000Ft)
Garageio 199$ + ÁFA (~73.000Ft)
Insteon I/O Linc + HUB 160$ + ÁFA (~59.000Ft)
Hörmann Bisecur GW + HET-E2 ~105.000Ft
Továbbá találni az interneten tematikus weboldalakat, ahol lelkes emberek a kedvünkért csokorba szednek egy csomó, garázskapu távvezérléséhez készített terméket. Ezek között akadnak profi- és barkácsmegoldások egyaránt, melyek közös jellemzője, hogy elsősorban a kapu nyitására-zárására összpontosítanak, miközben az állapotjelzést félvállról veszik. Ez az egyik oka annak, hogy a késztermékként megvásárolható eszközök egyike sem tesz pontot az ügy végére, emellett az áruk sem teszi vonzóvá őket. Egyik sem olcsó, de mindegyik piszok drága - a közép-kelet-európai sovány pénztárcához mérten persze, mert a fizetendő összegen a nálunk szerencsésebb országok polgárai nem rökönyödnek meg ennyire.
A kutatás eredménye: készen nem kapható a speciális igényünket kiszolgáló eszköz. Kielégítő és kedvező árú megoldást költségtakarékos alkatrészekre épített saját fejlesztés hozhat.

2. alkatrészigény
Mindenek előtt a kapu helyzetének pontos és megbízható mérésére kell eszközt találnom. Nem elégedhetek meg holmi végálláskapcsolóval, esetleg dőlésérzékelővel, mert ezek a közbülső helyzetről nem tájékoztatnak. Elvetettem az ultrahangos távolságmérést, és a kapura festett vonalkódszerű jelekből nyert adatok kiértékelését, és még jó néhány földöntúli elképzelést. Az első életképes ötletnek a kaput ellensúlyozó rugós tengely forgásának vizsgálata tűnt, ami egy rotary encoder (a továbbiakban jeladó)[1] alkalmazásával megoldható. Már egy spirálrugós tengelykapcsoló rögzítésén gondolkodtam, amikor jött az ötlet, hogy a hajtóművet a kapuval összekötő bordázott hajtószíj mozgása egyszerűen követhető a jeladó tengelyére szerelt fogaskerékkel. Mérés: a szíj bordáinak távolsága ~14.1 mm (155 mm-t mértem tolómérővel 11 bordát átfogva). A szíjhajtás házán húzódó hosszanti rés szélessége 35 mm, ennél sokkal vaskosabb fogaskereket nehéz lenne betuszkolni. Számolás: 35xPI=110, 110/14.1=7.8, a fogak száma tehát 8 legyen. 8x14.1=112.8, 112.8/PI=35.9 (mm). Egy ilyen átmérőjű lapos henger palástjába kell mélyíteni a szíj bordáihoz illeszkedő árkokat 45 fokonként. Megoldható.fogaskerek.jpg
Enyhíti a nyugat-balkáni nyomorúságot, amikor egy értékes dologhoz sikerül bagóért hozzájutni. Így esett a jeladóval, amit az ügy intézésében lelkesen résztvevő, okoskapu után epekedő barátom vásárolt az Ebay-en. Alacsony összegről indult a licit, ami 2$-nál megállt. 1600 impulzust ad fordulatonként (inkrementális fajta). A fogaskerék 35.9 mm-es kerületével számolva ez 0.02 mm-es felbontást jelent (milliméterenként 44-45 impulzus), ami egy garázskapunál túlzás, de ezt adták a legolcsóbban. A tengelyére húzott műanyag fogaskerék prímán rászorul, ragasztani sem kell. Vékony fémlemezből hajlított patent rögzítés fogja a szíjhajtás fém házához, ezért könnyen felhelyezhető, és nehézség nélkül eltávolítható.
Ez a pofonegyszerű megoldás a kapu helyzetét milliméter pontossággal méri,r_enc_patent.jpg most már csak kezdeni kell valamit a mérőszerkezetről érkező adatokkal.

Miért fontos tudni, hogy pontosan hol áll a kapu?
Például azért, mert ha olyan üzenet érkezik, ami nem csak a kapu elakadásáról tájékoztat, hanem a nyílás méretéről is, akkor nem rohanok haza lóhalálában, ha mindössze egy 3 centis rés maradt szabadon: ezen legfeljebb egy egér bújhat be. A felkutatott gyártók megoldásai nem szolgáltatnak ilyen adatot.arduino_nano.jpg
A jeladóról érkező jelek feldolgozására az egyik legegyszerűbb és legolcsóbb mikroszámítógép, az Ardiuno Nano megfelelő, és a jelfeldolgozás mellett rá lehet bízni a nyers adatok további finomítását is. Az eredményből kiderül, hol áll a kapu, esetleg mozog-e, nyílik vagy csukódik, és milyen sebességgel. Ezeket az adatokat az idő múlásának függvényében vizsgálva észlelhető a rendellenesség, például az elakadás vagy a nyitva felejtett kapu. Ez így remek, csakhogy ezek az adatok mit sem érnek az Arduino belügyeként. Ki kell juttatni őket a külvilágba, amihez minden valamirevaló MCU szolgál UART csatlakozással.esp8266-12.jpg A garázskapu helyzetére vonatkozó adatok az RX-TX vezetékpáron jutnak el egy vagányabb MCU-hoz (igazából egy SoC), egy ESP8266-hoz (a továbbiakban esp), aminek WLAN kapcsolata révén az Arduinoból érkező adatok az internet közvetítésével kijuthatnak a nagyvilágba. Ezek az adatok így már bárhonnan hozzáférhetők, ráadásul az esp-n futó program bizonyos feltételek teljesülésekor képes elküldeni azt az üzenetet, ami a kapu rendellenes állapotára figyelmeztet.
A következő szükséges elektronikai alkatrész egy jelszint-átalakító, mert enélkül az 5 voltos Arduino tönkre teheti a 3.3 voltos esp-t.level_shifter.jpg Ezek lennének a lényegi működést megvalósító alkatrészek, amik mellett már csak egy próbapanel, egy tápegység és néhány vezeték szükséges a deszkamodell megépítéséhez, ami természetesen nem fog azonnal üzeneteket küldeni. Sőt, meg se nyikkan, hiszen a programozásával még nem foglalkozott senki.
Kérdés: miért van szükség az Arduinora? Miért nem az esp dolgozza fel a jeladóról érkező jeleket is?
Jobban járok, ha nem keresem a bajt. Az esp-nek sok a dolga a szigorú időzítések mellett dolgozó WLAN kapcsolat fenntartásával. Ennek okán csínján kell bánni a megszakítások tiltásával, és elegendő időt kell biztosítani a rendszer mélyén futó folyamatoknak, különben nyakamon a "wdt reset". Időkritikus folyamatokat nem érdemes futtatni rajta, mert vagy az esp dob egy hátast, vagy a jeladóról sűrűn érkező jelek egy része marad feldolgozatlanul. Emiatt nincs implementálva esp alatt az I2C slave módja, és nem érdemes használni DHT22-t sem. Kell az Arduino.

3. költségvetés
- rotary encoder 2$
- fogaskerék (műanyag hulladék)
- tartólemez (fémhulladék)
- Arduino Nano 1-2$
- ESP8266 2$
- próbapanel 1.5$
- 5V tápegység 2$
- vezetékek 1$
(forrás: ebay.com)

Összeadtam, kereken 11$ (nagyjából 3200Ft), ami a postaköltséget is tartalmazza, és néhány hét várakozás után megérkeznek a csomagok. Szerencsés esetben ezek az alkatrészek fellelhetők az itthoni készletben, és már bele is vághatok. Nem az összeállítás és a vezetékezés fogja rabolni a legtöbb időt, ez már az elején sejthető. Az eszköztől kívánt működést leíró program elkészítése lesz időigényes. Sok múlik a tervezésen, ezért hasznos már az elején tudni, hogy milyen szolgáltatásokra van/lehet igény. Nem kellően átgondolt elképzelés mellett sajnos menet közben többször újra kell kezdeni a munkát. Ezért kezdetnek néhány napig csak a lehetőségeken rágódok, amihez számítógép sem kell, csak elegendő fantázia.

4. programterv
Nem lesz ebből Jackson-ábra. Akinek nem alakul ki a fejében a feladat megoldásához szükséges elképzelés, az hiába rajzolgat. Ha meg benne van a fejemben, akkor rajzolgatásra semmi szükség. Ezek az ábrák akkor válnak fontossá, amikor az ember vizsgára készül, vagy a főnökének, esetleg az ügyfélnek készít dokumentációt, ami rendkívül tudományos jelleget kölcsönöz a legjelentéktelenebb munkának is. Erre nincs szükségem, ezért elegendően erős terv a kívánt szolgáltatások és/vagy az ezek mögött álló eljárások-metódusok felsorolása. Ez arra is jó, hogy menet közben kihúzogathatom belőle az elkészült tételeket, így nem felejtek el semmit. Akár egy bevásárlólista:

  • Arduino feladatai

- rotary encoder impulzusainak előjelhelyes feldolgozása (rotaryCnt)
- nyílásméret számolása rotaryCnt-ből
- kapuállapot meghatározása nyers adatokból (áll, csukódik stb.)
- esp-ről érkező parancsok feldolgozása: config, adatkérés, reset
- kapuállapot adatainak küldése esp-re (JSON)

A számítógép sajátosságaihoz igazodva a kapu különböző állapotait számok (bitek) fogják tükrözni. Ebből már szinte gyerekjáték az esetleges elakadás jelenségét felismerni, de adódhatnak buktatók, amiknek megjelenésekor erősebben kell kapaszkodni a billentyűzetbe. Így néz ki az állapotot jelző bitek definíciója:
prg_nano_1.jpgNem árulkodik mindenről a kapu pillanatnyi állapota. A helyzet hibátlan kiértékeléséhez szükség van az előzményekre, ezért az állapotot jellemző adatokat folyamatosan tárolni kell, hogy a "mihez képest?" kérdésre is legyen válasz:
prg_nano_2.jpgA végállásban gumi ütközőnek feszülő kapu a rá ható erő megszűnésekor visszafele mozdul, ami irányváltásnak is tűnhet. Ennek kivédésére is szolgál a 18. sorban lévő vizsgálat.
Általában igaz, hogy elegendő adat híján nem lehet jó döntést hozni. Nem esik ebbe a hibába az Arduino, mert a szorgalmasan gyűjtött előzményadatokból képes egyszerű következtetéseket levonni, amiből a kapu elakadására is fény derülhet:prg_nano_3.jpgEbben a programrészletben feltűnik egy új fogalom, az "érzékelési küszöb". Ez azt az elmozdulást jelenti, aminél hosszabb utat kell megtennie a kapunak ahhoz, hogy a változással foglalkozzak. Ezzel a program működése higgadtabbá válik, és a túlzottan érzékeny jeladó kóbor impulzusai sem okoznak kavarodást.
Egy kicsit előreszaladva ide teszek egy képernyőmentést a böngészőről, ami az esp-ben futó webszerverről letöltött, a kapu állapotának kiértékelésében szerepet játszó tényezők beállítását intéző HTML oldalt mutatja:esp_html_tanit.jpgA helyzetelemző algoritmus helyes működéséhez szükség van a jeladó számlálójának a zárt állapothoz tartozó nullázására ("jegyez - csukva"), szintúgy a teljesen nyitott állapotra jellemző értékre ("jegyez - nyitva"), míg a pályahossz szerepet játszik a jeladó impulzusainak hosszmértékre váltásában, továbbá tényező a kapu mozgásának grafikus ábrázolásánál és a nyílásméret %-os mértékének megállapításakor. Izgalmat visz a képletbe a szekcionált garázskapu, mert ennek mozgása pályájának elején nem mutat lineáris összefüggést a jeladóról érkező impulzusokkal, és ezért a nyílásméret számolása is bonyolódik:prg_nano_4.jpgA bonyolított képlettel elkerülhetem a kínos magyarázkodást, hogy a valóságban másfél centis nyílásnál a program miért mutat 20-at?
Az Arduino figyeli a kapu mozgását, szorgalmasan gyűjti és kiértékeli az adatokat, amiket praktikusan JSON formába öntve el kell juttatni az esp-re. Azért pont JSON, mert ezek az adatok aztán majd mennek tovább, és egyszer egy böngészőben futó JavaScript hatókörébe kerülnek. A JavaScript pedig szereti a JSON-t. Az ember is szereti, mert egyszerűen olvasható:

{"?":"12","v":"0","mm":"1118","%":"55","enc":"18951","ph":"2228","kb":"19","max":"31830","req":"26996"}

Értelmezése: kapuállapot:12, sebesség:0, nyílásméret:1118 (mm), nyílás százalékban:55, jeladóról érkezett impulzusok száma:18951, pályahossz:2228 (mm), érzékelési küszöb:19 (mm), teljes nyitásnál számolt impulzus:31830, az Arduinoról az esp-re küldött adatcsomagok száma:26996. Kezemben az összes adat és helyzetértékelés, most már csak annyi a dolgom, hogy az eredményhez szélesebb körnek biztosítsak hozzáférést.

  • ESP8266 feladatai

- UART kapcsolat az Arduinoval
- riasztás (email, push üzenet)
- WEB szerver a böngészős kezelőfelület működtetéséhez
- FTP szerver a HTML oldalak karbantartásához
- kapu- és rendszeresemények naplózása
- pontos idő
- működési jellemzők beállítása, tárolása
- rendszerparaméterek folyamatos figyelése
- távvezérlés

Ha lúd, legyen kövér, de ez csak az egyik oka a távvezérlés megjelenésének. A másik oka a kapuhoz való távvezérlők horribilis ára: nem átallanak 15-20 ezer forintot kérni egy kis vacakért. Ha ezt a funkciót is beleszövöm a végeredménybe, akkor többet nem sarcolnak meg ilyen irdatlan összeggel. Ennek töredékéből kiegészítem a kezdeti költségvetést néhány jelfogóval vagy elektronikus kapcsolóval, a böngészős kezelőfelületen pedig elhelyezem a megfelelő gombokat:esp_html_kapu.jpgA távvezérlő gombok fölött a korábbi JSON példa adatai jelennek meg. Az állapot a "?":"12" kulcs:adat párból fakad. A decimális értelmezés szerint megjelenő 12 által képviselt bitek állásának megfelelően egy JavaScript funkció felelős a kapu állapotának szöveges megfogalmazásáért:esp_js_1.jpgA gombok nyomkodása egyszerűen és rugalmasan kezelhető úgy a HTML/JavaScript oldalon,esp_html_gomb.jpgmint az esp-be megérkezett kérés:esp_gomb.jpgAz előző kódrészletben látható, hogy a gomb megnyomása paramétereivel együtt a naplóba kerül. Egy Sztálinnak tulajdonított mondás szerint "a bizalom alapja a szoros ellenőrzés". Ki tudhatja azt előre, hogy szükség lesz-e valaha a családtagok tevékenységének utólagos elemzésére, hogy mikor mozgolódtak a garázsban?

A fejlesztés és kísérletezés vége felé járva egy univerzális keretrendszer felé kalandoztam el, amiben kényelmesen működtethetők olyan specifikus funkciók, mint az eredetileg vágyott riasztás a nyitva maradt kapu esetében. A gyengécske ESP8266 remekül boldogul minden feladattal, kivéve a titkosított csatornán megnyitott HTTP kapcsolatot, s ez a szűk keresztmetszet lehetetlenné teszi email küldését "rendes" levelezőszerverekre. Összességében a HTTPS kapcsolatot igénylő webes szolgáltatások elérése bizonytalan. Hál' istennek a garázskapu rendellenes működéséről tudósító üzenet nem minősített adat, ezért nem fog fájni senkinek, ha egy titkosítatlan kapcsolaton, egy közvetítő szolgáltatón át jut el rendeltetési helyére. A PushingBox-ot választottam, aminek számos előnye mellett annyi hátrányát látom, hogy ha befuccsol (mert ingyenes), akkor másikat kell keresni a pótlására. Közreműködésével a tervezett email és push üzenet mellett akár Twitteren is megoszthatom követőimmel a híreket. A kiválasztott üzenetfajtához csatolt scenario-ban leírt üzenet indítása az api.pushingbox.com-ra küldött DeviceID-vel kezdeményezhető. A különböző esetekhez rendelt riasztásokhoz így az esp-ben elegendő a PushingBox DeviceID-t tárolni:esp_html_riaszt.jpgNagyon barátságos megoldás, hogy a PushingBox scenario-ban változókat határozhatok meg, amikbe a riasztáskor elküldött DeviceID-hez ragasztott értékek behelyettesítődnek. A következő kódrészlet az esp-ben fut, az Arduino Nano-ról érkező adatokat dolgozza fel, és a feltételek teljesülésekor a PushingBox sima HTTP-n elérhető szolgáltatását hívva küldi a DeviceID-vel hivatkozott scenario-ban meghatározott üzenetet:esp_riaszt.jpgAz eseményeket rögzítő naplósorok alapesetben az esp flash memóriájában kapnak helyet. Saját kíváncsiságomat elégítettem ki annak a teljesen szükségtelen programrésznek beépítésével, ami a naplóadatokat kívánságra egy Google Dokumentumba is elküldi.esp_html_config.jpgEz a művelet egy garázskapu mozgásával összefüggésben keletkező adathalmaznál nem indokolt, de adódhatnak ennél izgalmasabb alkalmazások is, ahol a készülék eltűnése-megsemmisülése esetére is készülve, a Google Drive-on tárolt adatok megmaradnak. A szerver oldalon egy rövid script doGet(e) funkciója fogadja az esp-ből küldött naplósort:esp_gnaplo.jpgLátszik a kínlódás nyoma. Lehet igyekezni, néha érdemes is, de ez esetben az esp - ehhez a feladathoz mérten - gyér teljesítménye miatt kudarcra volt ítélve a próbálkozás. Valamennyi idő óhatatlanul pocsékba megy a zsákutcába jutott kísérletek miatt, de ez elenyésző ahhoz az előnyhöz képest, amit a nyílt forráskód szellemében dolgozó fejlesztői közösség, az internet közvetítésével szabadon elérhető programkönyvtárak és mások által már kidolgozott megoldások, eszközök biztosítanak.
Nélkülük nem vágtam volna bele:

Arduino
ESP8266 core for Arduino
myWebServer library for esp8266
Simple FTP Server for esp8266 SPIFFs
JSON library for embedded systems
Espressif Sample Codes
PushingBox
Kolban’s book on the ESP8266
Open sourced WiFi Button
ESP8266 WiFi Connection manager
JavaScript client side ping API
CSS3 powered hover effects
playground for the front end web
Rotary Encoder in an MCU-Based Project
stackoverflow
Iconfinder
Sublime Text
Google

A "cucc" elkészült, prímán működik. Gyerekbetegségeiből kigyógyulva immár hibátlan: böngészőből ellenőrizhető a kapu helyzete, vezérelhető mozgása. Naplózza az eseményeket, és küldi az üzeneteket, ha ezt követeli meg a helyzet. A riasztást kiváltó események között előrelátóan elhelyeztem a "nyitás" opciót is. Ez ugyan nem rendkívüli esemény, de nagyon hasznos lehet, ha belefeledkezem valamibe, és nem venném észre az asszony érkezését. Ilyenkor egy időben kapott jelzés életet menthet. Lehetőséget ad arra, hogy a napközben felgyülemlett ledér nőket sebtiben kituszkoljam a hátsó ajtón, akik a kerten át menekülhetnek. Néhány szanaszéjjel hagyott harisnyát és hajcsatot még meg lehet magyarázni, de a kipirult orcájú, csapzott nőket már nehezebben. Ebből következően az okoskapu nem csupán hasznos, hanem nélkülözhetetlen kelléke egy korszerű, vidéki háztartásnak. A munkát megelőző költségvetés ennek fényében értelmetlen, és a megtérülést sem érdemes feszegetni.
Felbecsülhetetlen értékű eszköz.

A legutóbbi megállapítást alátámasztja az is, hogy egyedi darabról van szó, mert a fejlesztés megrekedt a működő deszkamodellnél. Megmutattam néhány érdeklődőnek, akik elégedetten vették tudomásul, hogy mennyi tudományt bele lehet préselni ezekbe az apró eszközökbe, de lelkesedésük nem fajult tettlegességgé.


[1] Magyar megfelelője még nem csontosodott bele a köznyelvbe, ritkán kerül szóba. Akik már belefutottak, és jószándékkal fordítását igyekeztek adni az eredetinek, azok a következő magyar változatait szülték a “rotary encoder” kifejezésnek:
– elfordulás-érzékelő
– elfordulási jeladó
– fordulat jeladó
– forgásérzékelő
– forgási jeladó
– forgó jeladó
– forgóadó (német hatás: r Drehgeber)