Skocz do zawartości

Gieneq

Moderator
  • Zawartość

    3317
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    160

Wszystko napisane przez Gieneq

  1. @mn860618 oj to się niedogadaliśmy w programie po prostu sprawdzasz czy to co otrzymujesz UARTem to cyfry np funkcją isDigit()
  2. @Grzybu cześć! Pewnie że możesz. Układ TSOP który działa tu jako czujnik pracuje jako uhh.... pochłaniacz prądu - prad do niego ścieka bo pewnie jest tam otwarty kolektor/dren. Więc możesz podłączyć tam tranzystor który dla odpływającego prądu będzie zamknięty czyli np. NPN. W emiterze daj np 220 omów uzyskując prąd emitera około 19mA, a w kolektorze diodę chronioną rezystorem emitera. Do bazy rezystor od 2200R.
  3. @ethanak to właśnie miałem na myśli pisząc o walidacji. @mn860618 w żargonie programistycznym walidacja to sprawdzenie czy dane są "valid" czyli poprawne. Czyli właśnie żeby użytkownik został poinformowany, że np. 'a' to niezbyt konkretna pozycja
  4. Fajna dyskusja się rozwinęła, cieszę się
  5. Jest niewielki postęp. Wziąłem zalegającą płytkę STM32F303VCT6 Discovery i stwierdziłem że skoro ma ultraszybki przetwornik ADC to może się przydać. ADC działa, DMA działa, wybrałem częstotliwość próbkowania 44 kHz. Napisałem notatnik do testów poprawności FFT biblioteki CMSIS: generuję listę próbek i wypisuję jako kawałek kodu C do wklejenia do kodu dla STM32F3, wyznaczam FFT używając bibliotek Pythona, odtwarzam sygnał używając odwróconego FFT, wyznaczam i rysuję funkcję zamiany kubełków w pasma wyświetlacza, stosując kubełki rysuję symulację.
  6. @Bundrzej Witam Andrzeju na naszym forum Super że tu trafiłeś, powodzenia w nauce!
  7. @Oldboy-46 witam serdecznie Uzasadnione głupie, albo raczej trywialne pytania mogą być A tak na poważnie to fajnie że do nas trafiłeś. Powodzenia w nauce!
  8. @tenNowy ciekawy problem ale chyba nie da się go zrobić. Jakbyś chciał mieć pętlę w preprocesorze to się nie da, możesz zrobić to makrami na nasadzie rekurencji ale to nie pomoże. Pomyślałem że można złożyć tokeny konkatanacją i włożyć je do tablicy i później na wyjściu funkcji dać jako stałą, ale tego też się nie da: #include <stdio.h> #define A0 1 #define A1 2 #define A2 4 #define A3 3 #define A4 8 #define mkstr(str) #str #define cat(x,y) (x ## y) #define N 5 int* somestuff() { int results[N]; for(int i = 0; i < N; i++){ results[i] = cat(A, i); }
  9. @mn860618 super Możesz ewentualnie rozbudować walidację danych: if(pozycja <= 180){ I zrobić to na wcześniejszym etapie żeby sprawdzić czy napis da się przekonwertować na liczbę od 0 do 180.
  10. @tenNowy witam Łukaszu na naszym forum Dobrze, że się zarejestrowałeś. Widziałem twoje pytanie, niedługo odpiszę. @miro88 witam Mirku widzę, że masz ambitne plany. To są bardzo ciekawe tematy w które można wpaść na dłużej. Powodzenia!
  11. @ethanak z ARKami faktycznie jest problem. Sparkfun ma dobre biblioteki do popularnych elementów, można przejrzeć:https://github.com/sparkfun/SparkFun-Eagle-Libraries
  12. To chyba temat ADS pogrzebany. Ostatnie problemy wynikały z tego, że scalak się zepsuł - znowu były tragiczne problemy z komunikacją wynikające nie wiem z czego, odpaliłem sprawdzony kod dla Arduino i niestety cisza. Mam pomysł. Odpalę ADC wbudowane w STMa, będzie prościej.
  13. Widzę, że mamy sporo nowych członków forum, aż 9 To bardzo miłe, ale przywitać wszystkich to będzie wyzwanie. Zaczynam! @czekoladson123 cześć! @mariusz2200 witam serdecznie Wow ciekawa sprawa mieć drukarnię 3D, w Inventorze kiedyś pracowałem, bardzo lubię ten program. Fajnie, że do nas dołączyłeś. @vvilku to ciekawe co piszesz, koniecznie pochwal się w dziale DIY postępem prac @kor_pik witam Piotrze na naszym forum Fajnie że masz hobby i się rozwijasz, powodzenia! @przemekZG również witam Cię Przemku tak to prawda, elektronika w samochodach jest już wszec
  14. @Emtorek akurat ostatnio coś robiłem i u mnie działa na wersji IDE1.6.0. A jak zmienisz polaryzacje w cubie to coś się dzieje?
  15. @kaminski-tomek nie ma czegoś takiego, ale elementy których szukasz znajdziesz w zakładkach: rcl, pinheader. Czasem warto popróbować z gwiazdkami zastępującymi dowolny ciąg znaków, np tak znajdziesz LED: *LED*.
  16. @Anullaa witam na forum Tak niestety to może być wada miernika.
  17. @jakubkrys cześć Kuba, witam Cię na naszym forum Fajnie że masz ciekawe hobby, powodzenia w nauce. Dziękujemy!
  18. @Elvis aaa rozumiem. Nie ma problemu z odczytem 32 bitów. Dopóki konwersja jest zakończona (czyli stan który objawia się tym, że na DRDY jest 0) można odczytywać ile się chce. Tylko z moich eksperymentów wyszło że odczyt SPI gdy ADS dokonuje pomiaru kończy się zaburzeniem pomiaru i ADS nie podaje nic na MISO. Dlatego rozumiem pomysł ze spowolnieniem taktowania SPIclk żeby rozciągnąć cykl w trybie circular na cały okres działania ADS ale: jak to zsynchronizować z czasem gdy ADS dokonuje pomiarów? Wiem że wystarczy raz zsynchronizować, ale trzeba by wiedzieć ile cykli zegara jest pomiędz
  19. Cześć @Elvis walczyłem z tym kilka godzin, faktycznie tryb circular rozwiązał problemy, wygenerowałem też zegar 10 MHz z PWM timera i podałem na ADS1256 i działa. Tak 256 taktów się zgadza. Timer i SPI mają te same źródło taktowania więc są zsynchronizowane. Mam tylko problemy, które mogą wynikać z niezrozumienia tematu - nie jestem ekspertem. Widzę że w Cubie jest 32 przy memory, 16 w peripheral, coś testowałem ale nie wyszło. Odpuściłem, zostałem przy 8 bitach. Tryb circular cały czas coś wysyła. Do odczytu potrzeba wysłać sekwencję 24 taktów zegara z 0 na MOSI. Zrobiłem wi
  20. @fnx4 w sumie nie jest potrzebny. Dołączenie sygnału napięciowego przez rezystor zazwyczaj jest podyktowany ochronie wejścia przed nadmiernym prądem. Tu jest dość bezpieczna sytuacja, ale w układach gdzie coś się przełącza przepływ prądu jest już duży. Podobne zjawisko objawia się przy overclockingu procesorów - większa częstotliwość > większe straty energii.
  21. @kamixel oo dziękujemy za miłe słowa i polecenie kursu
  22. @Macej98 masz opóźnienie 5sekund. Zmienna zmiana ustawi się w przerwaniu ale główna pętla musi doliczyć swoje żeby sprawdzić warunek jeszcze raz. Zrób to na jakimś while(licznik>5000) delay(1) żeby zwiększyć częstość odczytów, albo w ogóle odrzuć delay i użyj millis
  23. @pananteek Może się przyda: oraz przykład:
  24. @piotrg88 witam Piotrze na naszym forum to dobrze trafiłeś, powodzenia!
×
×
  • 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.