Skocz do zawartości

Jak obsłużyć RC5 w Bascomie ?


Pomocna odpowiedź

Napisano

Witam mam problem postanowiłem dorobić zdalne sterowanie do swojego robota przeszukałem internet oraz helpa Jednak nie wszystkie moje wątpliwości zostały wyjaśnione a więc według mnie program powinien wyglądać jakoś tak ;


$regfile = "attiny2313.dat"                              
$crystal = 1000000                                     
$lib "mcsbyte.lbx"
Config Portd = Input
Config Rc5 = Pind.5                                
Dim Address As Byte , Command As Byte
Enable Interrupts
                                                       'włączmy przerywania
Do
Getrc5(address , Command)
If Address = 0 Then
Command = Command And &B01111111
Wstecz
End If
loop

Ale nadal nie wiem kilku rzeczy czym jest Address oraz Command ?

Z góry dzięki

Czyli co to powinno wyglądać jakoś tak :


$regfile = "attiny2313.dat"                              
$crystal = 1000000                                      
$lib "mcsbyte.lbx" 
Config Portd = Input 
Config Rc5 = Pind.5                                
Dim Address As Byte , Command As Byte 
Enable Interrupts 
                                                       'włączmy przerywania 
Do 
Getrc5(address , Command) 
If Address = 0  and Command = 0 
then gosub Naprzod 

End If 
loop 
No tak ale skąd mam wiedzieć jaki kod mam mój odbiornik ?

Twój odbiornik nie ma żadnego kodu, bo to ATTiny2313, co najwyżej twój nadajnik ma kod, właściwie to adres który go identyfikuje. Najprościej go poznać podpinając sobie wyświetlacz LCD i wyświetlić pole Adrres z które zwraca GETRC5.

Jeżeli nie możesz podpiąć wyświetlacz, to albo wyślij sobie tą wartość przez RS232 do terminala windowsa, albo zapisz w pamięci EEPROM CPU pod jakiś znany ci adres i odczytasz ją programatorem, poleceniem Read EEPROM.

Zawsze można za pomocą polecenia "Print" wyświetlić informacje w terminalu. Później tylko skierować pilot do odbiornika podczerwieni i kod z pętli powinien na bieżąco Ci wyświetlać, który przycisk wcisnąłeś na pilocie.

  • 2 tygodnie później...

Ok udało mi się napisać kod który po przyciśnięciu klawisza "6" zapala diodę podaje kod może komuś się przyda

$regfile = "attiny2313.dat"                                 'najpierw określamy typ proca
$crystal = 1000000                                          'definiujemy z jakim taktowaniem będzie pracował
$lib "mcsbyte.lbx"
Config Rc5 = Pind.5
Config Pind.3 = Output
Dioda Alias Pind.4
Enable Interrupts
Dim Address As Byte , Command As Byte
Do
 Getrc5(address , Command)

Reset Dioda
If Address = 0 Then
Command = Command And &B01111111
End If
If Command = 6 Then
Dioda = 1
  End If
Loop

End

Używam takiego pilota http://sklep.avt.pl/p/pl/488367/rc5-rc6.html

Dzięki wszystkim za pomoc

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