Spisu treści:

Jak zrobić fajnego robota z samochodu RC: 11 kroków
Jak zrobić fajnego robota z samochodu RC: 11 kroków

Wideo: Jak zrobić fajnego robota z samochodu RC: 11 kroków

Wideo: Jak zrobić fajnego robota z samochodu RC: 11 kroków
Wideo: ZRÓB TO SAM prosty pojazd zdalnie sterowany - RC - Arduino 2024, Grudzień
Anonim
Jak zrobić fajnego robota z samochodu RC?
Jak zrobić fajnego robota z samochodu RC?

Ten fajny projekt jest dla licealistów lub każdego hobbysty, który chce zrobić fajnego robota. Od dawna próbowałem zrobić interaktywnego robota, ale zrobienie go nie jest łatwe, jeśli nie znasz żadnej elektroniki ani specjalnych języków programowania. Teraz jest język programowania o nazwie nqBASIC, który jest całkowicie darmowy, aby stworzyć własnego robota.

Krok 1: Czego potrzebujesz?

Czego potrzebujesz?
Czego potrzebujesz?
Czego potrzebujesz?
Czego potrzebujesz?
Czego potrzebujesz?
Czego potrzebujesz?
Czego potrzebujesz?
Czego potrzebujesz?

Będziesz potrzebować części do tego fajnego projektu.1) Idź i znajdź samochód RC, który ma dwa silniki prądu stałego. Znalazłem bardzo tani samochód zwany thunder tumbler za 12 USD. Zdjęcie poniżej. 2) Będziesz potrzebować karty kontrolera Servo Sensor o nazwie SSMI. Oto link, aby go pobraćhttps://www.technologicalarts.ca/catalog/product_info.php?currency=USD&products_id=2763) Potrzebny będzie mikrokontroler do tej płyty o nazwie NanoCore12DXhttps://www.technologicalarts.ca/catalog/ product_info.php?cPath=50_36_92&products_id=4294) Potrzebujesz dwóch czujników, jeśli chcesz, aby robot był interaktywnyhttps://www.technologicalarts.ca/catalog/product_info.php?cPath=25_147&products_id=1885) Kabel szeregowy do podłączenia komputera do robota do zaprogramowania.https://www.technologicalarts.ca/catalog/product_info.php?cPath=26&products_id=386) Fajny język robota opracowany dla tego produktu nazywa się nqBASIC. Wejdź na https://www.nqbasic.com i pobierz za darmo. Możesz również zadawać pytania z ich forum.7) 4 baterie AA (alkaliczne lub akumulatorki)

Krok 2: Rozbierz samochód RC

Weź samochód RC na osobności
Weź samochód RC na osobności

1) Wyjąłem całą elektronikę. Odetnij kable od jednostki sterującej wewnątrz samochodu RC, pozostawiając tylko akumulator, ponieważ był w sam raz do zasilania SSMI (płyta interfejsu serwo/czujnika/silnika dla NanoCore12DX).

Krok 3: Podłączone kable prądu stałego i kable akumulatora

Dołączone kable prądu stałego i kable akumulatora
Dołączone kable prądu stałego i kable akumulatora

Dwa silniki prądu stałego samochodu R/C miały już kable, więc podłączyłem je do złączy wtykowych (dostarczanych z płytą SSMI) na moim SSMI. To samo zrobiłem z kablem od akumulatora.

Krok 4: Kable LED

Kable LED
Kable LED
Kable LED
Kable LED
Kable LED
Kable LED
Kable LED
Kable LED

Pozostały 4 kable. Są cienkie. To są kable, które wychodzą z kół. Ten samochód RC ma diody LED wewnątrz tylnych kół. Z każdego koła wychodzą dwa kable. Dzięki tym diodom Twój robot może być ładny. Postanowiłem użyć tych diod, aby robot był bardziej zabawny. Możesz zobaczyć te kable na zdjęciu. Zamontowałem czarny kawałek plastiku, który wyszedł z tyłu samochodu na przód samochodu, aby uzyskać ładną płaską powierzchnię do zamontowania płytki SSMI. Do zamontowania na nim SSMI użyłem rzepów. Możesz użyć taśmy dwustronnej i trochę opasek do krawata, jeśli chcesz. Następnie włożyłem kable LED przez otwory z przodu auta. Zamontowałem SSMI na aucie. Następnie podpiąłem silniki prądu stałego i wtyczki akumulatora do ich lokalizacji.

