Skocz do zawartości

Robot odkurzacz


Chester11-86

Pomocna odpowiedź

W tym wypadku wykorzystałbym je jako zatrzymanie do czasu spełnienia warunku.

Np.

while Kran_1 = 1
wend

Da Ci tyle, że dopóki krancówka 1 nie zostanie wciśnieta program nie pójdzie dalej.

Link do komentarza
Share on other sites

Hmm już rozumiem 🙂

Tylko mam jeszcze jedno pytanie odnośnie tej komendy while wend. Bo jeżeli czytam Twoje posty i jednocześnie czytam helpa z bascom'a nie do końca jestem pewien w jaki sposób użyć tej komendy.

Poniżej przedstawiam dwa sposoby, który jest właściwy??

Przod
L1_a = 1
while Kran_2 = 0
wend
Return

oraz drugi

Przod
while L1_a = 1
Kran_1 = 1
wend
Return
Link do komentarza
Share on other sites

Właśnie zaprogramowałem procesor w ten sposób:

$regfile = "attiny2313.dat"
$crystal = 4000000

Config Pinb.0 = Output                                      'ustalanie portow wyjscowych
Config Pinb.1 = Output
Config Pind.3 = Input                                       'ustalanie portow wejscoiwych
Config Pind.4 = Input
Config Pind.5 = Input


Kran_1 Alias Pind.4                                         'zmiana nazw portow
Kran_2 Alias Pind.5
Gl_1 Alias Pind.3
L1_a Alias Portb.0
L1_b Alias Portb.1


Set Portd.3                                                 'podcaganie portu
Set Portd.4
Set Portd.5

L1_a = 0                                                    'ustalenie stanow niskich
L1_b = 0                                                    'na wyjsciach

Do                                                          'glowny program

  Waitms 90                                                'czekaj 90ms


  If Kran_1 = 0 And Gl_1 = 0 Then                          'jesli czu.1 zostanie zalaczony to przejdz do Cofnij
     Waitms 15
     Gosub Przod
  Elseif Kran_2 = 0 And Gl_1 = 0 Then                      'jesli czu.2 zostanie zalaczony to przejdz do Cofnij
     Waitms 15
     Gosub Tyl
  Else
     L1_a = 0
     L1_b = 0
  End If
Loop
End


Przod:
  L1_a = 1
  While Kran_2 = 0
  Wend

Return

Tyl:
  L1_b = 1
  While Kran_1 = 0
  Wend

Return

i niestety nie działa. Mam wciśniętą jedną krańcówkę, jak naciskam switcha głównego to silnik ruszam ale jak puszcze obojętne co to silnik się zatrzymuję 🙁 a powinien się kręcić dopóki nie nacisnę drugiej krańcówki

Fusebity dobrze ustawione. Co więc jest problemem??

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

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

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