Мазмұны:
- 1 -қадам: Айналмалы кодердің импульстік ағыны
- 2 -қадам: Ротари -кодерді бекіту
- 3 -қадам: схемалық
- 4 -қадам: код
- 5 -қадам: Түсіндіру
- 6 -қадам: Шығару
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Айналмалы кодер - бұл айналу кезінде қозғалысты және орынды бақылауға қабілетті электронды компонент. Айналмалы кодерде айналмалы кодер айналған кезде импульстарды тудыратын оптикалық сенсорлар қолданылады. Айналмалы кодерді әдетте механикалық немесе роботты қозғалыс мониторы ретінде қолдану дисплейдегі мәзірді таңдау үшін де қолданыла алады. Айналмалы кодердің екі шығысы бар, ол теріс (CW) және оң (CCW) айналуды ажырата алады, сонымен қатар бір түйме бар.
1 -қадам: Айналмалы кодердің импульстік ағыны
Келесі айналмалы кодер шығаратын импульстік ағын жоғарыдағы суретке ұқсас.
2 -қадам: Ротари -кодерді бекіту
Түсіндіру:
- GND GND
- + + 5В
- Басылған кезде айналмалы кодердің SW түймесі
- DT деректері
- CLK деректері 2
DT немесе CLK түйреуіштерінің бірі Arduino Uno үзіліс табанына жалғануы керек, немесе DT мен CLK екеуі де үзу түйреуішіне қосылған.
3 -қадам: схемалық
- GND à GND Arduino Uno
- + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
4 -қадам: код
Келесі оқулықта үзіліс ретінде Arduino Uno 2 PIN коды пайдаланылады, ал PIN 3 тек тұрақты енгізу ретінде қолданылады.
#анықтаушы0PinA 2 #анықтаушы0PinB 3 #анықтаушы0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (encoder0PinA, INPUT_PULLUP); pinMode (encoder0PinB, INPUT_PULLUP); pinMode (encoder0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); Serial.print (btn); Serial.print («»); Serial.print (valRotary); if (valRotary> lastValRotary) {Serial.print («CW»); } if (valRotary {
Serial.print («CCW»);
} lastValRotary = valRotary; Serial.println («»); кешіктіру (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } басқа {encoder0Pos--; } valRotary = encoder0Pos/2.5; }
Жоғарыдағы эскиздің 10 -жолында Arduino Uno 2 түйреуішінің үзілуін қосу үшін қолданылады. «DoEncoder» функциясында айналмалы кодерден есептеледі. Егер DT мен CLK мәні (Arduino Uno түйреуішінің үзілуі) бірдей болса, онда «encoder0Pos» айнымалысы көбейтіледі / қосылады, оған қосымша «encoder0Pos» айнымалысы азаяды.
5 -қадам: Түсіндіру
ValRotary мәні - іске қосылған қадамдар санының мәні. ValRotary мәні айналмалы сенсорлық кодердің мәнін 2,5 -ке бөлу арқылы алынады. Сынақтан 2,5 мәні алынады, өйткені айналмалы кодердің бір қадамы 1 -ден асуы мүмкін, сондықтан оның қадамына және оқу кідірісінің қосылуы бойынша оның мәніне 2,5 -ке бөліңіз.
19 - 25 -жолда - айналмалы кодты CW немесе CCW екенін анықтауға арналған бағдарлама. 19 - 25 жолдардың түсіндірмесі - кодердің ағымдағы оқылуы алдыңғы айналу деректерінен үлкен болған кезде, содан кейін CW түрінде көрсетіледі. Егер ағымдағы көрсеткіш алдыңғы оқудан кіші болса, онда ол CCW деп белгіленеді.
6 -қадам: Шығару
1 = ротордың басылмаған кездегі іске қосу түймесінің мәні
Ұсынылған:
Айналмалы кодер түймесі: 6 қадам
Айналмалы кодер батырмасы: Бұл айналмалы кодерге негізделген айналмалы қашықтан басқару құралы. Ол келесі мүмкіндіктерге ие: Батарея қосылған кезде өте аз ток тұтынумен жұмыс істейді Басқару бұрылған кезде автоматты түрде қосылу Белсенді емес кезеңнен кейін автоматты ұйқы
Айналмалы кодер - оны түсініңіз және қолданыңыз (Arduino/басқа ontrolконтроллер): 3 қадам
Айналмалы кодер - оны түсініңіз және қолданыңыз (Arduino/other ontrolController): Айналмалы кодер - айналмалы қозғалысты сандық немесе аналогтық ақпаратқа түрлендіретін электромеханикалық құрылғы. Ол сағат тілімен немесе сағат тіліне қарсы бұрыла алады. Айналмалы кодерлердің екі түрі бар: абсолютті және салыстырмалы (қадамдық) кодерлер
Arduino Nano көмегімен айналмалы кодер: 4 қадам
Ротари -кодер Arduino Nano көмегімен: Барлығына сәлем, бұл мақалада мен Arduino Nano көмегімен айналмалы кодерді қолдану туралы оқулық жасаймын. Бұл айналмалы кодерді пайдалану үшін сізге сыртқы кітапхана қажет емес. Сондықтан біз алдымен кітапханаларды қоспай тікелей бағдарламалар жасай аламыз. жақсы, бастайық
Айналмалы кодер жиынтығы оқулығы: 5 қадам
Ротари -кодер жиынтығы оқулығы: Сипаттама: Бұл айналмалы кодер жиынтығын қозғалтқыштың орналасуы мен жылдамдығын сезіну үшін пайдалануға болады. Бұл оптикалық сәуле сенсорынан (оптикалық қосқыш, фототранзистор) және саңылаулы дискіден тұратын өте қарапайым жинақ. Оны кез келген микроконтроға қосуға болады
Nokia 5110 Lcd -тегі Arduino мәзірі айналмалы кодер көмегімен: 6 қадам (суреттермен)
Nokia 5110 Lcd -тегі Arduino мәзірі айналмалы кодерді қолданады: Құрметті достар, басқа оқулыққа қош келдіңіздер! Бұл видеода біз Nokia 5110 әйгілі LCD дисплейі үшін өз мәзірімізді қалай құруға болатынын білеміз, бұл біздің жобаларды пайдаланушыларға ыңғайлы және қабілетті ету үшін. Алдымен бастайық! Бұл жоба