Krok 1: Lista rzeczy niezbędnych do wykonania projektu
Podstawowe części:
*Arduino
*Płytka Arduino Motor
*Samochód zdalnie sterowany
*Lutowie
*Lutownica
*Nadajnik podczerwieni
*Odbiornik podczerwieni
*Spinka do baterii 9V (kijanka)
*Włącznik
Podstawowe narzędzia:
*Śrubokręt
*Kilka rodzajów kleju
*Duża ilość przewodów
!Uwaga!: Jeśli zdalnie sterowane auto, które wybrałeś zawiera duży chip (kontroler), to jest to układ TX2 lub RX2. Jeśli tak jest, możesz oszczędzić sporo pieniędzy, używając wbudowanego kontrolera silnika do sterowania nim. Techbitar udostępnia bardzo dobry poradnik na ten temat pod tym linkiem: http://www.instructables.com/id/Arduino-controls-cheap-RC-car-transmitter/
Krok 2: Rozbiórka
Pierwszy krok, który powinien zostać poczyniony jest rozbiórka zdalnie sterowanego auta i opróżnienie go z całej zawartości. Odkręć śrubki mocujące obudowę samochodu do podstawy, a następnie zdemontuj wszelkie obwody drukowane znajdujące się wewnątrz auta. Silniki powinny pozostać na dotychczasowym miejscu, ponieważ ten projekt zakłada tylko modyfikację podstawy, kół i silników tak, aby polepszyć ich działanie.
Krok 3: Przygotowywanie czujników
Nadszedł czas na przygotowanie elektroniki. Na początku, przylutuj rezystor o wartości 100 omów do wyprowadzenia diody podczerwonej. Przylutuj przewód do końcówki opornika i drugi przewód do wyprowadzenia diody.
Następnie przylutuj dwa długie kawałki przewodu do obydwu wyprowadzeń odbiornika podczerwieni.
Sprawdź przewody silników, upewnij się, że każde wyjście silników ma przynajmniej 4-5 cali przewodu, zależnie od wielkości auta.
Krok 4: Zabezpieczanie Arduino i czujnika
Po przygotowaniu podwozia samochodu, należy wybrać śrubki oraz wykonać otwory w podwoziu auta, w celu zamontowania Arduino w samochodzie.
Następnie, trzeba będzie umiejscowić z przodu samochodu diody podczerwone, odbiorczą i nadawczą. Zadbaj o to, aby były one na poziomie podłoża i w miarę możliwości rozważ nałożenie na diodę nadawczą rurki z otuliny termokurczliwej, zapobiegnie to docieraniu emitowanego promieniowania do odbiornika zanim auto natrafi na faktyczną przeszkodę.
Można również rozważyć dodanie kolejnej diody podczerwonej z tyłu zdalnie sterowanego auta, aby uniknąć uderzenia w przeszkody podczas cofania, jednak opcja ta nie jest opisana w niniejszym artykule.
Jeśli przykleiłeś już diody we właściwych miejscach, przejdź do następnego kroku.
Krok 5: Zasilanie
Ten projekt będzie zasilany z pojedynczej baterii 9V. Weź twój przełącznik I przylutuj kawałek przewodu do jednego z jego wyprowadzeń oraz biegun dodatni baterii połącz z drugim wyprowadzeniem.
Następnie przymocuj baterię za pomocą taśmy dwustronnej, opaski zaciskowej lub w inny możliwy sposób. Powinna dobrze pasować na miejsce oryginalnej baterii zdemontowanej z samochodu.
Aby zapewnić dłuższą żywotność auta możesz połączyć dwie baterie równolegle.
Krok 6: Połączenia
Załączony rysunek poglądowy powinien w znacznym stopniu ułatwić całą sprawę. Dodatkowo jednak, poniżej znajduje się lista wyjść.
!Uwaga!: Wyprowadzenie dodatnie powinno być nieco dłuższe. Jeśli nie jesteś pewien co do tej kwestii, poszukaj informacji w google na temat tej konkretnej diody.
IRED
Pos - 5v
Neg - Ground
Sensor
Pos - Analog pin 5
Neg - Ground
Drive Motor
Pos - Motor Shield Channel A +
Neg - Motor Shield Channel A -
Steering Motor
Pos - Motor Shield Channel B +
Neg - Motor Shield Channel B -
9v
Pos - Motor Shield Vin
Neg - Motor Shield Gnd
Krok 7: Programowanie
Aby nadać prawdziwy "charakter" temu projektowi, należałoby przeprowadzić jeszcze wiele modyfikacji w kodzie źródłowym oraz samym samochodzie (kształt, rozmiar, kąt skrętu, prędkość, waga i wiele innych powiązanych parametrów). Poniżej kod źródłowy.
int irsensor = A5;
int motorspeed;
int run = 0;
int measure = 1;
int ambientir = 0;
int distance;
void setup() {
//Setup Channel A
pinMode(12, OUTPUT); //Initiates Motor Channel A pin
pinMode(9, OUTPUT); //Initiates Brake Channel A pin
pinMode(irsensor, INPUT);
digitalWrite(irsensor, HIGH);
Serial.begin(9600);
}
void loop(){
if(run == 0)
{
delay(1000);
do{
ambientir = ambientir + analogRead(irsensor);
delay(1000);
measure = measure + 1;
}
while(measure < 10);
ambientir = ambientir / 10;
run = run +1;
}
distance = analogRead(irsensor);
if(distance < ambientir - 50){
digitalWrite(12, HIGH); //Establishes backward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 100); //Spins the motor on Channel A at half speed
}
if(distance > ambientir - 50){
digitalWrite(12, LOW); //Establishes forward direction of Channel A
digitalWrite(9, LOW); //Disengage the Brake for Channel A
analogWrite(3, 100); //Spins the motor on Channel A at full speed
}
Serial.println(distance);
}Tutaj należałoby powiedzieć: Powodzenia! Nie należy się zrażać, ponieważ każdy programista zgodzi się z tym, że rzadko cokolwiek działa od razu, przy pierwszej próbie.
Krok 8: Wykańczanie, testowanie i wnioski dotyczące projektu
W przedstawionym projekcie, oryginalne nadwozie zostało zabezpieczone i pomalowane przed rozpoczęciem testów.
Kilka problemów, na które można się natknąć w czasie realizacji projektu:
-Mały zasięg czujnika
-Prędkość samochodu (niemożliwe jest szybkie zatrzymanie)
-Problemy ze światłem podczerwonym
-Zderzenia
-Tani, chiński plastik...
Auto całkiem dobrze radzi sobie w omijaniu ścian itp., jednak kiedy porusza się pomiędzy mniejszymi obiektami (np. nogi krzeseł lub stołu) często zdarza się, że wpada na nie, ponieważ zasięg czujnika jest zbyt mały. To również można naprawić, zwiększając liczbę nadajników podczerwieni, jakość detektora lub usuwając zbędne przeszkody z pokoju. Kolejna rzecz, która powinna zostać rozwiązana to kwestia sterowania silnikami w momencie, kiedy samochód zostanie zatrzymany przez przeszkodę.
Źródło: Link
Fajne? Ranking DIY
