logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Program dla 2 czujników sharpa BASCOM

michal211 02 Wrz 2011 19:30 1197 7
REKLAMA
  • #1 9889015
    michal211
    Poziom 10  
    Witam, dopiero zaczynam programować więc zwracam się o pomoc. Posiadam dwa czujniki sharpa gp2d120, które są zamontowane na robocie, gdy był tylko jeden program był prosty do napisania jednak gdy chciałem napisać program w bascomie dla dwóch czujników, nie mogę ich odpowiednio ustawić. Gdy jeden widzi przeszkodę a drugi nie to uc nie wie co zrobić. Czy powinienem zastosować przerwania ? Z góry dziękuje za pomoc.
    Kod: text
    Zaloguj się, aby zobaczyć kod
    [/code]
  • REKLAMA
  • #2 9889684
    K219
    Poziom 15  
    Witam.
    Tak na pierwszy rzut oka to masz błąd w programie bo w obu warunkach "case" sprawdzasz tę sama zmienną "W" a przed drugim case wpisujesz wartość z ADC do zmiennej "W1".
    michal211 napisał:

    W1 = Getadc(2)


    Wydaje mi się że zmiana nazwy zmiennej w drugim case na "W1" pomoże.
  • REKLAMA
  • #3 9890509
    michal211
    Poziom 10  
    Dzięki za zauważenie błędu jednak to nic nie pomogło. Moim zdaniem problem polega na tym że gdy pierwszy czujnik widzi przeszkodę powinien skręcić w prawo ale wtedy drugi czujnik gdy nie widzi przeszkody powiadamia uc żeby jechać naprzód. Jedno drugiemu się zaprzecza. Nie wiem tylko jak napisać odpowiedni program.
  • #4 9890877
    lamik
    Poziom 11  
    Moim zdaniem uC nie wie co robić, bo od jednego czujnika dostaje rozkaz jazdy prosto, a od drugiego rozkaz skrętu. W jednym momencie są dwa rozkazy do jazdy w różnych kierunkach. Spróbuj napisać program z jedną instrukcją Select Case. W zależności od odczytu z obu czujników na raz zamiast pojedynczo tak jak teraz, ustal kierunek jazdy.
  • REKLAMA
  • #5 9891518
    michal211
    Poziom 10  
    Trochę pogrzebałem przy tym programie czy tak mogło by być ?

    Kod: text
    Zaloguj się, aby zobaczyć kod
  • REKLAMA
  • #6 9893078
    lamik
    Poziom 11  
    Chodziło mi bardziej o co innego. Coś jak podejmowanie decyzji(lewo, prawo, przód, tył) na podstawie danych zebranych z obu czujników. Z tego co widzę to teraz jeden czujnik odpowiada za kierunki a drugi tylko za ominięcie przeszkody w lewo. Spróbuj zrobić instrukcje warunkowe na wszystkich czujnikach na raz. Np Lewy i Prawy nie widzą nic, to jedzie prosto, a jak jeden nie widzi nic a drugi widzi to odpowiednio kierunek skrętu. Chyba dobrze przekazałem co myślę :)
  • #7 9893802
    michal211
    Poziom 10  
    Zmieniłem program i zrobiłem go na if-then czy tak mogło by być?
    Kod: text
    Zaloguj się, aby zobaczyć kod
  • #8 9911418
    michal211
    Poziom 10  
    Dziękuje wszystkim za pomoc rozwiązałem problem, zamykam temat
REKLAMA