Skocz do zawartości

Elebot - robot dla początkujących.


Pomocna odpowiedź

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

Config Portb = Output
Portb = &B00011000
Config Portd = Input
Portd = &B11111111

Portb.7 = 1 : Portb.6 = 0
Wait 5

Portb.2 = 1 : Portb.5 = 0
Wait 5


End

Napisałem taki programik, i teraz kreca sie obydwa silniczki 😃

Czy to oznacza, że powodem nie działania robota był zły stary program?

A kolega wyżej kłamie 😃

Sub trzeba deklarować potem poza pętla dajesz całego suba i skaczesz do niego z pętli do loop

Edit

Ehh przegapiłem że jest druga strona

Mam jeszcze taki problem, że po podłączeniu czujnika odbiciowego kręci się nadal nieustannie tylko lewy silnik. Czujnik odbiciowy chyba działa poprawnie gdyż diody led się świecą. Program wgrałem ten co był podany na pierwszej stronie w wersji na Attiny 2313 z tym, że zmieniłem "Portb.4" na "Portb.2", bo tak było napisane w opisie.

Powiem tak nie możemy ci pisać od początku kodu ani wyłapywać podstawowych błedów ja osobiście chętnie poradzę ale musisz nauczyć sie analizowac kod bo to w sumie podstawa każdy ma swoje techniki nauki ja preferuje wiedze praktyczna i musze miec coś przed oczami żeby to wiedzieć odnosze sie tu do wydrukowania pinów attiny uruchomienie bascoma z kodem i schemat układu i po koleji sprawdzasz czy czujniki dobrze zadeklarowane, a co do silników pamiętaj ze przed skretem w prawo/lewo musisz ustawic /lewy/prawy silnik w stan 0

If Czujniklewy = 1 then
Portb.7 = 1 : Portb.6 = 0 
Portb.2 = 0 : Portb.5 = 0 
endif

Jeszcze raz bardzo proszę o pomoc. Nie wiem jak połączyć płytę główna z czujnikiem odbiciowym. myślałem że jak przeanalizuje program to będę wiedział jak podłączyć ale siedzę nad programem już 3 dzień non stop i nic z tego nie wiem.Wiem, że trzeba połączyć piny PD6, PB0 i PB1 tylko nie wiem z którymi pinami w czujniku odbiciowym. Próbowałem chyba wszystkich możliwości i nic to nie daje. bardzo proszę o pomoc bo sam sobie z tym nie poradzę 😥

EDIT:

Z tego co mi wyszło to jak na płytce z czujnikiem odbiciowym do 3 goldpinów trzeba podłączyć wyjścia PD6, PB1 i PB0, ale po takim podłączeniu jak na schemacie i w programie nawet LED nie świeca 😥 .

Jest 5 pinów vcc gnd 3,4,5 to piny do mikro Pd.6 to tsop pb0/pb1 to wejscia od diód jeżeli nie zadziała sprawdz kamerka w telefonie czy jak podajesz napiecie to diody sie swieca ? Sprawdz też czy nie są ustawone pod złym kątem tu odnosze do dokumentacji diody

edit sprawdz czy w programie podajesz napiecie na diode ? Bo moze dioda malogiczne 0 i dlatego nie swieci proponuje zrobic najprostszy program sprawdzajacy tzn włacz diode przez mikrokontroler i sprawdz czy działa

Matejko94, chyba mam podlaczone tak jak mowisz PB1/ PB0 jako diody a PD6 jako TSOP. Sprawdziłem aparatem diody IR swieca (tzn. mrygaja), ale przy takim podlaczeniu nie swieca diody LED.

Może pomyliłes katode z anoda diody ? Jaki to jest TSOP ?

Praca układu jest dość prosta 2 bramki tworzą generator fali nośnej 38kHz, na 2 pozostałych zrealizowano bramkowanie zapalania diod IR, tak więc po wysterowaniu odpowiedniej bramki następuje praca danego toru nadawczego w tym momencie następuje odczyt z czujnika czy został odebrany sygnał, jeżeli tak na wyjściu TSOP mamy stan L który w połączeniu z stanem H na wejściu bramki powoduje zapalenie diody LED sygnalizującej odebranie sygnału, analogiczna sytuacja w przypadku wysterowania drugiej bramki.

Chyba żeczywiscie niedopatrzyłem i jedna diodę IR wlutowałem odwrotnie, i nie przywiązywałem do niej wagi bo świeciła, czy to może mieć duży wpływ na działanie układu? używam TSOP 1738

Jeżeli byś podłaczył ją odwrotnie wątpie żeby wogóle zaświeciła.

Sprawdz miernikiem jak po podłaczeniu wygląda napięcie u tsop postaw sobie jakąs książkę przed czujnikami podlacz miernik i spróbuj regulacji na potencjometrze. Autor napisał zasade działania czujnika

czy został odebrany sygnał, jeżeli tak na wyjściu TSOP mamy stan L który w połączeniu z stanem H na wejściu bramki powoduje zapalenie diody LED sygnalizującej odebranie sygnału,

Matejko94, zrobiłem tak jak mówisz na tsop mam caly czas prawie 5V. Próbowałem różnych konfiguracji połączeń i jedyne co mi z tego wynikło to to, że myślałem że jedna dioda LED sygnalizuje sygnał wchodzący a druga wychodzący. U mnie to jest tak, że kiedy dioda LED lewa mruga to świeci się lewa dioda IR, a kiedy mruga prawa dioda LED to świeci prawa dioda IR. Co jeszcze ciekawe gdy żadna dioda LED się nie świeci to świeca się obydwie diody IR. Gdy odłączę zasilanie i podaje sygnał to diody IR mrugają, a gdy podłącze zasilanie i odłączę sygnał to żadna z diod się nie świeci. Próbowałem tez zmian w programie, ale ze nie znam się na na bascomie to jedyne co zmieniłem to czas, przez który dioda LED mruga szybciej albo wolniej.

EDIT:

Jak już wyżej napisałem używam programu podanego na samym początku więc chyba nie on jest problemem 🙁

Wybaczcie, że tyle pisze i zadręczam was takimi problemami ale bardzo mi zależy na uruchomieniu tego robota gdyż jest to mój pierwszy projekt. Zrobiłem jeszcze raz płytkę z czujnikiem odbiciowym tak że by mieć 200% procent pewności że to nie ona jest problemem i według instrukcji skierowałem diody IR tak jak w schemacie (minusem w prawo) i nie działają. Ale jak je odwrócę to się świecą. Co może być tego przyczyną?

Sprobuj pokombinowac z kodem ale skoro mowisz ze kod jest z poradnika to na 50 % masz bład w podlaczeniu poprobuj ze zmiennymi podlaczeniami

edit wyslij zdjecia plytek

Wysyłam zdjęcia płytek . W kodzie z poradnika jedyne co zmieniłem to Pinb.4 na Pinb.2 i na samym początku zamiast Portb = &B00001100 dałem Portb = &B00011000.

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