Სარჩევი:
- ნაბიჯი 1: მბრუნავი კოდირების პულსის ნაკადი
- ნაბიჯი 2: Rotary Encoder– ის Pinout
- ნაბიჯი 3: სქემატური
- ნაბიჯი 4: კოდი
- ნაბიჯი 5: ახსნა
- ნაბიჯი 6: გამომავალი
ვიდეო: Rotary Encoder– ის სახელმძღვანელო არდუინოსთან ერთად: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:20
მბრუნავი კოდირება არის ელექტრონული კომპონენტი, რომელსაც შეუძლია მოძრაობის და პოზიციის მონიტორინგი ბრუნვის დროს. მბრუნავი კოდირება იყენებს ოპტიკურ სენსორებს, რომლებსაც შეუძლიათ პულსის წარმოქმნა მბრუნავი კოდირების ბრუნვისას. მბრუნავი კოდირების გამოყენება, როგორც მექანიკური ან რობოტული მოძრაობის მონიტორი, ასევე შეიძლება გამოყენებულ იქნას ეკრანზე მენიუს შესარჩევად. მბრუნავ კოდირებას აქვს ორი გამოსავალი ისე, რომ მას შეუძლია განასხვავოს უარყოფითი (CW) და პოზიტიური (CCW) ბრუნვა და ასევე აქვს ერთი ღილაკი.
ნაბიჯი 1: მბრუნავი კოდირების პულსის ნაკადი
პულსის ნაკადი, რომელიც წარმოიქმნება შემდეგი მბრუნავი კოდირებით, მსგავსია ზემოთ მოცემულ სურათზე.
ნაბიჯი 2: Rotary Encoder– ის Pinout
ახსნა:
- GND GND
- + + 5V
- დაჭერისას მბრუნავი კოდირების SW ღილაკი
- DT მონაცემები
- CLK მონაცემები 2
ერთი DT ან CLK ქინძისთავები უნდა იყოს დაკავშირებული Arduino Uno– ს წყვეტილ ძირთან, ან ორივე DT და CLK დაკავშირებულია შეწყვეტის პინთან.
ნაბიჯი 3: სქემატური
- GND à GND Arduino Uno
- + à + 5V არდუინო უნო
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
ნაბიჯი 4: კოდი
მომდევნო გაკვეთილში, რომელიც გამოყენებული იქნება შეფერხების სახით არის Arduino Uno– ს PIN 2, ხოლო PIN 3 გამოიყენება მხოლოდ როგორც რეგულარული შეყვანა.
#განსაზღვრეთ კოდირება0PinA 2 #განსაზღვრეთ კოდირება0PinB 3 #განსაზღვრეთ კოდირება0Btn 4 int encoder0Pos = 0; void setup () {Serial.begin (9600); pinMode (კოდირება 0PinA, INPUT_PULLUP); pinMode (კოდირება 0PinB, INPUT_PULLUP); pinMode (კოდირება 0Btn, INPUT_PULLUP); attachInterrupt (0, doEncoder, CHANGE); } int valRotary, lastValRotary; void loop () {int btn = digitalRead (encoder0Btn); სერიული. ბეჭდვა (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 ++; } else {encoder0Pos--; } valRotary = encoder0Pos/2.5; }
ესკიზის მე -10 სტრიქონი გამოიყენება პინ 2 Arduino Uno– ს შეწყვეტის გასააქტიურებლად. "DoEncoder" ფუნქცია გამოითვლება მბრუნავი კოდირებით. თუ DT და CLK მნიშვნელობა (Arduino Uno– ს pin interrupt) იგივეა, მაშინ „encoder0Pos“ცვლადი გაიზრდება / დაემატება, ამ მდგომარეობის გარდა, „encoder0Pos“ცვლადი მცირდება.
ნაბიჯი 5: ახსნა
ValRotary მნიშვნელობა არის გაშვებული ნაბიჯების რაოდენობის მნიშვნელობა. ValRotary მნიშვნელობა მიიღება მბრუნავი სენსორის კოდირების კითხვის მნიშვნელობიდან 2.5 -ზე. გამოცდის შედეგად მიიღება 2.5 მნიშვნელობა, ვინაიდან მბრუნავი კოდირების ერთი საფეხური შეიძლება აღემატებოდეს 1 -ს, ასე რომ გაყავით 2.5 -ზე მისი მნიშვნელობის მიხედვით პერსპეპის მიხედვით და ასევე წაკითხვის შეფერხების დამატებით.
19 - 25 ხაზზე ყოფნისას არის პროგრამა, რათა დადგინდეს მბრუნავი მბრუნავი კოდირება CW თუ CCW. 19 - 25 სტრიქონების ახსნა არის, როდესაც ამჟამინდელი მბრუნავი კოდირების მაჩვენებელი აღემატება წინა მბრუნავ მონაცემებს, რომლებიც მაშინ გამოხატული იყო როგორც CW. ვინაიდან თუ ამჟამინდელი კითხვა უფრო მცირეა ვიდრე წინა წაკითხვა, მაშინ იგი მითითებულია როგორც CCW.
ნაბიჯი 6: გამომავალი
1 = ბრუნვის დაწყების ღილაკის მნიშვნელობა, როდესაც ის არ არის დაჭერილი
გირჩევთ:
როგორ გამოვიყენოთ RFID-RC522 მოდული არდუინოსთან ერთად: 5 ნაბიჯი
როგორ გამოვიყენოთ RFID-RC522 მოდული Arduino– სთან ერთად: ამ ინსტრუქციებში მე განვიხილავ RFID მოდულის ფუნდამენტურ პრინციპს, მის ტეგებსა და ჩიპებთან ერთად. მე ასევე მოვიყვან იმ პროექტის მოკლე მაგალითს, რომელიც მე გავაკეთე ამ RFID მოდულის გამოყენებით RGB LED– ით. ჩვეულებისამებრ ჩემს ინსინებთან
ციფრული ლუდო კამათელი არდუინოსთან ერთად 7 სეგმენტის ჩვენების პროექტი: 3 ნაბიჯი
ციფრული ლუდო კამათელი Arduino 7 სეგმენტის ჩვენების პროექტით: ამ პროექტში 7 სეგმენტის ჩვენება გამოიყენება 1 – დან 6 – მდე რიცხვის შემთხვევით გამოსაჩენად, როდესაც დააჭირეთ ღილაკს. ეს არის ერთ -ერთი ყველაზე მაგარი პროექტი, რომლის განხორციელებაც ყველას სიამოვნებს. იმისათვის რომ ისწავლოთ როგორ იმუშაოთ 7 სეგმენტის ჩვენებით დააწკაპუნეთ აქ: -7 სექცია
DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: 6 ნაბიჯი
DHT21 ციფრული ტემპერატურისა და ტენიანობის სენსორი არდუინოსთან ერთად: ამ გაკვეთილში ჩვენ ვისწავლით თუ როგორ გამოიყენოთ DHT21 ტენიანობისა და ტემპერატურის სენსორი არდუინოსთან ერთად და გამოვაჩინოთ მნიშვნელობები OLED ეკრანზე. უყურეთ ვიდეოს
Rotary Encoder: როგორ მუშაობს და როგორ გამოვიყენოთ Arduino– სთან ერთად: 7 ნაბიჯი
Rotary Encoder: როგორ მუშაობს და როგორ გამოვიყენოთ Arduino– სთან ერთად: შეგიძლიათ წაიკითხოთ ეს და სხვა საოცარი გაკვეთილები ElectroPeak– ის ოფიციალურ ვებ – გვერდზე. მიმოხილვა პირველ რიგში, თქვენ იხილავთ ინფორმაციას ბრუნვის კოდირების შესახებ და შემდეგ ისწავლით თუ როგორ
როგორ გამოვიყენოთ ვიბრაციის სენსორი- VISUINO სახელმძღვანელო ARDUINO– სთან ერთად: 6 ნაბიჯი
როგორ გამოვიყენოთ ვიბრაციის სენსორი- VISUINO სახელმძღვანელო ARDUINO– სთან ერთად: ამ სახელმძღვანელოში ჩვენ ვიყენებთ ვიბრაციის სენსორს, led, buzzer, resistor, Arduino Uno და Visuino ვიბრაციის გამოვლენისას სიგნალის გასაკეთებლად. უყურეთ სადემონსტრაციო ვიდეოს