Skocz do zawartości

[Kurs] BASCOM - lekcja3 - zaczynamy programować


Ikar

Pomocna odpowiedź

Dziękuje za chęci ale nie.

Chodzi mi o to czy jak będe pisał program do robota i będę chciał żeby ciągle jeździł tylko jak na wyjście np PD0 i PD1 będzie napięcie to mam to napisać to w takiej formie że jak będzie napięcie to się wyłączają czy muszę coś jeszcze wspomnieć w kodzie jeśli tak to co?

Proszę o rade?

Dziękuje.

Link do komentarza
Share on other sites

Chodzi mi o to czy jak będę pisał program w Bascomie to chcąc żeby robot się zatrzymał (wyłączył ja jedno koło napęd a na drugie włączył) jak uderzy w ścianę czy coś jak to napisać?

Link do komentarza
Share on other sites

Jeśli rozumiesz zasadę działania programu przykłdowego, tego z diodą i mostku H, to nie powinienś mieć problemu z napisaniem tego programu.

Algorytm jest taki:

jeśli robot uderza w ścianę(nie wiem jak to chcesz wykryć), to:

{

zatrzymaj silnik 1;

włącz silnik 2;

}

koniec

wykrycie uderzenia (jeśli to będzie jakiś przycisk) polega na sczytaniu stanu pinu, a zatrzymanie/włączenie silnika z ustawieniem stanów 2 pinów na silnik

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

Czy mam to tak napisać że jak stan na pd0 jest równy 1 to zatrzymaj a na Pd1 jest równy 0 to jedź i żeby zadziałało w odwrotną strone to podspodem mam tak samo czy inaczej jeśli inaczej to proszę mnie poprawidz.

Link do komentarza
Share on other sites

To tak napisz. Człoiek najlepiej uczy się na błędach, i jeśli sam szuka odpowiedzi na pytania niekoniecznie od innych.

Jeśli szukasz gotowca - może go dostaniesz, ale i tak to rozwiązanie na krótką metę.

Napisz i sam siebie poprawisz jeżeli coś będzie nie tak.
Link do komentarza
Share on other sites

Czy taki program jest poprawny i czy wszystko w nim gra.

Robot ma robić tak jeśli uderzy o w ściane to wtedy będzie impuls na jednej z dwóch przełączników i się wykręci w podobny sposób jak światłolub

oto kod proszę sprawdzić mnie

 $regfile = "atmega8.dat"                 'najpierw określamy typ proca
$crystal = 1000000                          'definiujemy z jakim taktowaniem będzie pracował


config portb=input             'port b  jako wejścia
      portb=&B00000000                     'wszędzie stan spoczynkowy-0
config portd=output                         'pprt d jako wyjścia
      Portd = &B0000000                                    'wszędzie stan spoczynkowy-1


       Do                                                  'pętla nieskończona
     if pinb.0=1 then                         'jeżeli przycisk 1 wciśnięty
  toggle portd.0                           'zmień stan wyprowadzenia
  End If                                                   'koniec bloku warunkowego
  loop                                       'koniec pętli

End                                                         'koniec programu
Link do komentarza
Share on other sites

Czy taki program jest poprawny i czy wszystko w nim gra.

Robot ma robić tak jeśli uderzy o w ściane to wtedy będzie impuls na jednej z dwóch przełączników i się wykręci w podobny sposób jak światłolub

oto kod proszę sprawdzić mnie

Ludzie trochę samodzielności! Czy masz już wykonanego robota? Jeśli tak to dlaczego nie przetestujesz swojego programu na robocie? Ścieżka postępowania jest trochę inna, najpierw robi się sprzęt potem soft. Po co mamy ci pomagać pisać soft skoro jeszcze nie masz sprzętu a gdy go zrobisz to np podłączysz czujniki pod inne wyprowadzenia procka i ten soft nie będzie się do niczego nadawał.

Za chwilę zacznę wyrzucać do kosza tego typu pytania, ponieważ do niczego one nie prowadzą a robią tylko bałagan na forum.

Link do komentarza
Share on other sites

profesorek_96, Najlepiej zrób tak: Zbuduj prostego robota

-1 mikroswitch

-2silniczki i 2 kółka

-1 dioda

-Atmega8

Później napisz migająca diodę po wciśnięciu switcha, a następnie po 2 szybkich kliknięciach włączenie kółek. Najlepiej też podłącz H-bridge żeby nie spalić UC. Zrobiłem identycznego robota i był to mój pierwszy projekt z UC. 😎

Link do komentarza
Share on other sites

Później napisz migająca diodę po wciśnięciu switcha, a następnie po 2 szybkich kliknięciach włączenie kółek.

Szczerze, łatwiej jest użyć dwóch switch'y tak, żeby każdy miał jedno zadanie niż jednego tak, żeby miał dwa zadania. Jak to opisałeś "2 szybkie kliknięcia" mogą się nie sprawdzić bez wyeliminowania drgań styków co dla początkującego też nie jest proste nie mówiąc już o samym rozwiązaniu dwukrotnego kliknięcia w jakimś odstępie czasu.

Link do komentarza
Share on other sites

Jasne, że tak, nie widzieliście listingu żadnego programu w bascomie?

To co napiszecie będzie się wykonywało po kolei, tak jak to jest napisane w programie.

Link do komentarza
Share on other sites

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

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.