Skocz do zawartości

BPLF - Bardzo Prosty Line Follower z jednym sensorem


Pomocna odpowiedź

Wstęp

Niedawno miałem okazję prowadzić zajęcia feryjne dla dzieci. Tematem, który wybrałem była robotyka. Jako, że jest to gałąź techniki, która w naszych czasach bardzo prężnie się rozwija i można powiedzieć, że rewolucjonizuje nasz świat chciałem w młodych umysłach zaszczepić do niej pasję i być może przyczynić się do rozwoju kolejnego pokolenia inżynierów. 😄 Poza tym roboty są po prostu fajne, a dzieci lubią fajne rzeczy. Potrzebna więc była konstrukcja z którą dzieciaki będą mogły wejść w jakąś interakcję, była prosta, szybka i możliwa do zbudowania z tego co miałem pod ręką 😄. Wybór padł na line followera.

Założenia projektu

  • Zbudowanie Line Followera z części jakie miałem pod ręką w swoim warsztacie (ograniczony a właściwie zerowy budżet)
  • Maksymalne uproszczenie programu i zasady działania robota, by być w stanie objaśnić go młodszym
  • Możliwość szybkiego złożenia robota

Konstrukcja

Układ elektroniczny jest banalny (nie znajdziemy tu żadnych enkoderów czy innych rzeczy znanych z konstrukcji startujących w zawodach). Głównym elementem robota jest Arduino Leonardo (aczkolwiek pod gabaryty robota lepiej sprawdziłoby się Nano, którego niestety nie miałem) do którego przyłączono dwie sekcje układu robota: napęd oraz sensor. Pod napęd wykorzystałem dwa silniczki DC Dagu z przekładnią(Mogą być np. takie). Ich sterowaniem zajął się układ L293D. W line followerach jako czujnik najczęściej wykorzystuje się transoptory odbiciowe czy własny moduł złożony z LEDów IR i fototranzystora. Ja jednak z powodu chęci maksymalnego uproszczenia całości (oraz "wizualizacji działania czujnika") wykorzystałem zwykłe białe LEDy oraz fotorezystor. Schemat zamieszczam poniżej. Dodam, że pierwotnie robot miał być zasilany przez ogniwo Li-Po z odpowiednim układem (zabezpieczenia + boost do 5V), jednak nie naładowałem żadnego ogniwa a do pokazu było coraz bliżej, więc zasiliłem Arduino z power banka.

1727327573_LineFollower_bb.thumb.jpg.c17800ad1ce6ef15f8d3267671399757.jpg

Mechanika robota jest jeszcze prostsza niż elektronika. Podwozie zostało wydrukowane na drukarce 3D i dostosowane pod Line Followera (wziąłem je z innego projektu). Koła już miałem osadzone na wale przekładni (silniczki, przekładnia jak i koła pochodzą z demontażu mojej starej konstrukcji). Zostały one wycięte z sklejki 5mm przy pomocy otwornicy a następnie nakleiłem na nie trochę gumy dla lepszej przyczepności.

Program jest również bardzo prosty. Robot ma za zadanie ciągle skręcać w lewo, jeśli jednak natrafi na linię ma odbić w drugą stronę (W sumie to nie powinien być line follower a line avoider 😄).

int enableChannel1 = 9;
int channel1A = 0;
int channel1B = 1;

int enableChannel2 = 10;
int channel2A = 2;
int channel2B = 3;

int motorPower = 255;

int sensor;

void setup()
{
    //Serial.begin(9600);
    //Serial.println("Init");

    pinMode(enableChannel1, OUTPUT);
    pinMode(channel1A, OUTPUT);
    pinMode(channel1B, OUTPUT);
    pinMode(enableChannel2, OUTPUT);
    pinMode(channel2A, OUTPUT);
    pinMode(channel2B, OUTPUT);
}

void loop()
{
	sensor = analogRead(A0);
    //Serial.println(sensor);

    if(sensor < 200) //Wartość tą należy znaleźć samemu i dopasować ją pod swój fotorezystor i warunki oświetleniowe
    {
        forwardRight();
    }
    else
    {
        forwardLeft();
    }
}

void forwardRight()
{
    //Right
    analogWrite(enableChannel2, motorPower);
    digitalWrite(channel2A, HIGH);
    digitalWrite(channel2B, LOW);

    //Left
    analogWrite(enableChannel1, motorPower);
    digitalWrite(channel1A, LOW);
    digitalWrite(channel1B, LOW);
}

void forwardLeft()
{
    //Right
    analogWrite(enableChannel2, motorPower);
    digitalWrite(channel2A, LOW);
    digitalWrite(channel2B, LOW);

    //Left
    analogWrite(enableChannel1, motorPower);
    digitalWrite(channel1A, HIGH);
    digitalWrite(channel1B, LOW);
}

Kwestie do poprawy gdy czas pozwoli

  • Udoskonalić program i dodać możliwość kalibracji czujnika bez modyfikowania programu
  • Dodać zintegrowane zasilanie (akumulator Li-Po z układem zabezpieczającym i boostem do 5V)
  • Jakoś przymocować to Arduino aby tak nie latało luzem

Na koniec załączam parę zdjęć konstrukcji. Powiem szczerze był to pierwszy LF jakiego zbudowałem, bo do tej pory jakoś z tym zwlekałem (uznawałem, że mam ciekawsze projekty 😄). Jednak ten nieskomplikowany projekcik pokazał, że to fajna zabawa i gdy czas pozwoli zbuduję line followera z prawdziwego zdarzenia.

IMG_20190125_165051.thumb.jpg.da39b6cdb9c77bc789c595f58138e193.jpgIMG_20190125_165013.thumb.jpg.676da0f2be489bd7cf4942b9e1f605e2.jpg

50469997_2251965444856399_677303629476003840_o.thumb.jpg.8f4cf2188133a368131b3be7013882b2.jpg50487769_2251964494856494_5106228958278451200_o.thumb.jpg.22e6134c9aa24ed9f1556bf3f01927c8.jpg

IMG_20190125_165510.thumb.jpg.03a2c8e540d8778037a3d8e6e5804321.jpgIMG_20190125_165026.thumb.jpg.8ce8c23a7b5f4dee0b1734dbdc5bd196.jpg

Edytowano przez Treker
Poprawiłem formatowanie.
  • Lubię! 2
Link to post
Share on other sites

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

@Danieo, witam na forum 😉 Widzę, że to Twoje pierwsze kroki na Forbocie, oto najważniejsze informacje na start:

  • Chcesz przywitać się z innymi członkami naszej społeczności? Skorzystaj z tematu powitania użytkowników.
  • Opis najciekawszych funkcji, które ułatwiają korzystanie z forum znajdziesz w temacie instrukcja korzystania z forum - co warto wiedzieć?
  • Poszczególne posty możesz oceniać (pozytywnie i negatywnie) za pomocą reakcji - ikona serca w prawym dolnym rogu każdej wiadomości.

Właśnie zaakceptowałem Twój opis, możesz go teraz zgłosić do akcji rabatowej umieszczając link w temacie zbiorczym. Dziękuję za przedstawienie ciekawego projektu, zachęcam do prezentowania kolejnych DIY oraz aktywności na naszym forum 🙂

Link to post
Share on other sites

@Treker Tak, mam już parę planów, jednak są one dosyć czaso i budżetochłonne oraz do ich wykonania muszę reaktywować swoją drukarkę 3D 😄 No i na razie chcę dokończyć parę innych rozpoczętych projektów. Ale jak pojawi się coś ciekawego na pewno się pochwalę.

  • Lubię! 1
Link to post
Share on other sites
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.