Witam
Na początku zaznaczę ze jestem początkujący i jest to mój pierwszy projekt i nie proszę o podanie mi odpowiedzi na tacy tylko ukierunkowanie na odpowiednie rozwiązanie...to tyle na wstępie:)
Projekt: Status unit - służy do przesyłania informacji o stanie wejść mikrokontrolera-nadajnika do odbiornika i wyświetlaniu informacji na lcd wszystko opiera sie na komunikacji po rs485.
Wszystko mi fajnie działa,komunikacja, wyświetlanie na lcd, do czasu kiedy dodałem do urządzenia diody led, mianowicie chciałem aby oprócz informacji na lcd zapaliła sie również odpowiednia dioda, nie potrafię napisać kodu który by powodował że dioda jest zapalona do czasu kiedy dany znak przestanie być odbierany po rs485,w moim przypadku dioda miga tak jak sie przewija informacje na lcd.
Cała idea jest następująca: załóżmy ze w nadajniku uruchomią sie 4 alarmy;w odbiorniku na lcd zaczyna sie przewijać po kolei odpowiednio zaprogramowane etykiety ,w tym samym czasie led1 był by cały czas zapalony dopóki odbiornik odbiera np. alarm "Fire"
Nie wiem czy dobrze rozwiązałem sposób komunikacji (najważniejsze że działa) może ktoś mógł by mi podpowiedzieć.
Może dało by rade napisać jakoś żeby to co odbierze od razu zostało wyświetlone na lcd bez zbędnych stałych.
Prosiłbym aby ktoś naprowadził mnie na odpowiednie rozwiązanie albo chociaż podał jakiś pomysł który potem samodzielnie rozwinę
Przyjmuję wszystkie słowa krytyki ,przecież uczymy sie całe życie:)
Z góry bardzo dziękuje
Poniżej wklejam zdjęcia i kod
Nadajnik
Odbiornik
P.S.
Przy zaprojektowaniu płytki bardzo mi pomógł użytkownik marco47, za co jeszcze raz bardzo dziękuje
Zaznaczam że nie jest to żaden komercyjny projekt
Na początku zaznaczę ze jestem początkujący i jest to mój pierwszy projekt i nie proszę o podanie mi odpowiedzi na tacy tylko ukierunkowanie na odpowiednie rozwiązanie...to tyle na wstępie:)
Projekt: Status unit - służy do przesyłania informacji o stanie wejść mikrokontrolera-nadajnika do odbiornika i wyświetlaniu informacji na lcd wszystko opiera sie na komunikacji po rs485.
Wszystko mi fajnie działa,komunikacja, wyświetlanie na lcd, do czasu kiedy dodałem do urządzenia diody led, mianowicie chciałem aby oprócz informacji na lcd zapaliła sie również odpowiednia dioda, nie potrafię napisać kodu który by powodował że dioda jest zapalona do czasu kiedy dany znak przestanie być odbierany po rs485,w moim przypadku dioda miga tak jak sie przewija informacje na lcd.
Cała idea jest następująca: załóżmy ze w nadajniku uruchomią sie 4 alarmy;w odbiorniku na lcd zaczyna sie przewijać po kolei odpowiednio zaprogramowane etykiety ,w tym samym czasie led1 był by cały czas zapalony dopóki odbiornik odbiera np. alarm "Fire"
Nie wiem czy dobrze rozwiązałem sposób komunikacji (najważniejsze że działa) może ktoś mógł by mi podpowiedzieć.
Może dało by rade napisać jakoś żeby to co odbierze od razu zostało wyświetlone na lcd bez zbędnych stałych.
Prosiłbym aby ktoś naprowadził mnie na odpowiednie rozwiązanie albo chociaż podał jakiś pomysł który potem samodzielnie rozwinę
Przyjmuję wszystkie słowa krytyki ,przecież uczymy sie całe życie:)
Z góry bardzo dziękuje
Poniżej wklejam zdjęcia i kod
Nadajnik
$regfile = "M16def.dat"
$crystal = 16000000
$baud = 9600
Dim I As Byte , J As Byte , G As Byte , H As Byte , K As Byte , L As Byte , M As Byte , N As Byte , O As Byte
Config Portc = &B00000000
Portc = &B11111111
Config Pind.2 = Output
Re_de Alias Portd.2
Enable Interrupts
Set Re_de
I = 1
J = 2
G = 3
H = 4
K = 5
L = 6
Do
If Pinc.0 = 0 Then Printbin I
If Pinc.1 = 0 Then Printbin J
If Pinc.2 = 0 Then Printbin G
If Pinc.3 = 0 Then Printbin H
If Pinc.4 = 0 Then Printbin K
If Pinc.5 = 0 Then Printbin L
Loop
End
Odbiornik
$regfile = "M16def.dat"
$crystal = 16000000
$baud = 9600
Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portb.1 , Rs = Portb.2
Config Lcd = 16 * 2
Config Pind.2 = Output
Config Portc = Output
Re_de Alias Portd.2
Enable Interrupts
Reset Re_de
Portc = &B11111111
Dim I As Byte
Cursor Off
Lcd Spc(5) ; "ooooo"
Wait 1
Lowerline
Lcd Spc(2) ; "Status Unit"
Wait 4
Cls
Do
I = Waitkey()
If I = 1 Then Lcd Spc(1) ; "Gas Level 10%"
If I = 2 Then Lcd Spc(6) ; "Fire"
If I = 3 Then Lcd Spc(4) ; "Low Fuel"
If I = 4 Then Lcd Spc(5) ; "Fault"
If I = 5 Then Lcd Spc(1) ; "Gas Level 20%"
Wait 1
Cls
Loop
EndP.S.
Przy zaprojektowaniu płytki bardzo mi pomógł użytkownik marco47, za co jeszcze raz bardzo dziękuje
Zaznaczam że nie jest to żaden komercyjny projekt
