Skocz do zawartości

Noname


Carpe Diem

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
Link do komentarza
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 😉 .

Link do komentarza
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

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • 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.