Skocz do zawartości
Zaloguj się, aby obserwować  
Carpe Diem

Noname

Pomocna odpowiedź

Znalazłem chwilę wolnego czasu, więc przedstawię moje odbijadło Noname'a. Robot powstał podczas świąt, jest efektem braku ciekawszych zajęć. Części do niego to zbieranina tego co znalazłem i mogło się nadać, więc koszty są równe teoretycznie 0.

Ogólnie konstrukcja jest banalnie prosta, jedyna trudność to połapanie się na płytce stykowej ale jakoś się udało. Koszty jakie poniosłem to Li-Po, któremu przez przypadek na 0,5s złączyłem wyprowadzenia.

Konstrukcja:

Mikrokontroler: ATmega8

Mostek: L293D

"Czujniki": dwie krańcówki

Zasilanie:

-Li-Po 2S 5000mAh - silniki

-Li-Po 1S 900mAh - logika

Podwozie: kawałek płytki PCV

Silniki+koła: ~18V, wyciągnięte z robo-odkurzacza razem z przekładniami

$regfile = "m8def.DAT"
$crystal = 8000000


'\\\\\-------------------\\\Config///------------------/////'

'---------------Motors---------------'
Config Portc.5 = Output
Config Portc.4 = Output
Config Portc.3 = Output
Config Portc.2 = Output


'----------------Krańc---------------'
Config Pinc.1 = Input
Config Pind.0 = Input


'-----------------LED----------------'
Config Portd.5 = Output
Config Portd.7 = Output



'\\\\\------------------\\\Aliasy///------------------/////'



'---------------Motors---------------'
M1a Alias Portc.5
M1b Alias Portc.4

M2a Alias Portc.3
M2b Alias Portc.2


'----------------Krańc---------------'
Kr1 Alias Pinc.1
Kr2 Alias Pind.0


'-----------------LED----------------'
Dioda1 Alias Portd.5
Dioda2 Alias Portd.7


'---------------Zmienne--------------'
Dim A As Byte



'\\\\\-----------------\\\Program///-----------------/////'


 Do

  If Kr1 = 1 And Kr2 = 1 Then
  Gosub Go
  End If

  If Kr1 = 0 Then
  Gosub Lewo
  End If

  If Kr2 = 0 Then
  Gosub Prawo
  End If

  If Kr1 = 0 And Kr2 = 0 Then
  Gosub Zawroc
  End If


  If Kr2 = 0 Then
     Waitms 1
     If Kr1 = 0 Then
     Gosub Zawroc
     End If
  End If


  If Kr2 = 0 Then
     Waitms 2
     If Kr1 = 0 Then
     Gosub Zawroc
     End If
  End If

  If Kr2 = 0 Then
     Waitms 3
     If Kr1 = 0 Then
     Gosub Zawroc
     End If
  End If

  If Kr2 = 0 Then
     Waitms 4
     If Kr1 = 0 Then
     Gosub Zawroc
     End If
  End If

  If Kr2 = 0 Then
     Waitms 5
     If Kr1 = 0 Then
     Gosub Zawroc
     End If
  End If






  If Kr1 = 0 Then
     Waitms 1
     If Kr2 = 0 Then
     Gosub Zawroc2
     End If
  End If


  If Kr1 = 0 Then
     Waitms 2
     If Kr2 = 0 Then
     Gosub Zawroc2
     End If
  End If

  If Kr1 = 0 Then
     Waitms 3
     If Kr2 = 0 Then
     Gosub Zawroc2
     End If
  End If

  If Kr1 = 0 Then
     Waitms 4
     If Kr2 = 0 Then
     Gosub Zawroc2
     End If
  End If

  If Kr1 = 0 Then
     Waitms 5
     If Kr2 = 0 Then
     Gosub Zawroc2
     End If
  End If

  'If Kr1 = 0 Then
     'Waitms 6
     'If Kr2 = 0 Then
     'Gosub Zawroc
     'End If
  'End If

  'If Kr1 = 0 Then
     'Waitms 7
     'If Kr2 = 0 Then
     'Gosub Zawroc
     'End If
  'End If

  'If Kr1 = 0 Then
     'Waitms 8
'      If Kr2 = 0 Then
'     Gosub Zawroc
 '    End If
  'End If

'   If Kr1 = 0 Then
'     Waitms 9
 '    If Kr2 = 0 Then
  '   Gosub Zawroc
   '  End If
'   End If

'  If Kr1 = 0 Then
 '    Waitms 10
  '   If Kr2 = 0 Then
   '  Gosub Zawroc
    ' End If
'  End If


Loop


End




'\\\--------------\\\Odbijadło///--------------///'


'\\\------------\Go/------------///'

Go:
  Do
     Dioda2 = 1
     M1a = 1
     M1b = 0
     M2a = 1
     M2b = 0
     Dioda2 = 0

  Loop Until Kr1 = 0 Or Kr2 = 0

Return


'\\\-----------\Lewo/-----------///'

Lewo:
  For A = 1 To 1

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     M1a = 0
     M1b = 1
     M2a = 0
     M2b = 1

     Waitms 50

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     M1a = 0
     M1b = 1
     M2a = 1
     M2b = 0

     Waitms 75

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15



  Next

Return


'\\\-----------\Prawo/----------///'

Prawo:
  For A = 1 To 1

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     M1a = 0
     M1b = 1
     M2a = 0
     M2b = 1

     Waitms 50

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     M1a = 1
     M1b = 0
     M2a = 0
     M2b = 1

     Waitms 75

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15



  Next

Return


'\\\----------\Zawroc/---------///'

Zawroc:
  For A = 1 To 1

     Dioda1 = 1
     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     M1a = 0
     M1b = 1
     M2a = 0
     M2b = 1

     Waitms 50

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     M1a = 1
     M1b = 0
     M2a = 0
     M2b = 1

     Waitms 150

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     Dioda1 = 0


  Next

Return


'\\\---------\Zawroc2/---------///'

Zawroc2:
  For A = 1 To 1

     Dioda1 = 1
     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     M1a = 0
     M1b = 1
     M2a = 0
     M2b = 1

     Waitms 50

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     M1a = 0
     M1b = 1
     M2a = 1
     M2b = 0

     Waitms 150

     M1a = 0
     M1b = 0
     M2a = 0
     M2b = 0

     Waitms 15

     Dioda1 = 0


  Next

Return

Program na pewno można by sporo skrócić ale nie ma takiej konieczności.

DSC06419.thumb.JPG.9acbc2382a4bd20dfecbfcb08d44d874.JPG

  • Lubię! 1

Udostępnij ten post


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.

Płytka się tak ugina, jakby miała pęknąć za chwile. Nie boisz się tego?

Akumulator nie zahacza ci podczas jazdy o ziemię?

Jednak, robot się odbija, a o to chyba chodziło 😉 .

Udostępnij ten post


Link to post
Share on other sites

Tą płytkę mógłbym wygiąć jeszcze o jakieś 25* więc nie pęknie na pewno. Dzięki tej kulce nie zahacza.

Udostępnij ten post


Link to post
Share on other sites

Prośba o zanieszczenie schemaciku

Udostępnij ten post


Link to post
Share on other sites

Schemat nie istnieje ale jak znajdę chwilę to może zrobię.

Udostępnij ten post


Link to post
Share on other sites

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!

Gość
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.

Zaloguj się, aby obserwować  

×
×
  • Utwórz nowe...