Skocz do zawartości

OnlyP

Użytkownicy
  • Zawartość

    7
  • Rejestracja

  • Ostatnio

O OnlyP

  • Urodziny 08.06.1994

Informacje

  • Płeć
    Mężczyzna

Osiągnięcia użytkownika OnlyP

Młodszy odkrywca

Młodszy odkrywca (3/19)

  • Za 5 postów
  • Młodszy Juror
  • To już rok!
  • To już 5 lat!

Odznaki

0

Reputacja

  1. OnlyP

    Brak komunikacji na NRF24101+

    Kiedyś używałem tych modułów i miałem z nimi sporo problemów. Jednym z nich była zbyt duża rezystancja połączeń - spróbuj połączyć bez użycia płytki stykowej oraz na grubszych przewodach.
  2. Nie rozumiem chłopak co chcesz osiągnąć? Chcesz, aby diody przełączały się szybciej/wolniej, czy co? Po schematach, które publikujesz widać, że brakuję Ci podstawowych wiadomości na tematy z którymi się spotykasz. Proponuję najpierw pobawić się jednym kondensatorem i zobaczyć np. podłączając diodę czy miernik, jak szybko się rozładowuje, później zmienić przy nim rezystor, później pojemność poeksperymentować z różnymi wartościami i zauważysz jaka jest zależność czasu rozładowywania kondensatora od jego pojemności czy oporu przy nim. A najlepszym pomysłem byłoby przeczytanie jakiejś książki na temat elektroniki. Osobiście polecam Elektronika. Od praktyki do teorii. są tam bardzo fajnie wyjaśnione podstawowe prawa jakimi rządzi się elektronika. Podobno dobrą książką jest również(sam jej nie czytałem) Elektronika dla bystrzaków. Z doświadczenia wiem, że wieczór z książką, płytką prototypową i kilkoma elementami daje więcej niż tydzień czytania forów, czy swojej próby interpretacji bez oparcia w teorii.
  3. Nie żebym narzekał, sam pojazd i pomysł bardzo mi się podoba, ale dlaczego nazywasz go robotem? Myślisz może o jakimś algorytmie wyszukiwania celów albo do przepraw przez jakieś zdefiniowane wcześniej przeszkody?
  4. Nie znam tej płytki i nie tworzę zbyt wielu projektów przez workbencha, ale wygląda na to jakbyś, źle stworzył projekt. Napisz krok po kroku co zaznaczałeś, to spróbuje znaleźć błąd. Nie wiem, w ogóle po co tworzyłeś jakiś nowy profil, wybierz nucleo f303. Nie wiem na jakich bibliotekach zamierzasz pisać program, jeżeli na bibliotekach HALa, to proponuje takie przyjemne narzędzie jak STM32 CubeMX, jeżeli na StdPerph to tutaj jest dobrze wytłumaczone jak się za to zabrać(Na przykładzie F1): https://forbot.pl/blog/artykuly/programowanie/kurs-stm32-3-plytka-nucleo-konfiguracja-srodowiska-id4875
  5. Gdy ja zaczynałem swoją przygodę czy to z programowaniem, elektroniką, czy już z robotyką, to też zdarzało mi się czegoś nie rozumieć, albo nie znać jakiegoś pojęcia. Bardzo mnie denerwowało, gdy zadawałem jakieś pytanie, a odpowiedzi były naprawdę proste i na wyciągnięcie ręki, chociaż wtedy nie widoczne dla mnie, a ktoś odpowiadał rzeczy typu: Internet jest togo pełen. Odsyłam do not katalogowych. I gdyby mi ktoś napisał z jakimi pojęciami mam się zaznajomić sukces osiągnąłbym szybciej. Więc ja może napiszę coś co zmusi do myślenia, a niektóre z tych rzeczy zawarłem w poprzednim poście. 1. Co to są wejścia/wyjścia analogowe i cyfrowe? 2. Na jakich pinach w atmedze8 są wejścia analogowe? 3. Jakie sygnały można wprowadzić na wejście analogowe i jak są one odczytywane w tym mikroprocesorze i jak je odczytać? 4. Jakie sygnały można wprowadzić na wejście cyfrowe i jak są one odczytywane przez ten mikroprocesor? 5. Co to jest funkcja liniowa? 6. Jak wyprowadzić wzór na funkcję liniową mając dwa punkty? 7. Jak podzielić funkcję nieliniową na kilka funkcji liniowych? 8. Jak coś takiego zapisać w funkcji w języku C? Dodatkowo: Polecam uczyć się takich rzeczy na Arduino, ma bardzo przyjazną bibliotekę oraz jest do tego wiele poradników w internecie. Podobno bardzo fajny kurs, sam go nie czytałem, bo z Arduino zacząłem przygodę trochę wcześniej można znaleźć tutaj: https://forbot.pl/blog/artykuly/programowanie/kurs-arduino-0-zapowiedz-cyklu-id5290 Jeżeli chcesz się męczyć z atmegą to polecam książkę z której sam się uczyłem: https://www.sklep.atnel.pl/pl/p/KSIAZKA-I-wydanie-2/75 A jako, że AVRy będą przechodzić w niebyt ja zacząłem się uczyć programować STM32 tutaj mogę polecić też kurs z tego serwisu: https://forbot.pl/blog/artykuly/programowanie/stm32-praktyce-1-platforma-srodowisko-id2733 , chociaż sam szukam jakiejś książki lub kursu, gdzie byłyby opisane biblioteki HALa.
  6. Musisz go podłączyć pod wejście analogowe. Trzeba też znać jego zależność odległości od napięcia, które wysyła na wejście. w dokumentacji tego czujnika znalazłem taki wykres. Na podstawie tego wykresu musisz wyliczyć kilka zależności liniowych. Bierzesz po dwa punkty i liczysz z układów dwóch równań a(i) i b(i). Później wartości z ADC wpisujesz do tej funkcji i masz odległość. Na ADC można podawać napięcie od 0 do 5V. Odczyt jest za to od 0 do 1023. Wartość napięcie na pinie można więc policzyć z takiej proporcji. 5 ----- 1023 x ----- odczyt Nie wiem, co jeszcze można na ten temat napisać. Eddit:// Może dopiszę to, że wartości poniżej 10cm, do pisania funkcji nie bierzesz pod uwagę. Zaczynasz od 10cm czyli tego piku.
  7. Zaczynam przygodę z STM'ami i na samym początku przygody trafiłem na problemy. Jako, że jest takie przyjemne urządzenie jak STM32CubeMX, które samo generuje mi rejestry, to czemu miałbym z niego nie korzystać? Pierwsze programy na zapalanie i gaszenie diodek przy pomocy przycisków, poszły jak po maśle, ale że będę chciał użyć STMa przy budowie LF'a, i nie mam zamiaru wydawać pieniędzy na komparatory skoro w mikroprocesorze jest przetwornik, to odczyty z czujników chciałbym podać właśnie na piny tego przetwornika. Zbudowałem prosty układ z 6 potencjometrami zamiast czujników i podłączyłem oscyloskop na kanały pierwszy i drugi timera 3, jako potencjalne silniki sterowane PWMem. Uruchomiłem Cuba, wyklikałem piny od PA0 do PA5 jako ADC1_IN*, PA6 i PA7 jako PWM. Standardowo zmieniłem konfigurację ADC1 ustawiając 6 konwersji na kanały od 0 do 5 i uruchomiłem Continuous Converion Mode, ustawiłem również parametry timera PSC n 239 i Counter Period na 99, Pulse(wypełnienie) na kanałach dałem po 30. Wcześniej ustawiłem zegar na 24MHz. Wygenerowałem kod, włączyłem eclipsa i dobra passa się skończyła. Po przejrzeniu kilku stron udało mi się dopisać: HAL_ADC_Start(&hadc1); i w pętli np. c0=HAL_ADC_GetValue(&hadc1); nie wiem, jak odwołać się do poszczególnego kanału. Próbowałem dwukropikem, czy kropką, ale nic nie dawało. PWMa jeszcze nie inicjowałem, więc jak ktoś by był tak dobry, to też bym prosił może o jakiś wstęp jak to jest z nim w bibliotekach HALa. Z góry dzięki za odpowiedź.
×
×
  • 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.