Obsah:
- Krok 1: Pulzný tok rotačného enkodéra
- Krok 2: Pinout rotačného enkodéra
- Krok 3: Schéma
- Krok 4: Kód
- Krok 5: Vysvetlenie
- Krok 6: Výstup
Video: Výukový program rotačného enkodéra s Arduinom: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 12:01
Rotačný snímač je elektronická súčiastka schopná monitorovať pohyb a polohu pri otáčaní. Rotačný snímač používa optické snímače, ktoré môžu pri otáčaní snímača generovať impulzy. Na výber ponuky na displeji je možné použiť aj aplikáciu rotačného snímača, spravidla ako mechanického alebo robotického monitora pohybu. Rotačný snímač má dva výstupy, aby mohol rozlišovať medzi negatívnym (CW) a pozitívnym (CCW) otáčaním a má tiež jediné tlačidlo.
Krok 1: Pulzný tok rotačného enkodéra
Pulzný tok generovaný nasledujúcim rotačným snímačom je ako na obrázku vyššie.
Krok 2: Pinout rotačného enkodéra
Vysvetlenie:
- GND GND
- + + 5V
- Tlačidlo SW rotačného snímača pri stlačení
- Údaje DT
- Údaje CLK 2
Jeden z pinov DT alebo CLK musí byť pripojený k pätke prerušenia Arduino Uno, alebo obidva DT a CLK sú pripojené k kolíku prerušenia.
Krok 3: Schéma
- GND a GND Arduino Uno
- + à + 5V Arduino Uno
- SW à PIN 4 Arduino Uno
- DT à PIN 3 Arduino Uno
- CLK à PIN2 Arduino Uno
Krok 4: Kód
V nasledujúcom návode, ktorý bude použitý ako prerušenie, je PIN 2 Arduino Uno, zatiaľ čo PIN 3 sa používa iba ako bežný vstup.
#definovať kodér0PinA 2 #definovať kodér0PinB 3 #definovať kodér0Btn 4 int kodér0Pos = 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 (""); oneskorenie (250); } void doEncoder () {if (digitalRead (encoder0PinA) == digitalRead (encoder0PinB)) {encoder0Pos ++; } else {encoder0Pos--; } valRotary = kodér0Pos/2,5; }
V riadku 10 vyššie uvedenej skice sa používa na povolenie prerušenia pinu 2 Arduino Uno. Vo funkcii "doEncoder" sa počíta z rotačného snímača. Ak je hodnota DT a CLK (prerušenie kolíka Arduino Uno) rovnaká, potom sa premenná „encoder0Pos“zvýši / pridá, okrem tejto podmienky sa zníži aj premenná „encoder0Pos“.
Krok 5: Vysvetlenie
Hodnota ValRotary je hodnota počtu spustených krokov. Hodnota ValRotary sa získa z hodnoty čítanej na snímači rotačného senzora delenej 2,5. Z testu sa získa hodnota 2,5, pretože jeden krok rotačného snímača môže prekročiť 1, takže jeho hodnotu delte 2,5 podľa perstepu a tiež pridania oneskorenia čítania.
Kým na linke 19 - 25 je program na určenie, či rotačný rotačný snímač CW alebo CCW. Vysvetlenie riadkov 19 - 25 je, keď je aktuálny údaj rotačného snímača väčší ako predchádzajúce rotačné údaje potom vyjadrené ako CW. Pokiaľ je aktuálna hodnota menšia ako predchádzajúca, potom sa uvádza ako CCW.
Krok 6: Výstup
1 = hodnota štartovacieho tlačidla rotátora, keď nebol stlačený
Odporúča:
Výukový program LoRa GPS Tracker - LoRaWAN s Draginom a TTN: 7 krokov
Výukový program LoRa GPS Tracker | LoRaWAN s Draginom a TTN: Hej, čo sa deje, chlapci! Akarsh tu z CETech. Pár projektov späť sme sa pozreli na bránu LoRaWAN od Dragino. K bráne sme pripojili rôzne uzly a prenášali sme údaje z uzlov k bráne pomocou siete TheThingsNetwork ako
USB ovládač hlasitosti pomocou DigiSpark a rotačného enkodéra: 3 kroky
Ovládač hlasitosti USB pomocou DigiSpark a rotačného enkodéra: Je to super lacný gombík ovládania hlasitosti USB. Niekedy sú tradičné ovládače pohodlnejšie na ovládanie vecí, než klikáním myšou všade. Tento projekt používa DigiSpark, rotačnú kodérku a knižnicu Adafruit Trinket USB (https: //github.c
TR-01 DIY tester kompresie rotačného motora: 6 krokov (s obrázkami)
TR-01 DIY rotačný tester kompresie motora: Počnúc rokom 2009, pôvodné TR-01 v1.0, v2.0 a v2.0 Baro od spoločnosti TwistedRotors stanovili štandard pre ručné, digitálne, rotačné testery kompresie motora. A teraz si môžete postaviť svoj vlastný! Na rok 2017, na počesť 50. výročia spoločnosti Mazdas Rotary E
Výukový program súpravy rotačného kodéra: 5 krokov
Súprava rotačných snímačov Návod: Popis: Túto súpravu rotačných snímačov je možné použiť na snímanie polohy a rýchlosti motora. Jedná sa o veľmi jednoduchú súpravu pozostávajúcu z optického snímača lúča (opto prepínač, fototranzistor) a kúska štrbinového disku. Je možné ho pripojiť k akémukoľvek mikrokontrolu
Ponuka Arduino na telefóne Nokia 5110 LCD pomocou rotačného kodéra: 6 krokov (s obrázkami)
Ponuka Arduino na telefóne Nokia 5110 LCD pomocou rotačného kodéra: Vážení priatelia, vítam vás pri ďalšom návode! V tomto videu sa naučíme zostaviť vlastnú ponuku pre obľúbený LCD displej Nokia 5110, aby boli naše projekty užívateľsky prívetivejšie a schopnejšie. Začnime! Toto je projekcia