Skocz do zawartości

TIMONek

Użytkownicy
  • Zawartość

    351
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    9

TIMONek wygrał w ostatnim dniu 24 marca 2011

TIMONek ma najbardziej lubianą zawartość!

Reputacja

52 Bardzo dobra

O TIMONek

  • Ranga
    6/10
  • Urodziny 06.05.1986

Informacje

  • Płeć
    Mężczyzna
  • Lokalizacja
    Poznań/Włocławek
  • Zawód
    Elektronik
  1. Rozumiem, że zaczynasz, ale mi to wygląda na to, że nie włożyłaś nawet 3 minut wysiłku w to jak zacząć przygodę z stm32 i poszukać coś samodzielnie. Przykładowo pierwsza strona po wpisaniu w google frazy "stm32 clock configuration" : http://www.oliverbehr.de/index.php?option=com_content&view=article&id=52:stm32-clock-configuration&catid=39:technik&Itemid=83 Wszystko bardzo dokładnie opisuje, wraz linijkami kodu. Ba na stronie st masz nawet program pomagający w konfiguracji zegara... na youtube instrukcje jak z niego skorzystać. Materiałów jest mnóstwo, wystarczy usiąść i poczytać
  2. Wszystko masz opisane w książce: Mikrokontrolery STM32 w praktyce Także w bibliotekach CMSIS Informacji w internecie wraz z przykładami masz co najmniej tysiące (:
  3. Literki \n \t oznaczają znaki ASCII, \n to nowa linia a \t to o ile się nie mylę tabulator W tym przypadku wg mnie są zupełnie niepotrzebne. asm volatile... nie wiem po co jest użyty... być może wystarczyłoby samo "asm" co oznacza wstawkę assemblerową
  4. Pierwsze pytanie: Zacytuje z wikibooks: "Zapewne zapytasz się na co komu instrukcje #ifndef, #define oraz #endif. Otóż często się zdarza, że w programie korzystamy z plików nagłówkowych, które dołączają się wzajemnie. Oznaczałoby to, że w kodzie programu kilka razy pojawiła by się zawartość tego samego pliku nagłówkowego. Instrukcja #ifndef i #define temu zapobiega. Dzięki temu kompilator nie musi kilkakrotnie kompilować tego samego kodu." Chyba jasno wyjaśnione Drugie pytanie: DDRA=DDRA | _BV(PA0) czyli DDRA = DDRA | 0b00000001 czyli DDRA = 0b000001 Makro _BV(bit) jest równoznaczne z (1< Trzecie pytanie: #define LCD_NOP asm volatile("nop\n\t""nop\n\t" "nop\n\t" "nop\n\t" :; Jest to wstawka assemblerowa, jeden "nop" oznacza nic nie rób (rozkaz procesora, jeden cykl bez robienia niczego) wykorzystuje się to przede wszystkim do robienia opóźnień
  5. Nikt na tym forum w myślach Twoich nie przeczyta. Jeśli (!(PINC & 0x01)) to co? wiesz czym w ogóle jest PINC? Gdzie masz podłączony ten przycisk? Gdzie głośnik? Gdzie jest schemat? Gdzie reszta kodu?
  6. No nie bardzo. Jest to metoda w której obliczamy współrzędne bądź odległość poprzez obliczenie długości jednego z boków trójkąta. __________ Komentarz dodany przez: Treker
  7. ~A u B to jest to samo co ~(A n ~B) co daje Ci dwie bramki nand (jedno z praw de morgana). Rozwiązanie:
  8. Doceniam wkład pracy jaki włożyłeś w ten artykuł, ale mam kilka uwag. Każda część jakiekolwiek artykuł powinna się odnosić do siebie. Ty zrobiłeś coś a'la wstęp (teoria) i to średnio odnosi się to do kolejnych punktów. Piszesz o np. dyfrakcji i interferencji, ale nie ma to związku np. z "działaniem czujników w praktyce". Druga uwaga. Z Twojego artykułu czytający może wysnuć wniosek, że różnica pomiędzy diodą IR+TSOP a którymś z czujników Sharpa jest nie wielka. A w praktyce różnica jest ogromna. W obu przypadkach mamy do czynienia ze światłem zmodulowanym, ale sama zasada pomiaru jest inna. W jednym przypadku badamy amplitudę z jaką światło do nas wraca, a w drugim kąt jego padania. Stąd czujniki Sharpa są właśnie takie skuteczne i działają w różnych warunkach (oświetlenie etc), kolor materiału od którego fala się odbija ma w zasadzie tylko wpływ na zasięg (co jest naturalne). A to jest narzucanie czytelnikowi swojej filozofii. To zdanie nie ma za dużo wspólnego z prawdą, ponieważ przetwornik ADC działa niejako niezależnie, więc nie wykorzystujemy tutaj mocy obliczeniowej. Fajnie jakbyś napisał - wady i zalety, obu metod. Ja osobiście uważam, że jest to bardzo fajne i optymalne rozwiązanie z wielu powodów. Po pierwsze taka ilość sampli to nie jest wcale mało (no chyba, że masz LF, który jeździ po trasie w tempie odrzutowca), a po drugie daje to ogromną elastyczność (możliwość uzyskania większej rozdzielczości pomiaru, programowa zmiana progu, filtrowanie itd). To tak w skrócie.
  9. A robił ktoś z Was testy od jakiego wypełnienia impulsu przy danej częstotliwości silniki ruszają? Kiedy ja to testowałem to chyba najlepsze wyniki (dla silników pololu) miałem coś koło 2-4kHz (nie pamiętam dokładnie).
  10. Zasada działania czujników Sharpa różni się dość mocno od "prostych czujników na podczerwień". Tam światło jest modulowane i wykorzystywana jest triangulacja jako metoda pomiaru (badany jest kąt padania wiązki światła na detektor, a nie jej amplituda). Także materiał może mieć wpływ na zasięg, ewentualnie bardzo niewielki na pomiar. Ten czujnik Sharpa zapewne świetnie nadaje się do Twoich zastosowań, choć nie są bez wad (długi czas pomiaru, generowanie zakłóceń).
  11. Ja z kolei czytałem jakiś artykuł w którym było porównanie ogniw etc. Z reguły po około 10 rozładowaniach i ładowaniach bez balansera było kilka mV różnicy pomiędzy ogniwami.
  12. Jest to silnik krokowy. Google -> "silnik krokowy sterowanie"
  13. Takie masz napięcie pomiędzy katodą i anodą?
  14. Sprawdzałeś czy na diodzie masz jakiś spadek napięcia?
  15. Sharp GP2D12, może nie być najlepszym czujnikiem dla Twojego zastosowania. O ile dobrze pamiętam ma on czasu pomiaru w przybliżeniu równy 40ms. Zakładam, że Twój robot jeździ z prędkością co najmniej 1m/s. Jak łatwo policzyć w czasie jednego pomiaru przejedzie kilka centymetrów (robot przeciwnika zapewne także). Możesz sobie zrobić prosty eksperyment. Napisz program, który będzie obracał robota w okół własnej osi tak długo jak czujnik nie zobaczy przeciwnika. Zobaczysz, że robot może mieć poważne problemy z jego zauważeniem. A nawet jeśli go zauważy to nie koniecznie w niego trafi zarówno ze względu na opóźnienie pomiaru jak i pewną bezwładność silników.
×
×
  • Utwórz nowe...