ArUNO/IR/L293D - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino) +--- Wątek: ArUNO/IR/L293D (/watek-aruno-ir-l293d) |
ArUNO/IR/L293D - BartoReyon - 16-07-2023 Cześć, więc ogólnie powiem, że jestem dosyć świeży jeżeli chodzi o sprawy programowania i opieram się w głównej mierze już na istniejących programach próbując je przerabiać tak żeby spełniał moje oczekiwania. Po wielokrotnej próbie odkodowania przycisków pilota IR finalnie mi się udało. Następnym moim krokiem jest zarządzanie sterownikiem L293D za pomocą tego otóż pilota tak żeby mój projekt wykonywał kolejno skręty w prawo i lewo, jechał do przodu i do tyłu oraz się zatrzymywał, czyli pięć przycisków. Odkodowałem sobie te przyciski w wartościach HEX, DEC i jeszcze mam je zapisane jako liczby dziesiętne 70/64 itd.. Po 3-4 nockach zabawy z ctrl+c i ctrl+v przeróżnych kodów natrafiłem na jakiś kod, na który w jakikolwiek sposób silniczki reagowały i tak przystąpiłem do przerabiania go (pewnie źle). Wyszło mi to tak, że arduino reaguje na każdy przycisk z pilota, a nie tylko określone w programie (5). Ogólnie dużo programów już istniejących opiera się na tej starej bibliotece IR, w tym właśnie przypadku nic mi nie działa. W serial monitorze dla tej starej biblioteki jest poradnik jak przekonwertować program 2.0 dla 4.0 dla IRremote ale nieudolnie próbuje przez to przebrnąć. Mój obwód wygląda następująco: https://www.tinkercad.com/things/7W6tBfbWYZl-arduino-car-l293d-model-ii-with-ir-remote-control Zamiast pojedynczej diody IR, zakupiłem taki mniejszy moduł: https://botland.com.pl/odbiorniki-podczerwieni/12508-modul-odbiornika-podczerwieni-1838-38khz-iduino-st1089-5903351241137.html?cd=20196116363&ad=&kd=&gclid=Cj0KCQjwqs6lBhCxARIsAG8YcDiDT13bH9ru7lU68A6eWe5o6QwzYedWZoKmSqY1Nz0LG46kmNmz7mIaAq8kEALw_wcB Cały kod zamieszczam poniżej: Kod: #include <IRremote.hpp> Cały post zamieszczam z prośbą/pytaniem o ewentualne poprawki bądź nakreślenie w którą stronę z tym kodem zmierzać, z góry dziękuję. RE: ArUNO/IR/L293D - kaczakat - 17-07-2023 Jak masz kod na starą bibliotekę, i z nią działa OK, to użyj starej, nie musisz używać najnowszej. Cokolwiek przyleci z pilota raz to odczytaj, przypisz do zmiennej, wznów odbiór. Potem użyj zmiennej do sterowania pojazdem. Takich projektów znajdziesz na pęczki, np. tu: https://projecthub.arduino.cc/comptek4/ir-remote-control-car-24e0bf Przeczytaj kod, nawet nie trzeba mieć tego przypisania do zmiennej, tu wygląda to tak, że odbiera, wznawia, a ostatnio odebrany kod pilota jest w result i tego używa do sterowania. Można też użyć konstrukcji switch case zamiast drabinki if/else if, ja bym jeszcze dodał pomiar czasu, że co np. 10ms mam inkrementowaną zmienną, jak przyleci coś z IR to jest zerowana, jak zmienna urośnie do 50, tzn. przez pół sekundy nie było nic z nadajnika to zatrzymaj pojazd, może operator upuścił pilot, może zszedł, po co męczyć baterie. RE: ArUNO/IR/L293D - MadMrQ - 18-07-2023 Numery pinów w Twoim kodzie nie odpowiadają schematowi, który zamieściłeś. |