Skocz do zawartości

Schemat na AT89C2051 przeróbka na ATmega8


Pomocna odpowiedź

Napisano

Witam, mam kilka pytań:

1. Jeśli jest schemat na uC AT89C2051 to żeby zamiast niego (AT89C2051) wstawic atmege8 muszę tylko pamiętać, żeby podpiąć ADC0 na AT89C2051 do ADC0 na ATmedze8 ???

2. Czy muszę coś zmieniać w kodzie programu ???

3. Żeby dodać 5 czujnik to mam go podpiąć do ADC4 i nałożyć zmianke w kodzie???

4. Czy ma ktoś program w C do line followera z 5 czujnikami ??? Albo szkielet, bo dopiero sie ucze programowac...

AT89C2051 to jest inna rodzina mikrokontrolerów niż Atmega.

AT89C2051 nie ma ADC, dlatego ten robot z linka ma zrobione czujniki na LM324.

Poza tym programu nie przeniesiesz tak bezpośrednio z 51 na AVR. Trzeba trochę zmienić kod programu. Nie jest to jakiś specjalny problem ale trzeba umieć chociaż trochę programować. No i chyba lepiej się pisze samemu od nowa niż po kimś poprawia.

Ten program nie jest jakiś genialny i zamiast się zastanawiać jak go przemigrować wbij w atmegę program napisany przez Kaytka do jego robotów. Efekt będzie ten sam.

  • 1 miesiąc później...

No właśnie okazuje się że w postach z moimi botami, nie ma tego programu 😉 Trzeba z tym zrobić porządek...

Do autora, schemat dokładnie taki sam jak na stronie którą podałeś - zmień tylko proca na attiny2313 i tutaj masz program.

$regfile = "2313def.dat" 
                                    'określenie uC
'$noramclear

Config Portb = Output                                       'Stan początkowy portów
Config Portd = Input
Portb = &B00000000
Portd = &B00000000

                                                                  'lp - lewy przód, lt - lewy tył, pp - prawy przód, pt - lewy tył

Motor_lp Alias Portb.0                                      'Określenie portów sterujących silnikami przez mostek
Motor_lt Alias Portb.1
Motor_pp Alias Portb.3
Motor_pt Alias Portb.2

                                                          'Określenie portów wejściowych (czujniki) 
Sensor_prawy Alias Pind.3
Sensor_srodkowy Alias Pind.4
Sensor_lewy Alias Pind.2

         'Polecenia wydawane na podstawie stanów wejściowych: 
Do




  If Sensor_lewy = 1 And Sensor_srodkowy = 0 And Sensor_prawy = 1 Then
     Gosub Prosto

   Elseif Sensor_lewy = 0 And Sensor_srodkowy = 1 And Sensor_prawy = 1 Then       'Skręć w lewo
     Gosub Lewo

   Elseif Sensor_lewy = 0 And Sensor_srodkowy = 0 And Sensor_prawy = 1 Then       'Skręć w lewo
     Gosub Lewo


   Elseif Sensor_lewy = 1 And Sensor_srodkowy = 1 And Sensor_prawy = 0 Then       'Skręć w prawo
     Gosub Prawo

   Elseif Sensor_lewy = 1 And Sensor_srodkowy = 0 And Sensor_prawy = 0 Then       'Skręć w prawo
     Gosub Prawo







  End If
Loop


Prosto:                                                     'Tryby pracy silników dla poszczególnych ruchów
Motor_lt = 1
Motor_pt = 1
Return
Prawo: 
Motor_lt = 0
Motor_pt = 1

Return
Lewo: 
Motor_lt = 1
Motor_pt = 0

Return

Oki, Dzięki Kaytec tylko powiedz mi jeszcze w jakim języku ten program jest napisany?? Czy to jest BASCOM??

Ach i jeszcze czy to działa na takiej zasadzie że gdy zgubi linie to skręca w tą stronę gdzie czujnik ostatni raz wykrył linie??

Co mam brać pod uwage przy podłączaniu elementów?? PB0, PD2, PC1 itp itd, czy może ADC0, ADC1??

Sorki że nie pisałem - nie dostałem powiadomienia. Program napisany w bascomie AVR. Wraca na trasę - "nie przebija ostrych zakrętów".

Co mam brać pod uwage przy podłączaniu elementów?? PB0, PD2, PC1 itp itd, czy może ADC0, ADC1??

Niestety nie rozumiem pytania, elementy trzeba podłączyć tak jak są opisane w programie, albo zmienić program.

TJ.

Sensor_prawy Alias Pind.3 - nóżka 7 attiny2313 (w DIL20 oczywiście(

  • Pomogłeś! 1

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...