Укупно приказа странице

петак, 17. септембар 2021.

BIGZ ROBOT

Kako da napišemo program kojim omogućavamo robotu da prati crnu liniju? 

Robot ima sa donje strane dva senzora. Levi senzor SL nalazi se na pinu 2, a desni senzor SR na pinu 5. To je važno da znamo koje pinove postavljamo kao ulazne. Levi motor ML je na pinu 0, a desni motor MR na pinu 1.


Kada senzori imaju vrednost 1 to znači da se nalaze iznad crne linije, a kada imaju vrednost 0, nalaze se iznad belog papira.

Na početku moramo kreirati dve varijable koje će primati ulazne vrednosti senzora. Daćemo im ime SL i SR po oznakama koje se nalaze na pločici. Algoritam koda je sledeći, kada su oba senzora iznad crne linije, robot treba da se kreće napred, kada je desni senzor iznad crne linije, a levi iznad bele površine papira, desni motor staje, a levi pokušava da vrati robota na liniju. Obrnuto, kada je levi senzor iznad crne linije, a desni iznad bele površine papira, levi motor staje, a desni  se kreće.

Nakon što napravimo kod u programu koji koristite online na adresi https://www.tinkercad.com/ kliknite na strelicu pored natpisa Blocks

i odaberite Blocks+Text. Tako ćete dobiti tekst koda u programskom jeziku C++ koji sada treba selektovati i kopirati, kao što radite sa bilo kojim tekstom. Nakon toga otvorite Arduino IDE, nakon toga obrišite sve što se nalazi u polju za pisanje teksta i zalepite kod koji ste kopirali. 

int SL = 0;

int SR = 0;

void setup()
{
  pinMode(2, INPUT);
  pinMode(5, INPUT);
  pinMode(0, OUTPUT);
  pinMode(1, OUTPUT);
}

void loop()
{
  SL = digitalRead(2);
  SR = digitalRead(5);
  if (SL == 0 && SR == 0) {
    analogWrite(0, 0);
    analogWrite(1, 0);
  }
  if (SL == 1 && SR == 0) {
    analogWrite(0, 0);
    analogWrite(1, 255);
  }
  if (SL == 0 && SR == 1) {
    analogWrite(0, 255);
    analogWrite(1, 0);
  }
  if (SL == 1 && SR == 1) {
    analogWrite(0, 255);
    analogWrite(1, 255);
  }
  
}
Sačuvajte kod, priključite mikrokontrolersku pločicu, podesite COM port i učitajte kod. 






Нема коментара:

Постави коментар