Spisu treści:
2025 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2025-01-13 06:58
Pewnego dnia znalazłem ciekawe wideo na: https://arduinotr.com/cisim/?fbclid=IwAR22rYmiRQQJ0nqAusOLhBj_778gROseej6TUonvbOnAd65A-sl_wnyqrJQ&tdsourcetag=s_pcqq_aiomsg, ale to naprawdę niezłe wideo
Na pierwszy rzut oka wydaje mi się to naprawdę dziwne, a potem stopy oszukane, nie wiem, co jest podstawowym powodem, dla którego ten projektant wymyślił tak mylącą historię… to niemożliwe przy prostym czujniku IR, ani nawet bez żadnego kontrolera, ale tylko prostych triod.
Nie znam faceta i całej historii, po prostu staram się zrobić to sam. Właśnie wykonałem własny projekt, z bardzo prostymi modułami:
- Dowolny kontroler kompatybilny z Arduino, taki jak Maduino
- Sterownik silnika L298N
- 3x czujnik podczerwieni
- Niektóre popularne zworki
Krok 1: Wykrywanie przeszkód
Do wykrywania przeszkody wykorzystywane są 3 czujniki podczerwieni, a lewy/prawy czujnik wykrył przeszkodę, należy go obrócić w kierunku zegara/anty-zegara, podczas gdy wykryto środkowy czujnik, wszystko jest w porządku.
Czujnik 3 wykrywa, czy z przodu znajduje się jakaś przeszkoda. Łączy pin sygnału z pinami wejściowymi Maduino, takimi jak Pin2/3/4;
Jako oprogramowanie, po prostu sprawdź stan wyjścia czujnika, aby zdecydować, co powinien zrobić silnik:
jeśli (IR1_STA == WYSOKI & IR2_STA == NISKI & IR3_STA == WYSOKI)//Jeśli czujnik środkowy wykryje przeszkodę, silnik zatrzyma się
{
analogZapis(EN, 0);
Zatrzymać();
}
jeśli (IR1_STA == LOW & IR2_STA == HIGH & IR3_STA == HIGH)//jeśli prawy czujnik wykryje przeszkodę, silnik do tyłu z dużą prędkością;
{
zapis analogowy (EN, szybki);
Odwrócić();
}
jeśli (IR1_STA == NISKI & IR2_STA == NISKI & IR3_STA == WYSOKI) //jeśli
Prawy i środkowy czujnik wykrywa przeszkodę, cofanie silnika z niską prędkością;
{
zapis analogowy (EN, niska prędkość);
Odwrócić();
}
……
Krok 2: Sterowanie silnikiem
A sterownik silnika, który steruje silnikiem, z wysoką/niską prędkością, zależy od stanu czujnika.
Użycie modułu L298N do sterowania silnikiem za pomocą pinu Maduino 5/6 i pinu PWM (Maduino Pin9) do pinu L298N Enable i zasilanie modułu napięciem 9 V:
wewn EN=9; //Sterowanie PWM
int highspeed = 80;//zdefiniuj wysoką prędkość
int lowspeed = 60;//zdefiniuj niską prędkość
a następnie prędkość silnika można kontrolować za pomocą:
zapis analogowy (EN, szybki);
Krok 3: Zainstaluj coś tam, takiego psa…
Zainstaluj czujniki i silniki i zrób coś, dla mnie lubię, jak pies bawi się z moją 1,5 letnią córką. Pobierz kod Arduino tutaj…. możesz się ze mną skontaktować: [email protected] w razie jakichkolwiek pytań