Skocz do zawartości

ghost1313

Użytkownicy
  • Zawartość

    21
  • Rejestracja

  • Ostatnio

Reputacja

5 Neutralna

O ghost1313

  • Ranga
    2/10

Ostatnio na profilu byli

Blok z ostatnio odwiedzającymi jest wyłączony i nie jest wyświetlany innym użytkownikom.

  1. Cześć, mam dysk SSD PATRIOT BURST 240GB. Jeszcze niedawno były na nim dane. Teraz dysk jest wykrywany prawidłowo, ale jest niemal całkowicie pusty. Prawie wszystkie sektory zawierają wyłącznie zera. Co mogło się z nim stać i czy jest jakiś sposób by spróbować to naprawić? Dysk nie był w żaden sposób czyszczony/zerowany, wydarzyło się to samoistnie. Pozdrawiam
  2. Cześć, załóżmy, że mam czujnik z wyjściem cyfrowym, na którym pojawia się przebieg prostokątny. Chciałbym wiedzieć, ile czasu trwają poszczególne stany niskie i wysokie. Czyli przykładowo chciałbym uzyskać takie dane: HIGH - 20 ms LOW - 10 ms HIGH - 30 ms LOW - 5 ms i tak dalej... Chodzi o to, żebym mógł z tych danych odtworzyć potem ten przebieg. Napisałem następujący program: volatile unsigned int index = 0 ; volatile unsigned long times[100] = {0}; void saveCurrentMicros() { times[index++] = micros(); } void setup() { pinMode(3, OUTPUT); attachInterrupt(digitalPinToInterrupt(3), saveCurrentMicros, CHANGE); tone(3, 36000); Serial.begin(115200); } void loop() { if(index > 99) { detachInterrupt(digitalPinToInterrupt(3)); for(int i = 0; i < 99; i++) { Serial.println(times[i + 1] - times[i]); } while(1); } } I to działa, z tym że dane są generowane z pewnym przybliżeniem. Wychodzi z tego czasem 12, czasem 16. W dwóch przypadkach na sto dostałem dziwne wartości 4294966128 oraz 1200. Czyli działa "jako tako". Czy ktoś z Was zna może lepszy sposób na zrobienie tego? Myślałem o funkcji pulseIn(), ale to chyba nie do końca się sprawdzi. Pozdrawiam
  3. Czy ten kurs nadal jest aktualny? Widzę, że w sklepie Botland zestaw nie jest już dostępny. Od którego kursu najlepiej zacząć przygodę z STM32?
  4. Dzięki! Wypróbuję ten program. Ale albo jest dla mnie zbyt skomplikowany, albo faktycznie nie ma tam możliwości dekodowania podstawowych modulacji cyfrowych takich jak ASK, FSK, BPSK, QAM i tak dalej. Fakt, widziałem programy dedykowane dekodowaniu na przykład informacji z sond meteorologicznych czy konkretnego rodzaju telewizji, ale ciężko mi znaleźć coś bardziej ogólnego przeznaczenia.
  5. Witam, czy ktoś tutaj orientuje się w temacie SDR? Mam odpowiedni odbiornik i wiem, że na przykład za pomocą oprogramowania SDR# możliwe jest prowadzenie nasłuchu transmisji analogowej. Ale co, gdybym chciał na przykład przeanalizować działanie powiedzmy pilota do bramy garażowej? Chciałbym przechwycić wysyłany przez niego sygnał, zapisać gdzieś i poddać analizie (zobaczyć go w postaci bitów). Czy ktoś zna jakieś oprogramowanie do dekodowania i analizy sygnałów? Pozdrawiam
  6. Witam, wiem, że są specjalne rozszerzenia za pomocą których można podłączyć kartę SIM do Arduino. Wtedy komunikujemy się przy pomocy komend AT z procesorem rozszerzenia, który następnie komunikuje się z kartą SIM. Mnie zastanawia, czy można by podłączyć kartę SIM bezpośrednio do Arduino? Jaki protokół komunikacyjny jest stosowany do komunikacji z taką kartą? Czy też są to jakieś komendy? Co właściwie robi ten procesor modemu GSM? Ktoś może mnie jakoś pokierować? Edit: Zacząłem drążyć i doszedłem do czegoś sam. Po pierwsze, protokół komunikacyjny to https://pl.wikipedia.org/wiki/Application_Protocol_Data_Unit. Po drugie, z poziomu modemu GSM (na przykład nakładki na Arduino) można wysłać polecenie AT+CRSM, które z kolei wysyła komendę APDU do karty SIM. I tak na przykład polecenie AT+CRSM=176,28448,0,0,9 pozwala wyodrębnić z karty klucz szyfrowania. Pierwsza liczba to identyfikator operacji (READ BINARY), a druga to identyfikator pliku na karcie. Pozostałe liczby to dodatkowe parametry (offsety, długość). Jednak nadal interesuje mnie to z punktu widzenia elektroniki. Jak to podłączyć bez pośrednictwa modemu i komunikować się z tym. Na Wikipedii są opisane piny, ale niewiele mi to mówi. Pozdrawiam
  7. Cześć, muszę do swojego komputera podłączyć cztery dyski twarde (WD20EFRX). Problem polega na tym, że muszę je w niej położyć (nie mam miejsca na ich przymocowanie). Czy jeśli położę dyski jeden na drugim (każdy elektroniką do dołu, pierwszy na metalowej obudowie) to może im to zaszkodzić (na przykład może się zrobić zwarcie na elektronice)? Pozdrawiam
  8. Mam pytanie odnoście wejścia CLOCK. Nie tylko w kontekście tego układu, ale ogólnie. Chciałbym się upewnić czy dobrze je rozumiem. Rozumiem, że jest na nie podawany sygnał prostokątny, gdzie w równych odstępach czasowych pojawia się zbocze narastające. I teraz, jeśli chcemy wysłać z jednego układu do drugiego informację binarną np. 1101, to aby układ wiedział, gdzie jedna jedynka się kończy a zaczyna druga, każdy bit tej informacji jest odczytywany w momencie wystąpienia zbocza narastającego i interpretowany zgodnie z logiką: 0 = stan niski 1 = stan wysoki Proszę o potwierdzenie czy dobrze to rozumiem? Pytam, bo z takim wejściem spotykam się bardzo często przy różnego rodzaju układach czy magistralach i chciałbym dokładnie wiedzieć jak działa.
  9. Witam, ostatnio postanowiłem zbudować własne Arduino. W pierwszej kolejności wykorzystałem do tego mikrokontroler Atmega8. Wyczytałem iż najpierw należy wgrać bootloader za pomocą programatora USBAsp, a następnie, używając konwertera USB->TTL wgrywać programy (Reset wciskałem manualnie) i komunikować się z portem szeregowym. Wszystko fajnie działało, ale 4kB pamięci flash to za mało na wgranie wielu szkiców, nawet tych z menu przykłady. Przerzuciłem się więc na mikrokontroler Atmega328 i tutaj w pierwszej kolejności wgrałem bootloader używając programatora. Co mnie jednak zaskoczyło to fakt, iż programowanie tego układu musi wyglądać inaczej niż poprzedniego. Po pierwsze, nie działa mi wgrywanie programów za pomocą konwertera, muszę używać opcji Wgraj używając programatora. W przypadku Atmegi8 ta opcja nie pozwalała wgrywać programów Arduino (chyba po prostu nadpisywała bootloader). Tutaj wszystko działało, ale oczywiście brak konwertera powodował brak możliwości komunikacji z portem szeregowym. Finalnie więc muszę mieć podłączone obie rzeczy, aby móc wgrywać programy i rozmawiać z portem szeregowym. Podsumowując pytania są następujące: 1) Dlaczego opcja Wgraj używając programatora zachowuje się inaczej w przypadku obu układów? 2) Czy da się jakoś wgrywać programy Arduino do mikrokontrolera Atmega328 używając tylko konwertera USB->TTL (zakładam że da się, bo w końcu płytka Arduino UNO chyba tak to robi)?
  10. Ustawiłem fuse bity na FF(low) C9(high), podłączyłem kondensatory ceramiczne 22pF do oscylatora i przekompilowałem program. Dioda nie działa. Sprawdziłem dla 1MHz i przy takich ustawieniach nadal działa. Niemniej, kiedy wspomniałeś o bootloaderze przypomniało mi się, że wgrywałem na ten mikrokontroler bootloader Arduino. Chciałem spróbować wgrać na niego szkic Arduino, ale obecnie czekam na zamówiony konwerter USB->TTL. Może to fakt wgrania tego bootloadera powoduje tu jakieś problemy?
  11. Właśnie sprawdziłem to jeszcze raz i teraz układ działa dla 8MHz. Wczoraj jednak zdecydowanie nie działał, ale wieczorem jeszcze się z tym bawiłem, więc musiałem coś przypadkowo naprawić. Układ nie działa jednak z zewnętrznym kwarcem 16MHz. Fuse bity są ustawione na FF(low) CA(high), testowałem też dla FF(low) DA(high). Dla tych drugich dioda miga, ale w czasie świecenia jakby migocze, nie świeci stabilnie i czasem się wyłącza na dłuższą chwilę, generalnie działa, ale chaotycznie, niezgodnie z kodem programu. Dla tych pierwszych nie działa wcale. Co prawda, podłączyłem kwarc bez kondensatorów, ale przy tak prostym programie podobno nie powinno to mieć żadnego znaczenia. Dla 8MHz mam ustawienie E4(low) DA(high) i układ działa. Bity ustawiam tylko i wyłącznie poprzez zakładkę Fusy uproszczone programu mkAVR Calculator.
  12. Witam, dzisiaj, po całym dniu walki, udało mi się podłączyć mikrokontroler ATMEGA8A-PU i wgrać na niego pierwszy, migający diodą, program. Użyłem do tego następującej sekwencji poleceń: avr-gcc -mmcu=atmega8 -DF_CPU=8000000 dioda.c -o dioda avr-objcopy -O ihex dioda dioda.hex avrdude -c usbasp -p m8 -U flash:w:dioda.hex Wszystko działa jeśli oscylator jest skonfigurowany do pracy z częstotliwością 1MHz lub 2MHz. Jednak jeśli przestawię oscylator na 4MHz lub 8MHz dioda gaśnie i nic się nie dzieje. Oczywiście dostosowuję odpowiednio parametr DF_CPU. Co zrobić, aby układ działał również na wyższym taktowaniu zegara?
  13. Witam, dzisiaj spróbowałem zbudować swojego pierwszego robota. Całe przedsięwzięcie skończyło się uszkodzeniem Arduino. Problem polega na tym, że nie do końca rozumiem dlaczego tak się stało. Generalnie robot bazował na Arduino UNO i płytce rozszerzającej Motor Shield 2.3. Do niej podłączone były dwa silniki, serwomechanizm i ultradźwiękowy czujnik odległości. Robot był w trakcie programowania (wszystko było już zmontowane). Na płytce rozszerzającej znajdowała się zworka decydująca o tym, czy zasilanie jest doprowadzane z zewnętrznego źródła, czy z mikrokontrolera. Nie wgłębiając się na razie w dalsze szczegóły, odłączyłem tę zworkę w czasie pracy urządzenia (było wtedy zasilane przez przewód USB) i chyba wtedy doszło do uszkodzenia. Jeśli faktycznie mogło to być powodem zniszczenia płytki, to prosiłbym o potwierdzenie i wyjaśnienie dlaczego tak się stało. Jeśli nie, to dostarczę więcej danych. Zależy mi na zrozumieniu swojego błędu i uniknięciu go w przyszłości. EDIT: Właśnie odłączyłem Arduino od reszty projektu i sprawdziłem, czy wtedy działa. Okazało się, że tak. Problem musi więc być w sterowniku silników lub jakimś innym miejscu. Gdy płytka jest podłączona do robota, nie da się na nią wgrać programu, a cała konstrukcja wariuje. EDIT2: Odłączyłem i podłączyłem wszystko jeszcze raz i robot znowu działa. Przyznam, że teraz już kompletnie zgłupiałem i nie mam pojęcia o co tu chodzi.
  14. Witam, postanowiłem dzisiaj wymontować ze starego laptopa kamerę i podłączyć ją do komputera PC za pomocą przewodu USB. Zrobiłem to według znalezionego w internecie schematu: Wszystko zadziałało, jednak chciałbym zapytać, czy te dwie diody prostownicze są tutaj naprawdę konieczne. Rozumiem, że mają sprawić, aby prąd płynął tylko w dobrym kierunku, ale nie rozumiem dlaczego miałby próbować płynąć w drugą stronę. Moje drugie pytanie dotyczy tego, czy mogę tu zastosować diody 1N4148, zamiast tych podanych na schemacie?
×
×
  • Utwórz nowe...