16-01-2016, 20:29
(Ten post był ostatnio modyfikowany: 16-01-2016, 22:27 przez CEO.
Powód edycji: Używamy znaczników kodu
)
Witam wszystkich. Mam na imię Daniel, i Arduino zajmuję się od niedawna. Przyszedł mi do głowy pomysł projektu, w którym wykorzystał bym moduł zdalnego sterowania oraz Arduino. Moduł RC to prosty układzik wyciągnięty z zabawkowego samochodu, który działał na zasadzie O/I. Zamysł był taki, by układ RC podłączyć do wejść cyfrowych w Arduino, Który miał by zliczać impulsy i konwertować je na stopnie wychylenia serwa, w moim przypadku prędkość silnika. Silnik sterowany jest regulatorem modelarskim, który działa na takiej samej zasadzie jak serwo. Po podłączeniu układu, napisaniu i wgraniu kodu wszystko działa jak należy. Arduino w zależności od sygnału (pin 0 jazda do przodu, pin 1, stopniowe zatrzymanie) odejmuje lub dodaje impulsy, przelicza na stopnie i steruje silnikiem. Problem tkwi w tym, że aby cały układ zareagował na przyciśnięcie przycisku na pilocie, przycisk trzeba trzymać wciśnięty około 3-4 sekundy. To tylko silnik, do tego dojdzie jeszcze kierunek (taka sama zasada działania) i czujnik odległości, (po dojechaniu do przeszkody, auto ma się zatrzymać i zawrócić). Jaka jest możliwość zmniejszenia czasu czekania na efekt? dziękuję za wszelkie porady.
mój kod:
Ps.: Linijki poruszające silnikiem w funkcji setup, służą do zalogowania się regulatora.
mój kod:
Kod:
#include <Servo.h> //Biblioteka odpowiedzialna za serwa
Servo silnik;
int RUCH = 0;
int PRZOD = 0;
void setup()
{
silnik.attach(6);
pinMode(0, INPUT_PULLUP);
pinMode(1, INPUT_PULLUP);
silnik.write(180);
delay(2000);
silnik.write(0);
delay(2000);
}
void loop(){
if ( digitalRead(0) == LOW) { // jeśli przyciśnięte, dodaj 10 do ruchu
RUCH = 10 + RUCH;
} else {
RUCH= RUCH;
}
if ( digitalRead(1) == LOW) { // jeśli przyciśnięte, odejmij 10 od ruchu
RUCH = RUCH - 10;
} else {
RUCH = RUCH;
}
PRZOD = map(RUCH, 0, 5, 90, 180); //przelicz na stopnie
delay(200);
silnik.write(PRZOD); // poruszaj silnikiem
delay(200);
}
Ps.: Linijki poruszające silnikiem w funkcji setup, służą do zalogowania się regulatora.