Skocz do zawartości

Elebot - robot dla początkujących.


Pomocna odpowiedź

Witam. mam takie pytanie do tego fragmentu:

"W programie realizowana jest obsługa obu czujników, przełączenie się pomiędzy funkcjami programu następuje przez ustawienie stanu na Pind.5 (P3.5), "

Czy stan zero lub jedynka na tym porcie ma być ustawiony cały czas czy wystarczy tylko na chwile podać impuls?

Pozdrawiam:)

[ Dodano: 20-07-2012, 12:30 ]

Ps. Mam jeszcze jedno pytanie. Mam l293b. Więc muszę dać diody zabezpieczające. Zamierzam je podłączyć w ten sposób:

https://www.forbot.pl/forum/topics20/h-bridge-vt111.htm

Schemat L298. Czy będzie dobrze jak tak podłącze? Następną sprawą diddy te muszą mieć 1A. Serwo hxt900 pewnie nie pobiera 300mA, więc mogę dać mniejsze? I czy mogą być to zwykłe prostownicze?Czy to coś zmieni?

Pozdrawiam:)

  • 4 miesiące później...

Witam, przepraszam za odświeżanie tematu ale nie chciałem zakładać nowego tematu gdzieś na forum. Mam taki problem z czujnikiem odbiciowym. Czujnik sam w sobie działa, lecz nie mogę sobie poradzić z wysterowaniem. Zmieniałem czasy przełączania bramek co 5ms, począwszy od 1 ms aż do 100ms i nic. Widać różnicę w przełączaniu się diód, lecz tak jakby czujnik nic nie odbierał. Czy może to być wina tego, ze zastosowałem TSOP31236, który jest jest na 36kHz a nie na 38kHz? Bardzo proszę i z góry dziękuje za pomoc

Dzięki za pomoc, wymieniłem dzisiaj odbiornik na 38 kHz i robot od razu zadziałał 🙂 teraz sie męczę z wysterowaniem diód żeby działały na odpowiednią długość, ale jak widać że robot już odbiera to teraz jest to już przyjemna robota. Jeszcze raz dzięki za pomoc 🙂

  • 3 miesiące później...

Witam. Mam problem Taki iż zrobiłem wszystko tak jak w czesci pierwszej wszystko sie kreci tylko nie jedzie po lini jak powinien zbiera jednym czujnikiem wcześniej było wspomniane o edycji programu czy ma ktoś gotowy działający program do tego robota? czy mógł by mi ktoś podesłać /.?

Komórka w garść i sprawdź czy wszystkie czujniki działają musisz włączyć kamerę i złapać w kadr czujnik jeśli w komórce zobaczysz światło to znaczy że działa jeśli nie to prawdopodobnie coś nie styka albo masz zimne luty

  • Lubię! 1

Sprawdzałem juz komórką wszystkie swieca, po wgraniu programu cos niby jak by chcial jechac ale nie moze. Zimnego lutu raczej nie ma bo sprawdzane bylo, ale sprawdze dla pewności raz jeszcze.

Załączę jeszcze kod programu który zmieniłem po przeczytaniu któregoś posta ze nalezy podmienic Portb.4 na Portb.2 moze gdzieś cos zle wpisałem. Jeszcze go nie wgrywałem wole by ktos potwierdzil ze jest dobrze wszystko.


'Elebot wersja avr ATTiny2313
'***** konfiguracja portów *****
Config Portb = Output
Portb = &B00001100
Config Portd = Input
Portd = &B11111111

'****** deklaracja zmiennych i podprogramów ******
Dim Czas As Byte
Dim Ruchl As Bit
Dim Ruchp As Bit
Declare Sub Naprzod
Declare Sub Prawo
Declare Sub Lewo
Declare Sub Wstecz
Declare Sub Ddelay


