Мазмұны:
Бейне: Айналмалы кодер - оны түсініңіз және қолданыңыз (Arduino/басқа ontrolконтроллер): 3 қадам
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:24
Айналмалы кодер-айналмалы қозғалысты сандық немесе аналогтық ақпаратқа түрлендіретін электр механикалық құрылғы. Ол сағат тілімен немесе сағат тіліне қарсы бұрыла алады. Айналмалы кодерлердің екі түрі бар: абсолютті және салыстырмалы (қадамдық) кодерлер.
Абсолютті кодер біліктің ағымдық бұрышына пропорционалды мәнді шығарса, өспелі кодер біліктің қадамын және оның бағытын шығарады. (Бұл жағдайда бізде қосымша кодер болады)
Ротари -кодерлер танымал бола бастады, себебі сіз бір электрлік модульде екі функцияны қолдана аласыз: операцияларды растайтын қарапайым қосқыш және шарлау үшін айналмалы кодер, мысалы. мәзір арқылы.
Қосымша айналмалы кодер білігі айналған кезде екі шығыс сигналын шығарады. Бағытқа байланысты сигналдардың бірі екіншісіне әкеледі. (төменде қараңыз)
1 -қадам: Шығу деректерін түсіну
Көріп отырғаныңыздай, кодер білігі сағат тілінің бағытымен айнала бастағанда, А шығысы алдымен LOW мәніне түседі, содан кейін В шығысы. Сағат тіліне қарсы бағытта жұмыс қарама-қарсы бұрылады.
Енді біз мұны µController -ге енгізуіміз керек (мен Arduino Nano қолдандым).
2 -қадам: Схеманы құрыңыз
Жоғарыда айтқанымдай, шығыстар жоғары және төмен қанат жасайды. ΜКонтроллердің А және В түйреуіштерінде таза ЖОҒАРЫ алу үшін бізге тартылатын резисторларды қосу керек. Кәдімгі C түйреуіші LOW қапталына тікелей жерге түседі.
Ішкі қосқыш туралы ақпарат алу үшін (түйме) біз басқа екі түйреуішті қолданамыз. Олардың біреуі VCC -ке, екіншісі µController -дің деректер пиніне өтеді. Таза LOW алу үшін бізге деректер түйреуішіне төмен түсетін резисторды қосу керек.
ΜController ішкі тартылатын және тартылатын резисторларын қолдануға болады!
Менің жағдайда түйін келесідей көрінеді:
- +3, 3В => +3, 3В (Arduino) (сонымен қатар +5В мүмкін)
- GND => GND (Arduino)
- A => түйреуіш 10
-
B =>
Бекіту
11
- C => GND
-
БҚ =>
Бекіту
12
3 -қадам: кодты жазу
int pinA = 10; // ішкі қосқыш A int pinB = 11; // ішкі қосқыш B int pinSW = 12; // switch (басылған Encoder) int encoderPosCount = 0; // нөлден басталады, қаласаңыз өзгертіңіз
int positionval;
bool ауыстыру; int mrotateLast; int mrotate;
жарамсыз орнату () {
int mrotateLast = digitalRead (pinA); Serial.begin (9600); кешіктіру (50); }
void loop () {readencoder (); if (readwitch () == 1) {Serial.println («Switch = 1»); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// тұтқасы айналады, егер (digitalRead (pinB)! = mrotate) {// қосқышы A алдымен өзгерді -> сағат тілінің бағытымен encoderPosCount ++ айналады; Serial.println («сағат тілімен бұрылған»); } else {// В қосқышы алдымен өзгертілді-> сағат тіліне қарсы айналдыратын encoderPosCount--; Serial.println («сағат тіліне қарсы бұрылған»); }
Serial.print («Encoder Position:»); Serial.println (encoderPosCount); Serial.println («»); } mrotateLast = mrotate; encoderPosCount қайтару; } bool readwitch () {
if (digitalRead (pinSW)! = 0) {// қосқышы басылады
while (digitalRead (pinSW)! = 0) {} // қосқыш қазіргі уақытта switchval = 1 басылады; } else {switchval = 0;} // коммутатор - қайтарылмаған ауысу; }
Енді сіз кодерді айналдыра аласыз, ал егер сіз сағат тілімен бұрылсаңыз encoderPosCount айнымалы есептеледі, ал егер сіз сағат тіліне қарсы бұрылсаңыз кері санау.
Міне бітті! Қарапайым және пайдалы.
Кодты өзгертуге және орындауға еркін болыңыз. Сіз оны жобаңызға енгізе аласыз.
Мен сондай -ақ светодиодтардың жарықтығын орнату үшін кодерді қолданған LED жобасын жүктеймін.
Ұсынылған:
Қадамдық моторды айналмалы кодер ретінде қолданыңыз: 9 қадам (суреттермен)
Қадамдық моторды айналмалы кодер ретінде қолданыңыз: Айналмалы кодерлер микроконтроллер жобаларында енгізу құрылғысы ретінде қолдануға өте ыңғайлы, бірақ олардың өнімділігі өте тегіс және қанағаттанарлық емес. Сонымен қатар, айналасында көптеген қосалқы қадамдық қозғалтқыштар болғандықтан, мен оларға мақсат беруді шештім. Сондықтан, егер қадамыңыз болса
Қадамдар үшін қадамдық моторды айналмалы кодер және OLED дисплейі ретінде қалай қолдануға болады: 6 қадам
Қадамдық қозғалтқышты айналмалы кодер және OLED дисплейі ретінде қалай қолдануға болады: Бұл оқулықта біз OLED дисплейіндегі қадамдық қозғалтқыштың қадамдарын бақылауды үйренеміз. Көрсетілім бейнесін қараңыз. Түпнұсқалық оқулыққа несие youtube пайдаланушысына " sky4fly "
Arduino Nano көмегімен айналмалы кодер: 4 қадам
Ротари -кодер Arduino Nano көмегімен: Барлығына сәлем, бұл мақалада мен Arduino Nano көмегімен айналмалы кодерді қолдану туралы оқулық жасаймын. Бұл айналмалы кодерді пайдалану үшін сізге сыртқы кітапхана қажет емес. Сондықтан біз алдымен кітапханаларды қоспай тікелей бағдарламалар жасай аламыз. жақсы, бастайық
Nokia 5110 Lcd -тегі Arduino мәзірі айналмалы кодер көмегімен: 6 қадам (суреттермен)
Nokia 5110 Lcd -тегі Arduino мәзірі айналмалы кодерді қолданады: Құрметті достар, басқа оқулыққа қош келдіңіздер! Бұл видеода біз Nokia 5110 әйгілі LCD дисплейі үшін өз мәзірімізді қалай құруға болатынын білеміз, бұл біздің жобаларды пайдаланушыларға ыңғайлы және қабілетті ету үшін. Алдымен бастайық! Бұл жоба
Arduino көмегімен айналмалы кодер оқулығы: 6 қадам
Arduino көмегімен айналмалы кодердің оқулығы: Айналмалы кодер - бұл айналу кезінде қозғалысты және орынды бақылауға қабілетті электрондық компонент. Айналмалы кодерде айналмалы кодер айналған кезде импульстарды тудыратын оптикалық сенсорлар қолданылады. Айналмалы кодерді әдетте мек ретінде қолдану