Агуулгын хүснэгт:
Видео: Ротари кодлогч - Үүнийг ойлгож, ашиглаарай (Arduino/other ΜController): 3 алхам
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:02
Ротари кодлогч нь эргэлтийн хөдөлгөөнийг тоон эсвэл аналог мэдээлэл болгон хувиргадаг цахилгаан механик төхөөрөмж юм. Энэ нь цагийн зүүний дагуу эсвэл цагийн зүүний эсрэг эргэх боломжтой. Эргэдэг кодерын хоёр төрөл байдаг: үнэмлэхүй ба харьцангуй (өсөн нэмэгдэж буй) кодлогч.
Үнэмлэхүй кодлогч нь өнөөгийн босоо амны өнцөгт пропорциональ утгыг гаргадаг бол нэмэлт кодлогч нь босоо амны алхам ба түүний чиглэлийг гаргадаг. (Энэ тохиолдолд бид нэмэгдэл кодлогчтой болно)
Ротари кодлогч нь нэг цахилгаан модульд хоёр функцийг ашиглах боломжтой болсон тул улам бүр түгээмэл болж байна. цэсээр дамжуулан.
Өсөн нэмэгдэж буй эргэлтэт кодлогч нь босоо амаа эргүүлэх үед хоёр гаралтын дохио үүсгэдэг. Чиглэлээс хамааран дохионуудын нэг нь нөгөө рүү хөтөлдөг. (доороос үзнэ үү)
Алхам 1: Гаралтын өгөгдлийг ойлгох
Таны харж байгаагаар кодлогч босоо ам цагийн зүүний дагуу эргэж эхлэхэд А гаралт эхлээд LOW руу унаж, B гаралт үүнийг дагана. Цагийн зүүний эсрэг чиглэлд үйлдэл эсрэгээрээ эргэдэг.
Одоо бид үүнийг µController дээрээ ашиглах ёстой (би Arduino Nano ашигладаг байсан).
Алхам 2: Хэлхээг бий болгох
Өмнө нь миний хэлсэнчлэн гаралт нь ДЭЭД ба ДОТРОЙ хажуу талыг бий болгодог. ΜController-ийн A ба B өгөгдлийн зүү дээр цэвэр HIGH авахын тулд бид татах эсэргүүцэл нэмэх ёстой. Нийтлэг Pin C нь LOW хажуугийн хажуу тийш шууд чиглэнэ.
Дотоод шилжүүлэгчийн талаар мэдээлэл авахын тулд бид бусад хоёр тээглүүрийг ашиглах болно. Тэдний нэг нь VCC рүү, нөгөө нь µController -ийн өгөгдлийн зүү рүү ордог. Цэвэр LOW авахын тулд бид өгөгдлийн зүү дээр доош татах резистор нэмэх шаардлагатай болно.
Мөн µController-ийн дотоод Pull-Up ба Pull-Down резисторыг ашиглах боломжтой!
Миний хувьд холболт дараах байдлаар харагдаж байна.
- +3, 3V => +3, 3V (Arduino) (мөн +5V боломжтой)
- GND => GND (Arduino)
- A => Pin10
-
B =>
Пин
11
- C => GND
-
SW =>
Пин
12
Алхам 3: Код бичих
int pinA = 10; // дотоод шилжүүлэгч A int pinB = 11; // дотоод унтраалга B int pinSW = 12; // switch (Encoder дарагдсан) int encoderPosCount = 0; // тэгээс эхэлнэ, хүсвэл өөрчил
int positionval;
bool switchval; int mrotateСүүлд; int mrotate;
хүчингүй тохиргоо () {
int mrotateLast = digitalRead (pinA); Цуваа эхлэх (9600); саатал (50); }
void loop () {readencoder (); if (readwitch () == 1) {Serial.println ("Switch = 1"); }}
int readencoder () {
mrotate = digitalRead (pinA); if (mrotate! = mrotateLast) {// товчлуур эргэлдэж байвал if (digitalRead (pinB)! = mrotate) {// шилжүүлэгч А эхлээд өөрчлөгдсөн -> цагийн зүүний дагуу эргэдэг encoserPosCount ++; Serial.println ("цагийн зүүний дагуу эргүүлэх"); } else {// шилжүүлэгч B эхлээд өөрчлөгдсөн-> цагийн зүүний эсрэг эргэдэг encoserPosCount--; Serial.println ("цагийн зүүний эсрэг эргүүлэх"); }
Serial.print ("Encoder Position:"); Serial.println (encoderPosCount); Serial.println (""); } mrotateLast = mrotate; encoderPosCount -ийг буцаах; } bool readwitch () {
if (digitalRead (pinSW)! = 0) {// шилжүүлэгч дарагдсан байна
while (digitalRead (pinSW)! = 0) {} // switch одоогоор switchval = 1; } else {switchval = 0;} // switch бол дарагдсан буцах switchval; }
Одоо та кодлогчийг эргүүлж болно, хэрэв та цагийн зүүний дагуу эргэвэл encoderPosCount нь тоолох болно, хэрэв та цагийн зүүний эсрэг эргэвэл тоолох болно.
Тийм шүү! Энгийн бөгөөд ашигтай.
Кодыг өөрчилж, ажиллуулаарай. Та үүнийг төсөл дээрээ хэрэгжүүлэх боломжтой.
Мөн би LED төслөө байршуулж, кодлогч ашиглан LED -ийнхээ гэрэлтүүлгийг тохируулах болно.
Зөвлөмж болгож буй:
Ротари кодлогч товчлуур: 6 алхам
Ротари кодлогч товчлуур: Энэ бол эргэлтэт кодлогч дээр суурилсан эргэдэг алсын удирдлага юм. Энэ нь дараах онцлогтой. Идэвхжүүлсэн үед маш бага гүйдэл зарцуулдаг батерейг удирдлагыг эргүүлэх үед автоматаар идэвхжүүлэх, идэвхгүй болсны дараа автоматаар унтах тохиргоог
ISDT Q6 Ротари кодлогч солих: 4 алхам
ISDT Q6 Rotary Encoder -ийг солих: Энэхүү заавар нь Q6 кодлогч цаг хугацааны явцад sh*t руу шилжсэн хүмүүсийг ашиглах боломжгүй болоход туслах зорилготой юм. Минийх санамсаргүй, тогтворгүй чиглэлд гүйлгэж эхлэв, гагнуурын үеийг дахин асааж, кодлогчийг спиртээр цэвэрлэсний дараа ч гэсэн эвгүй байсан
Arduino Nano ашигладаг Ротари кодлогч: 4 алхам
Arduino Nano -ийг ашигладаг Ротари кодлогч: Сайн байна уу, энэ нийтлэлд би Arduino Nano ашиглан эргэдэг кодлогч хэрхэн ашиглах талаар заавар өгөх болно. Энэхүү Ротари кодлогчийг ашиглахын тулд танд гадны номын сан хэрэггүй. Тиймээс бид эхлээд номын сан нэмэлгүйгээр шууд програм үүсгэх боломжтой. За эхэлцгээе
Ротари кодлогч: Энэ нь хэрхэн ажилладаг, Arduino дээр хэрхэн ашиглах вэ: 7 алхам
Ротари кодлогч: Энэ нь хэрхэн ажилладаг ба Arduino -тэй хэрхэн ашиглах талаар: Та энэ болон бусад гайхалтай хичээлүүдийг ElectroPeak -ийн албан ёсны вэбсайтаас уншиж болно.Тойм Энэхүү гарын авлагад та эргэлтэт кодлогч хэрхэн ашиглах талаар мэдэх болно. Нэгдүгээрт, та эргэлтийн кодлогчийн талаархи зарим мэдээллийг харах болно, дараа нь хэрхэн хийхийг сурах болно
Ротари кодлогч ашиглан Nokia 5110 Lcd дээрх Arduino цэс: 6 алхам (зурагтай)
Nokia 5110 Lcd дээрх Rotary Encoder ашиглан Arduino цэс: Эрхэм хүндэт найзуудаа өөр хичээлд урьж байна! Энэхүү видеоноос бид төслүүдээ хэрэглэгчдэд илүү ээлтэй, чадварлаг болгох үүднээс алдартай Nokia 5110 LCD дэлгэцийн цэсийг хэрхэн бүтээх талаар сурах болно. Эхлээд үзье! Энэ бол төсөл