Përmbajtje:
Video: Kodifikues rrotullues - Kuptojeni dhe përdorni atë (Arduino/ΜController tjetër): 3 hapa
2024 Autor: John Day | [email protected]. E modifikuara e fundit: 2024-01-30 12:17
Një kodues rrotullues është një pajisje elektro-mekanike e cila shndërron lëvizjen rrotulluese në informacion dixhital ose analog. Mund të kthehet në drejtim të akrepave të orës ose në drejtim të kundërt. Ekzistojnë dy lloje të kodifikuesve rrotullues: Kodifikuesit absolut dhe relativ (rritës).
Ndërsa një kodues absolut nxjerr një vlerë proporcionale me këndin aktual të boshtit, një kodues shtesë nxjerr hapin e boshtit dhe drejtimin e tij. (Në këtë rast kemi një kodues shtesë)
Koduesit rrotullues po bëhen më të popullarizuar sepse jeni në gjendje të përdorni dy funksione në një modul elektrik: Një ndërprerës i thjeshtë për konfirmimin e operimeve dhe kodifikues rrotullues për të lundruar, p.sh. përmes një menuje.
Një kodues rrotullues shtesë gjeneron dy sinjale dalëse ndërsa boshti i tij po rrotullohet. Në varësi të drejtimit, njëri prej sinjaleve e çon tjetrin. (Shikoni më poshtë)
Hapi 1: Kuptimi i të dhënave të prodhimit
Siç mund ta shihni kur boshti i koduesit fillon të rrotullohet në drejtim të akrepave të orës, Dalja A bie në LOW së pari dhe Dalja B e ndjek atë. Në drejtim të kundërt të akrepave të orës, operacioni kthehet në të kundërt.
Tani na mbetet vetëm ta zbatojmë këtë në µController -in tonë (kam përdorur një Arduino Nano).
Hapi 2: Ndërtoni qarkun
Siç e kam përshkruar më parë daljet krijojnë një krah të Lartë dhe të UL. Për të marrë një HIGH të pastër në kunjat e të dhënave A dhe B të μController duhet të shtojmë rezistorë Pull-Up. Pin C i zakonshëm shkon drejtpërdrejt në tokë për krahun LOW.
Për të marrë informacion në lidhje me ndërprerësin e brendshëm (butonin shtypës) ne do të përdorim dy kunjat e tjerë. Njëri prej tyre shkon në VCC dhe tjetri në një Pin të dhënash të µController. Ne gjithashtu duhet të shtojmë një Rezistor Tërheqës në pinin e të dhënave për të marrë një LOW të pastër.
Alsoshtë gjithashtu e mundur të përdorni rezistorë të brendshëm Pull-Up dhe Pull-Down të µC Controller tuaj!
Në rastin tim pinout duket si:
- +3, 3V => +3, 3V (Arduino) (gjithashtu +5V e mundur)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Gjilpere
11
- C => GND
-
SW =>
Gjilpere
12
Hapi 3: Shkrimi i Kodit
int pinA = 10; // ndërprerës i brendshëm A int pinB = 11; // ndërprerës i brendshëm B int pinSW = 12; // kaloni (Kodifikuesi i shtypur) int encoderPosCount = 0; // fillon me zero, ndryshoni nëse dëshironi
int pozicionale;
bool switchval; int mrotateMë fundit; int mrotate;
void setup () {
int mrotateLast = digitalRead (pinA); Serial.filloj (9600); vonesë (50); }
void loop () {readencoder (); if (readwitch () == 1) {Serial.println ("Ndërro = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// çelësi po rrotullohet nëse (digitalRead (pinB)! = mrotate) {// switch A ndryshoi së pari -> rrotullohet kodifikuesi në drejtim të akrepave të orësPosCount ++; Serial.println ("rrotullohet në drejtim të akrepave të orës"); } else {// kaloni B ndryshoi së pari-> rrotullohet koduesi kundër akrepave të orës encoderPosCount--; Serial.println ("rrotullohet në drejtim të kundërt të akrepave të orës"); }
Serial.print ("Pozicioni i koduesit:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; kodifikuesi i kthimitPosCount; } bool readwitch () {
nëse (digitalRead (pinSW)! = 0) {// është shtypur çelësi
ndërsa (digitalRead (pinSW)! = 0) {} // kaloni aktualisht është shtypur switchval = 1; } else {switchval = 0;} // switch është switchval i pakapshëm i kthimit; }
Tani mund ta ktheni koduesin dhe variabla encoderPosCount do të numërohet nëse rrotulloheni në drejtim të akrepave të orës dhe numëroni mbrapsht nëse rrotulloheni në drejtim të kundërt.
Kjo eshte! Thjesht dhe e dobishme.
Ndjehuni të lirë të ndryshoni dhe të kryeni kodin. Mund ta zbatoni në projektin tuaj.
Unë gjithashtu do të ngarkoj një projekt LED ku kam përdorur koduesin për të vendosur shkëlqimin e LED -ve të mia.
Recommended:
Kodifikues rrotullues duke përdorur Arduino Nano: 4 hapa
Kodifikues rrotullues duke përdorur Arduino Nano: Përshëndetje të gjithëve, Në këtë artikull do të bëj një tutorial se si të përdorni një kodues rrotullues duke përdorur Arduino Nano. Për të përdorur këtë kodues Rotary nuk keni nevojë për një bibliotekë të jashtme. Kështu që ne mund të krijojmë drejtpërdrejt programe pa shtuar më parë biblioteka. ok Le të fillojmë
Kodifikues rrotullues: Si funksionon dhe si të përdoret me Arduino: 7 hapa
Kodifikuesi rrotullues: Si funksionon dhe si të përdoret me Arduino: Ju mund të lexoni këtë dhe mësime të tjera të mahnitshme në faqen zyrtare të ElectroPeak në Vështrim Në këtë tutorial, do të mësoni se si të përdorni koduesin rrotullues. Së pari, do të shihni disa informacione rreth kodifikuesit rrotullues, dhe më pas do të mësoni se si të
Kodifikues rrotullues me bordin nukleo STM32: 12 hapa
Kodifikues rrotullues me tabelën nukleo STM32: Ky është një udhëzues për marrjen e pozicionit të koduesit rrotullues, i cili është një lloj koduesi shtesë. Kodifikuesit janë të dy llojeve në përgjithësi: . Por nëse ju h
Kodifikues më i mirë rrotullues: 4 hapa
Kodifikues më i mirë rrotullues: Nëse ndonjëherë keni provuar të përdorni koduesin rrotullues të raftit për projektin tuaj, ka shumë të ngjarë të jeni zhgënjyes. Pavarësisht nëse ishte për shkak të vështirësisë së vendosjes ose kontrolleve të pasakta. Unë kisha të njëjtin problem kështu që vendosa ta rregulloj. Unë kam projektuar 3D pr
Kodifikues rrotullues DIY: 4 hapa
Kodifikues rrotullues DIY: Më falni për mungesën e fotografive, nuk kam vendosur të bëj një mësim për këtë derisa të kem mbaruar me të. Përmbledhje: Kodifikuesit rrotullues përdorin dy ose më shumë sensorë për të zbuluar pozicionin, drejtimin e rrotullimit, shpejtësinë , dhe numri i kthesave