Skocz do zawartości

Minisumo Haker- worklog


Pomocna odpowiedź

Witam po dość długiej nieobecności.

Poniżej zamieszczam nowe zdjecia Hakera.

Dodałem w nim :

-kliny opadające przy najmniejszym ruchu - za pomocą słabych magnesów i metalowych beleczek na klinach ( nie jest to ostateczne rozwiązanie )

-zamocowałem płytkę pod którą jest tektura która zmienię niedługo na inny materiał

- dorobiłem czujniki linii

zdjęcia;

niedługo postaram się dodać jakiś filmik 😉

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

Nowe zdjęcia z budowy ( dwa czujniki na górnej pokrywie ):

Nie zrażajcie się tym brzydkim laminatem - niedługo będzie ładniejszy zobaczycie 😉

Dzisiaj idę do elektronicznego po nową megę (bo ze starą coś się dzieje niedobrego ) i osłonki termokurczliwe na diody.

Link do komentarza
Share on other sites

Czujników ? Jeśli tak to wykrywa białą ścianę z odległości ponad metra a rękę z ok 50-60cm 😉

[ Dodano: 27-01-2012, 16:15 ]

Mógłby ktoś zerknąć na program do czujników linii Hakera ? Siedzę nad programem już tydzień i wytworzyłem coś takiego co i tak nie działa 😕 :

$regfile "M8def.dat"
$regfile = 8000000


Config Pind.2 = Output                                     ' konfiguracja portów
Config Pind.3 = Output


Config Adc = Single , Prescaler = Auto                     'konfiguracja ADC

Dim W As Word




 Const Granica = 300

Pind.2 = 0

Pind.3 = 0


   Do

    Start Adc


   W = Getadc(5)                                           'odczytywanie ADC
   W = Getadc(5)


If W < Granica Then                                        'jeśli 'w' jest mniejsze od granicy dioda zielona zapalona

Gosub Led1                                                 'idż do led1 (dioda zielona zapalona


Elseif W > Granica Then                                    'jeśli 'w' jest większe od granicy dioda czerwona zapalona


Gosub Led2                                                 'idż do led2  (dioda czerwona zapalona)






End If
Loop

 Led1:                                                     ' zapal diodę zieloną

Pind.2 = 1
Return                                                      'powróć do pętli

Led2:
Pind.3 = 1                                                 'Zapal Diodę Czerwoną
Return                                                      'powróć do pętli
Link do komentarza
Share on other sites

Bo nie zerujesz poprzedniego stanu. Dla przykładu, masz najpierw odczyt 200, zapalasz diodę zieloną, potem masz odczyt 800, zapalisz diodę czerwoną, ale co się stanie z diodą zieloną? Świeci nadal. Później będą ci już świecić diody cały czas. Nie masz w programie nic co by ci je wygasiło.

Link do komentarza
Share on other sites

  Led1:                                         

Pind.2 = 1                                                ' zapal diodę zieloną
Pind.3 = 0                                                'zgaś czerwoną

Return                                                      'powróć do pętli

Led2:

Pind.3 = 1                                                 'Zapal Diodę Czerwoną
Pind.2 = 0                                                 'Zgaś zieloną

Return                                                      'powróć do pętli

[ Dodano: 27-01-2012, 16:23 ]

Do tego, START ADC dałbym od razu po inicjalizacji a nie w pętli, nie trzeba podwójnie sprawdzać ADC, wiem że ktoś tak pisał, ale ja zawszę daję tylko jedno sprawdzenie kanału i mi zawsze działa.

Link do komentarza
Share on other sites

Dałem taki program i dalej to samo dwie diody świecą:

$regfile "M8def.dat"
$regfile = 8000000


Config Pind.2 = Output                                     ' konfiguracja portów
Config Pind.3 = Output


Config Adc = Single , Prescaler = Auto                     'konfiguracja ADC
Start Adc
Dim W As Word




 Const Granica = 300

Pind.2 = 0

Pind.3 = 0


   Do




   W = Getadc(5)                                           'odczytywanie ADC



If W < Granica Then                                        'jeśli 'w' jest mniejsze od granicy dioda zielona zapalona

Gosub Led1                                                 'idż do led1 (dioda zielona zapalona


Elseif W > Granica Then                                    'jeśli 'w' jest większe od granicy dioda czerwona zapalona


Gosub Led2                                                 'idż do led2  (dioda czerwona zapalona)






End If
Loop
End

 Led1:

Pind.2 = 1 ' zapal diodę zieloną
Pind.3 = 0                                                  'a zgaś czerwoną
Return                                                      'powróć do pętli

Led2:
Pind.3 = 1                                                 'Zapal Diodę Czerwoną
Pind.2 = 0                                                  'a zgaś zieloną
Return                                                      'powróć do pętli
Link do komentarza
Share on other sites

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.