Krok 5: Podłącz kable LED do płyty SSMI

Podłącz kable LED do płyty SSMI
Podłącz kable LED do płyty SSMI
Podłącz kable LED do płyty SSMI
Podłącz kable LED do płyty SSMI
Podłącz kable LED do płyty SSMI
Podłącz kable LED do płyty SSMI

Następnie podłącz kable LED w odpowiednie miejsca. Musisz dowiedzieć się z instrukcji płyty SSMI, których złączy możesz użyć. Śmiało i podłącz je w te same miejsca, co ja. Później możesz nauczyć się umieszczać te kable w różnych miejscach, jeśli chcesz. Zobacz zdjęcia

Krok 6: Podłącz czujniki

Podłącz czujniki
Podłącz czujniki
Podłącz czujniki
Podłącz czujniki
Podłącz czujniki
Podłącz czujniki
Podłącz czujniki
Podłącz czujniki

Podłącz kable czujnika w odpowiednich miejscach.

Krok 7: Twój robot jest gotowy do toczenia

Twój robot jest gotowy do akcji
Twój robot jest gotowy do akcji

Twój sprzęt robota jest gotowy. Teraz musisz go zaprogramować.

Krok 8: Zainstaluj oprogramowanie

Zainstaluj oprogramowanie
Zainstaluj oprogramowanie

Przejdź do https://www.nqbasic.com i pobierz oprogramowanie ze strony internetowej. Wszystkie instrukcje znajdują się na stronie internetowej - jak zainstalować i przygotować do tego komputer. Jest też fajny film na YouTube, który pokazuje, jak zarejestrować oprogramowanie za darmo. Ten język programowania jest całkowicie darmowy. Nie wahaj się zarejestrować. W przeciwnym razie nie możesz skompilować kodu.

Krok 9: Gotowy do programowania

Gotowy do programowania
Gotowy do programowania

Podłącz kabel szeregowy z portu szeregowego komputera do portu szeregowego SSMI.1) Uruchom nqBASIC i wybierz projekt i nowy projekt2) nadaj nazwę swojemu projektowi i zapisz go.3) Zapyta Cię, którego modułu nanocore używasz, wybierz NanoCore12DX z listy. Jest to jedyny moduł, który współpracuje z SSMI.4) Wybierz Plik/Nowy plik. Zapyta się, czy chcesz dodać ten plik do swojego projektu. Powiedz Tak.5) Podaj nazwę pliku i kliknij Zapisz.

Krok 10: Skopiuj i wklej kod źródłowy