'***** Program glowny *****
Do
'***** program obslugi czujnika odbiciowego *****
If Pind.5 = 1 Then
Czas = 50
Ruchl = 0
Ruchp = 0
Portb.1 = 1
Waitms 1
If Pind.6 = 0 Then Ruchl = 1
Portb.1 = 0
Portb.0 = 1
Waitms 1
If Pind.6 = 0 Then Ruchp = 1
Portb.0 = 0
If Ruchl = 1 And Ruchp = 0 Then Lewo
If Ruchl = 0 And Ruchp = 1 Then Prawo
If Ruchl = 0 And Ruchp = 0 Then Naprzod
If Ruchl = 1 And Ruchp = 1 Then Wstecz
End If

'***** program obslugi czujnika linii wersja LM324 *****
If Pind.5 = 0 Then
Czas = 5
If Pind.4 = 1 And Pind.3 = 0 And Pind.2 = 1 Then Lewo
If Pind.4 = 0 And Pind.3 = 1 And Pind.2 = 1 Then Prawo
If Pind.4 = 1 And Pind.3 = 1 And Pind.2 = 0 Then Naprzod
If Pind.4 = 1 And Pind.3 = 1 And Pind.2 = 1 Then Wstecz
End If

'***** program obslugi czujnika linii wersja 74HC14 *****
'If Pind.5 = 0 Then
'Czas = 5
'If Pind.4 = 1 And Pind.3 = 1 And Pind.2 = 0 Then Lewo
'If Pind.4 = 0 And Pind.3 = 1 And Pind.2 = 1 Then Prawo
'If Pind.4 = 1 And Pind.3 = 0 And Pind.2 = 1 Then Naprzod
'If Pind.4 = 1 And Pind.3 = 1 And Pind.2 = 1 Then Wstecz
'End If

Loop
'***** prodprogramy ruchu *****
Sub Prawo:
Portb.7 = 1 : Portb.6 = 0 : Portb.5 = 0 : Portb.2 = 0
Call Ddelay
End Sub

Sub Lewo
Portb.7 = 0 : Portb.6 = 0 : Portb.5 = 1 : Portb.2 = 0
Call Ddelay
End Sub

Sub Naprzod:
Portb.7 = 1 : Portb.6 = 0 : Portb.5 = 1 : Portb.2 = 0
Call Ddelay
End Sub

Sub Wstecz:
Portb.7 = 0 : Portb.6 = 1 : Portb.5 = 0 : Portb.2 = 1
Call Ddelay
End Sub

'*****podprogram opoznienia *****
Sub Ddelay:
Waitms Czas
End Sub

End
  • 10 miesiące później...

Nie wiem może komuś się przyda w opisie jest fajny sposób sterowania LCD przez PCF8457 tyle że przykładowy program jest strasznie rozbudowany i trudno jest odsiać część odpowiedzialną za wyświetlanie znaków stąd daje tutaj kawełek kodu który to obsłuży

 $regfile = "m8def.dat"
$lib "Lcd_i2c.lib"

Const Pcf8574_lcd = 112                                    'Ustawienia expandera I2C czyli co do czeog podłączone
Const Pcf_d4 = 0
Const Pcf_d5 = 1
Const Pcf_d6 = 2
Const Pcf_d7 = 3
Const Pcf_rs = 6
Const Pcf_rw = 5
Const Pcf_e2 = 7
Const Pcf_e1 = 4

'Konfiguracja portów



Config I2cdelay = 15                                       'ustawienie prędkości magistrali
Config Scl = Portc.5                                       'ustawienie pinów magistrali I2C
Config Sda = Portc.4
Config Lcd = 16 * 2                                        'ustawienie typu wyowietlacza
Dim _lcd_e As Byte
_lcd_e = 128                                               'Adress LCD


Do
          Cls                                              'czyocimy ekaran z krzaków
      Portd = X
                 Locate 1 , 1                              'współrzędne wyświetlanego tekstu 1 kolumna 1 wiersz
       Lcd "Hello world!"                                  'jakis tekst

 Loop

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