Przeszukaj forum
Pokazywanie wyników dla tagów 'enkoder'.
Znaleziono 5 wyników
-
Cześć! Mam problem z enkoderem z Nucleo G491RE. Przy wyświetlaniu na monitorze portu szeregowego, po wykonaniu jednego kroku, wyświetla wartość co dwa(0,2,4...) natomiast podczas powolnego przekręcania w jednej chwili pokazują się normalnie nieparzyste wskazania, gdy enkoder jest w ułożeniu między pełnymi krokami. Niżej kod, ustawiłem w CubeIDE tim2 na prace z enkoderem 20 krokowym co pokrywa się z używanym przeze mnie. char msg[64]; uint32_t count; HAL_TIM_Encoder_Start(&htim2, TIM_CHANNEL_ALL); /* USER CODE END 2 */ /* Infinite loop */ /* USER CODE BEGIN WHILE *
-
Jako że Trinket jest mały i w miarę w rozsądnej cenie, chciałem wykonać sterowanie jasnością taśmy LED, czy PowerLEDa. W tym celu zmontowałem układ jak na rysunku: Natomiast pojawił się problem z programem. W założeniu obroty w lewo enkodera mają ściemniać, a w prawo rozjaśniać. Do tego chciałem zaimplementować liniowość zmiany jasności LED, bo jak wiadomo zmiana widocznej jasności nie idzie w parze z wielkością wypełnienia PWM. Jako że inni już przede mną temat rozkminiali, to na bazie ich osiągnięć próbuję napisać program. Źródła to: Implementacja liniowej zmiany jasności L
-
Dzień dobry, Robię projekt który realizuje otwieranie i zamykanie drzwiami przesuwnymi w trybie automatycznym i ręcznym, pozycja drzwi ustalana jest za pomocą enkodera oraz przerwań w programie. Pytanie moje brzmi jak ustalić w programie że drzwi podczas zamykania lub otwierania się zatrzymały, czyli enkoder przestał zmieniać wartość. W praktyce chodzi o rewers, czyli jak drzwi np przy zamykaniu natrafią na jakąś przeszkodę to odbiją i zaczną się otwierać. Kombinowałem już na wiele różnych sposobów i jak na razie bezskutecznie. Poniżej załączam kod na jakim działam. #define PinA
- 5 odpowiedzi
-
- Arduino
- przerwania
-
(i 1 więcej)
Tagi:
-
Cześć. Posiadam silnik z wałem o średnicy 14 mm oraz enkoder z wałem o średnicy 6mm. W jaki sposób sprzęgnąć ze sobą te dwa wały?
-
Cześć. Mam taki problem, mam program do obsługi radia i chcę za pomocą enkodera wybierać odpowiednie stacje. Mam zmienną do której zapisuje pozycje enkodera (wzorowałem się na kursie Forbota z stm32F4) potem za pomocą instrukcji switch sprawdzam tę pozycję i na tej podstawie wykonuję się odpowiedni case który ustawia stację, to nie jest optymalne bo muszę to zapętlać żeby co chwilę sprawdzać pozycję enkodera. Nie wiem czy słusznie, ale wydaje mi się że powinienem tutaj użyć przerwań i jakiejś funkcji callback. Moje pytanie brzmi jak skonfigurować Timer, a następnie co zrobić żeby program