/* Skopiuj stąd do końca tego tekstuPrzykład dla DIP32 (8mHz)*/dim M00 jako nowy pwm(PP0)dim M01 jako nowy pwm(PP1)dim M11 jako nowy pwm(PP2)dim M10 jako nowy pwm(PP3) dim IR1 jako nowy ADC(PAD05) //obiekt ADC dla czujnika Sharp (przód)dim IR1 Wynik jako nowy bytedim IR2 jako nowy ADC(PAD03) //obiekt ADC dla czujnika Sharp (tył)dim IR2 Wynik jako nowy bytedim myChar jako nowy bajt / /Zmienna do przechowywania odebranych znakówdim S jako nowy SCI(PS0, PS1) //SCI objectdim SPK jako nowy DIO(PM4) // Używanie głośnika na SSIMconst ontime = 20dim czas trwania jako nowe słowoConst A2 = 2273 // Music notesConst A3 = 1136 // NutyConst A4 = 568 // Nuty, które wydają dźwięk, gdy robot widzi coś przyciemnionego WLED1 jako nowe DIO(PM2) //Diody LED na przyciemnianiu koła WLED2 jako nowe DIO(PM3) //Diody LED na pętli przyciemniania koła jako nowy byteConst OFF = 0Const ON = 1Const FOREVER = 1Const A = 200Const B = 10Const DEL_1MSEC = 1000sub DelayMsec (w bajtach milisekundach) podczas (milisekundy > 0) System. Delay (DEL_1MSEC) //Opóźnienie 1000 mikrosekund, aby uzyskać 1 milisekundę onds = milisekundy - 1 koniec whileend subsub stop() // aby zatrzymać silniki M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250)end subsub goback() // robot wróci M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnright() // obróć robota w prawo M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) end subsub turnleft() // obróć robota w lewo M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 180)end subgoahead () // przesuń robota do przodu M00. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M01. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) //lewy dc M10. PWM_Start(PWM_MAIN_CLK, 0, 250, 250) M11. PWM_Start(PWM_MAIN_CLK, 0, 250, 180) //prawy dcend subsub wait3() // moje własne opóźnienia DelayMsec(A) DelayMsec(A) DelayMsec(A)end subsub wait4() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A)end subsub wait5() DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A) DelayMsec(A))end subsub wait10() //long delay loop = 1 while(loop < 11) DelayMsec(A) loop =loop + 1 end whileend subsub playsound() // aby odtworzyć nuty czas trwania = ontime while(duration > 0) SPK. PIN_Out(PM4, ON) system. Delay(A2) SPK. PIN_Out(PM4, Off) system. Delay(A2) czas trwania = czas trwania - 1 koniec while DelayMsec(B) czas trwania = włączony czas while(czas trwania > 0) SPK. PIN_Out (PM4, ON) system. Delay(A3) SPK. PIN_Out(PM4, Off) system. Delay(A3) czas trwania = czas trwania - 1 koniec while DelayMsec(B) czas trwania = ontime while(duration > 0) SPK. PIN_Out(PM4, ON) system. Delay(A4) SPK. PIN_Out(PM4, Off) system. Delay(A4) czas trwania = czas trwania - 1 koniec podczas DelayMsec(B)end sub główny PWM. PWM_Res_PP0145 (TIMER_D IV_16, 0) PWM. PWM_Res_PP23 (TIMER_DIV_16, 0) S. SER_Setup(SER_BUFFER_4, BAUD9600) //Ustaw SCI i zezwól na buforowanie 4 znaków System. INTS_On () //WŁĄCZ PRZERWANIA! S. SER_Put_string("To jest test ") S. SER_Put_char ('\n') S. SER_Put_char ('\r') while (FOREVER) IR1. ADC_Start (WAIT, ADC_MODE_8ONCE) // Odczytaj wartość z przedniego czujnika ostrości IR1. ADC_Read (PAD05, IR1Result) IR2. ADC_Start (WAIT, ADC_MODE_8ONCE) // Odczytaj wartość z tylnego czujnika ostrości IR2. ADC_Read (PAD03, IR2Result) S. SER_Put_decimal(IR2Result, FILLUP_SPACE) terminal S. SER_Put_char ('\n') // utwórz nową linię na hiperterminalu S. SER_Put_char ('\r') if ((IR1Result == 25) or (IR1Result > 25)) stop() playsound() wait5() WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) goback() wait5() if ((IR2Result == 25) or (IR2Result > 25)) stop() playsound() wait5() skręć w lewo () wait3() goahead() end if turnright() wait3() else goahead() end if if ((IR2Result == 25) or (IR2Result > 25)) WLED1. PIN_Out(PM2, ON) WLED2. PIN_Out(PM3, ON) stop() wait5() turnright() wait3() WLED1. PIN_Out(PM2, OFF) WLED2. PIN_Out(PM3, OFF) goahead() wait3() else goahead() end if end whileend m ain

Krok 11: Skompiluj i załaduj do swojego robota

Upewnij się, że włożyłeś baterie do robota i włącz go. Powinieneś zobaczyć świecącą się zieloną diodę LED zasilania na SSMI. Na module Nanocore12DX znajduje się mały przełącznik, upewnij się, że jest w pozycji ładowania. Naciśnij przycisk resetowania na SSMI. Przejdź do nqbasic i wybierz Kompiluj i ładuj. Skompiluje Twój kod i załaduje go do robota. Odłącz kabel szeregowy od robota i zmień pozycję z obciążenia na położenie robocze w module NanoCore12DX. Połóż robota na płaskiej powierzchni i naciśnij przycisk resetowania na SSMI. Gratulacje! Jeśli masz jakiekolwiek problemy z wykonaniem tych kroków, nie wahaj się pisać na forum nqBASIC. Będę tam i odpowiem na wszystkie pytania. Baw się dobrze!

Zalecana: