Jeśli jesteś właścicielem tej strony, możesz wyłączyć reklamę poniżej zmieniając pakiet na PRO lub VIP w panelu naszego hostingu już od 4zł!

FollowBot


Smart home arduino

FollowBot czyli robot śledzący obiekty wykonany przy użyciu arduino oraz androida.
Śledzi obiekty które śą czerwone np. balony, piłki, ludzi ubranych na czerwono.
Pomysł na tego robota przyszedł jakoś w kwietniu 2015 roku ale po rozpoczęciu prac
nad nim stwierdziłem, że jest to dla mnie za trudne. Na jakieś dwa tygodnie zawiesiłem pracę
ale później stwierdziłem, że muszę dać radę i spróbowałem jeszcze raz.
I po następnych dwóch tygodniach (najwięcej roboty było z aplikacją na androida)
ukończyłem go. Działa świetnie! A o to jak go zbudować:


Potrzebne materiały:

-arduino
-sterownik silnika
-moduł bluetooth
-baterie
-telefon z androidem
-podwozie do robota

Krok 1:

Na początku zacznijmy od połączenia. Poniżej schemat z eagle przedstawiający jak to
wszystko połączyć.

Smart home arduino

Krok 2:

Więc poniżej zanjduje się kod dla arduino jest on bardzo prosty więc nie dodawałem
komentarzy w razie jakichkolwiek pytań napisz do mnie.


/*
*********************************************

C by Nikodem Bartnik May 2015
http://arduinopolska.cba.pl/
http://www.instructables.com/id/Object-tracking-robot

*********************************************
*/
String bluetoothRead, Str_x, Str_y, Str_p;
int x ;
int y ;
int points;
int length;

int pwmMotorA=11;
int pwmMotorB=10;
int ForwardA=8;
int BackA=9;
int ForwardB=6;
int BackB=7;




void setup() {
  Serial.begin(9600);       
  
  
  
  pinMode(pwmMotorA, OUTPUT); 
  pinMode(ForwardA, OUTPUT); 

  pinMode(BackA, OUTPUT);   
  pinMode(pwmMotorA, OUTPUT);
  
  pinMode(ForwardB, OUTPUT); 
  pinMode(BackB, OUTPUT); 
  
  analogWrite(pwmMotorA, 140);
  analogWrite(pwmMotorB, 140);
  

}

void loop() {
 int i=0;
  char commandbuffer[200];


  if(Serial.available()){
    
     delay(10);

     while( Serial.available() && i< 199) {
        commandbuffer[i++] = Serial.read();
  
      
     }
     commandbuffer[i++]='\0';
     bluetoothRead = (char*)commandbuffer;
     length = bluetoothRead.length();
  
  
     
     if(bluetoothRead.substring(0, 1).equals("x")){
       
       int i=1;
       while(bluetoothRead.substring(i, i+1) != ("y")){
       i++;
       }
       
       Str_x = bluetoothRead.substring(1, i);
       x = Str_x.toInt();
       
 
     
       Str_y = bluetoothRead.substring(i+1, length -1);
       y = Str_y.toInt();
       
        Str_p = bluetoothRead.substring(length - 1, length);
        points = Str_p.toInt();

       i = 1;
       
      
      Stop();
 
 if(x < 40){
   Left();
  
  }
  if(x > 140){
    Right();
    
  } 
  if(x < 140 && x > 40){
    if(points == 1){
   Forward(); 
    }
    if(points == 0){
    Stop();
    }
    if(points == 2){
     Back(); 
    }
  }

     

}
}
}





void Left(){
  digitalWrite(ForwardA, LOW); 
  digitalWrite(BackA, HIGH);

  digitalWrite(ForwardB, HIGH); 
  digitalWrite(BackB, LOW);
  
}


void Right(){
  
  digitalWrite(ForwardA, HIGH); 
  digitalWrite(BackA, LOW);
    
  digitalWrite(ForwardB, LOW); 
  digitalWrite(BackB, HIGH);
  
}


void Forward(){
  digitalWrite(ForwardA, HIGH); 
  digitalWrite(BackA, LOW);
    
  digitalWrite(ForwardB, HIGH); 
  digitalWrite(BackB, LOW);
}


void Back(){
  digitalWrite(ForwardA, LOW); 
  digitalWrite(BackA, HIGH);

  digitalWrite(ForwardB, LOW); 
  digitalWrite(BackB, HIGH);
}


void Stop(){ 
  digitalWrite(ForwardA, LOW); 
  digitalWrite(BackA, LOW);
  
  digitalWrite(ForwardB, LOW); 
  digitalWrite(BackB, LOW);
}


Krok 3:

A oto jak wgrać aplikację na twój telefon z androidem. Poniżej dodaję plik .apk musisz go
pobrać i wgrać na swój telefon.
aplikacja do pobrania
Następnie wchodzisz w menadżer plików na swoim telefonie i odnajdujesz wcześniej wgrany plik.
Klikasz na niego i wyskakuje ci okienko czy chcesz zainstalować aplikację. Klikasz zainstaluj,
jeśli nie masz włączonego instalowania aplikacji spoza sklepu play musisz ją włączyć.
Instalacja powinna potrwać kilka sekund.

Krok 4:

Jeśli chcesz (ale nie musisz) możesz wykonać płytkę drukowaną do tego projektu.
Co taka płytka daje? A no pewniejsze połączenie, ładniej to wszystko wygląda
i zajmuje mniej miejsca. Poniżej znajdziesz plik .brd z eagle oraz .sch oraz kilka
zdjęć mojej płytki.

Plik .sch (schemat)
Plik .brd (płytka)
followBot pcb

followBot pcb

Krok 5:

Możesz bezpiecznie uruchomić robota. Jeśli wszytsko poszło dobrze powinien on bezbłędnie
działać. Poniżej znajdziesz filmik z testu tego robota. Jeśli ktoś miałby z czymś problem,
jakieś pytanie lub chciałby powiedzieć co sądzi o moim pomyśle piszcie na nikodem.bartnik@gmail.com