Az optikai jeladó csatlakoztatása arduino-hoz
Napjainkban az elektronika és a robotika számos területén széles körben használják az optikai jeladókat (tengelyhelyzet-érzékelőket). Ezeket olyan eszközökben használják, amelyek meghatározzák a motor tengelyének helyzetét, sebességszabályozó rendszereket, nyomtatókat, CNC-gépeket stb.
Az Arduino tábla oktatható is egy optikai kódolóval való együttműködésre, amely lehetővé teszi a még érdekesebb és praktikus eszközök megvalósítását.
Egy egyszerű optikai jeladó fő eleme egy infravörös LED és egy fototranzisztorból álló opto-interrupter (foto interrupter), amely műanyag házban egymással szemben helyezkedik el. Ha a lemez átlátszatlan részét a LED által kibocsátott fény blokkolja, a fototranzisztor vezetőképessége megváltozik. Ezt a változást különálló komponensek vagy mikrokontrollerek határozhatják meg.
Mivel a fototranzisztor bemenetén impulzusokat kell létrehoznunk, olyan lemezre van szükségünk, amely átlátszó részekkel vagy bemélyedésekkel rendelkezik. Az ilyen lemezt átlátszó akrilból készíthetjük, ha a nyomtatóra nyomtatott nyomatot beillesztjük, amelyet alább mutatunk be. Az átlátszatlan akrilból is kivághatja a megfelelő számot.
Először össze kell állítanod az alábbi ábrát, amely Arduino-ból és egy opció megszakítóból áll. Az R2 ellenállás felfelé áll. Az R1 ellenállás értéke attól függ, hogy melyik megszakítót használja. A LED a D13 érintkezőhöz csatlakozik, ami a sugár megszakításakor aktiválódik. A D12 egy segéd kimenet, amely az érzékelő jelének megfigyelésére használható az oszcilloszkóp képernyőjén.
Az elektronika és az Arduino firmware csatlakoztatása után helyezze be a lemezt az optocsatoló nyílásába. Csatlakoztassa az oszcilloszkópot D12-be és forgassa el a tárcsát. Ha nincs oszcilloszkópja a keze ügyében, akkor figyelje meg a D13-hoz csatlakoztatott LED-et. Ebben az esetben a tárcsát lassan forgassa úgy, hogy az impulzusok vizuálisan észlelhetők legyenek.
Hogyan lehet javítani a kódot?
A mikrokontroller digitális bemenetéről a jel kétféleképpen olvasható: lekérdezéssel és megszakítással. Az első esetben a rendszer minden alkalommal a fő programcikluson belül olvassa le a jelet (mint ebben a példában). Ennek a módszernek az a fő hátránya, hogy a kihallgatás során nehéz más jeleket kezelni. De a megszakítások használatával a fő hurok szabadon marad a lekérdezési kód egy részéből, és a rendszer biztonságosan kezelheti más dolgokat, amíg egy jel nem érkezik a bemenetre. A jel érkezésével a főművet felfüggesztik, a rendszer megszakítja a pulzust, majd kilép, és visszaállítja az előző munkát. Tehát, ha nincs elég teljesítményed, használd a megszakításokat.