Skocz do zawartości

Tablica liderów


Popularna zawartość

Pokazuje zawartość z najwyższą reputacją od 13.10.2019 we wszystkich miejscach

  1. 3 punkty
    Projekt powstał z racji mojego wrodzonego skąpstwa Żona napaliła się na takie cudo, a ceny gotowych tablic manipulacyjnych zwaliły mnie z nóg, więc konieczne było zrobienie czegoś własnoręcznie. Oprócz całej masy różnych przełączników i przycisków, w projekcie znalazły się również: wyświetlacz matrycowy led 8x8 max7219 dioda ws2812b sterowania potencjometrem Klawiatura numeryczna membranowa samoprzylepna z 16 klawiszami Mały wzmacniacz audio powerbank z 4 ogniwami 18650 do zasilenia całości, co pozwala na bardzo długie cieszenie się zabawą. Aby urozmaicić tablicę postanowiłem wyposażyć ją również w zamykany schowek. Projekt zamka oraz zawiasów pochodzi z thingverse, ciekawostką jest to że zawiasy są drukowane jako jeden element, nie ma konieczności ich składania, drukujemy i można montować. Zamek : https://www.thingiverse.com/thing:1273591 Zawias: https://www.thingiverse.com/thing:2187167 Obudowa została wykonana z sklejki, po wstępnym rozmieszczeniu przycisków i wycięciu dziur, nadszedł czas na sklejenie oraz skręcanie w całość. Na koniec pomalowana lakierem bezbarwnym. Teraz można było przystąpić do tej przyjemniejszej części projektu, czyli do programowania. Jako serce układu zostało wybrane Arduino Nano.Tablica ma możliwość odegrania 5 różnych melodii : dwie melodie Mario Bros, Crazy Frog, oraz motywy z filmów Piraci z Karaibów i James Bond. Pliki dźwiękowe odpowiednio skonwertowane oraz przykład programu można znaleźć tutaj: https://circuitdigest.com/microcontroller-projects/playing-melodies-on-piezo-buzzer-using-arduino-tone-function. Oczywiście nie odbyło się bez przeróbek oryginalnego kodu. Ze względu na małą ilość pamięci RAM, konieczne było przypomnienie sobie jak działa dyrektywa PROGMEM oraz odpowiednie przerobienie programu. W skrócie zmienna z melodią nie jest wczytywana do pamięci ram tylko baj to bajcie czytana prosto z flasha. Szerszy opis z przykładami użycia znajdziecie tutaj: https://www.arduino.cc/en/pmwiki.php?n=Reference/PROGMEM Sterowanie Diodą WS2812 odbywa się na 2 sposoby, albo płynnie podczas kręcenia potencjometrem lub w trybie pozytywki, losowo zmieniany jest kolor. Na matrycy ledowej, wyświetlane są liczby z klawiatury numerycznej, a w trybie pozytywki wyświetlane są minki. Zdjęcia wnętrza pominę bo ze względu na montaż na “pająka” nie ma się czym chwalić. Poniżej przedstawiam jak działa całość. Kod programu: tablica1.zip
  2. 3 punkty
    @crbjsfso Właśnie na tym projekcie się wzorowałem bo chciałem sam napisać program takiej lutownicy a niestety utknąłem na słabym hardwarze, który nie daje zbyt precyzyjnych odczytów temperatury. Czy schemat ts100 albo ts80 też jest otwarty? Dotarłem tylko do softu. A co do EEVbloga to nie ma co się dziwić. Dave patrzy na to z perspektywy profesjonalnego elektronika z długim stażem w branży. A to jest typowo rzecz dla pasjonata a nie do zakładu produkcyjnego. Z resztą w tym konkretnym projekcie jest przynajmniej kilka rzeczy, które "ja bym zrobił inaczej".
  3. 2 punkty
    brawo @crbjsfso prosto, tanio, skutecznie, po mojemu
  4. 2 punkty
    Chcesz coś takiego zrobić czy mieć? Bo jeśli tylko mieć - takie coś powinno wystarczyć.
  5. 2 punkty
    To wynika, że masz dobrego testera układów elektronicznych
  6. 2 punkty
    Najprościej to zrobić to z drabinką rezystorów i komparatorów, ale tego drugiego nie ma w zestawie, więc odpada. Ale nawet jeżeli, to dla synka może być to za trudne. Może na początek coś gdzie miernik jest wskaźnikiem wtedy trzeba zastanowić się co można mierzyć, żeby dojść czy bateria jest naładowana. Jeżeli bateria jest dość rozładowana to i tak będzie na jest jakieś napięcie rzędu 1,2 V, ale prąd jaki może oddać będzie niski, jeżeli podłączymy obciążenie które będzie "chciało" pobrać więcej prądu niż jest to możliwe to napięcie na baterii spadnie. Może więc zrobić taki układ: równolegle do zacisków baterii podłączyć miernik i znowu równolegle rezystor i szeregowo do rezystora przycisk. Klikam przycisk (podłączam obciążenie), płynie przez to prąd, jak jest za niski to robi się widoczny spadek. Żeby synek wiedział, że po podłączeniu coś się dzieje, to można podłączyć do przycisku tranzystor w roli klucza, do tego baterię 9V połączoną masą z resztą układu i jakiś LED, że jak przycisk się włączy, to prąd choć niewielki z baterii AA załączy LED. Ewentualnie tak wyskalować rezystory na bramce tranzystora, żeby jasność świecenia diody wskazywała jaki prąd płynie - podobny temat jest w kursie w części o tranzystorach.
  7. 2 punkty
    Cześć, mam do napisania dużą aplikację z dość skomplikowanym graficznym GUI dla Linuxa (dystrybucja: OpenSTLinux dla STM32MP1) działającego na dedykowanej (własne PCB) płytce z MCU STM32MP157C. Aplikacja ma działać na 12 calowym monitorze z interfejsem dotykowym na płytce opartej na STM32MP157C. Aktualnie piszę ten software w oparciu o zestaw uruchomieniowy STM32MP157C-DK2 - patrz link: https://kamami.pl/zestawy-uruchomieniowe-stm32/574376-stm32mp157c-dk2-zestaw-startowy-z-mikroprocesorem-stm32mp157c.html Docelowy hardware będzie opart o moduł "VisionSOM-STM32MP1 (SLS18)" firmy SoMLabs: https://somlabs.com/product/visionsom-stm32mp1/ z dedykowaną płytką bazową z dodatkowymi peryferiami (własne PCB). Już jakiś czas temu po analizie problemu wybrałem tą platformę sprzętową jako optymalną (według mnie) dla tego projektu. Do 'develompmentu' używam Debiana 9.4 ze skonfigurowanym kompilatorem skrośnym (ARM) dla OpenSTLinux według tutoriala firmy STM z tej strony: https://wiki.st.com/stm32mpu/index.php/STM32MP1_Distribution_Package Wszystko ładnie działa - przykładowe proste programy z GTK po załadowaniu na zestaw uruchomieniowy z działającym OpenSTLinux wykonują się poprawnie. Do tworzenia GUI w GTK pragnę używać pakietu Glade na Debiabnie, chociażby z powodu, że jest bardzo dobry wielo-częściowy tutorial o tworzeniu aplikacji GTK z użyciem Glade na Youtube - patrz link: Do programowania aplikacji w GTK można używać wielu języków programowania : C, C++, Python, Perl itp. Chociaż znam trochę Pythona i Perl'a dla mnie oczywistym wyborem jest język C lub C++ które znam dużo lepiej niż Python'a czy Perl'a. I tutaj mam dylemat, czy wybrać C (nieobiektowe) czy obiektowe C++. Obiektowe C++ ma dużo zalet, można korzystać z dziedziczenia, polimorfizmu i wszystkich zalet języka obiektowego. Pisanie w stylu C (nieobiektowym) nie ma tych zalet. Obawiam się jednak o problemy wydajnościowe i zajętości pamięci w przypadku C++. I tutaj mam pytanie do osób, które mają doświadczenie w pisaniu aplikacji z użyciem GTK, czy wybór C++ nie pogorszy wydajności programu. Jednak platforma STM32MP1 ma swoje ograniczenia (chociażby małą ilość pamięci DDR i procesor o ograniczonym taktowaniu. Aplikacja musi bardzo szybko reagować na działania użytkownika na ekranie dotykowym. Co wybrać C++ czy C? Będę bardzo wdzięczny za podpowiedź Pozdrawiam
  8. 2 punkty
    I żeby nie było, że tylko marudzę, to moja wersja pseudo sonoffa, sterowanie niewielkimi obciążeniami 230VAC (lampka) za pomocą NRF24l01: Nie zdążyłem jeszcze wyczyścić płytki .
  9. 2 punkty
    Może nie robię z tym nic konkretnego, ale chyba też warto pokazać, bo fajne moduły. Ostatnio wziąłem na warsztat kilka płytek z wbudowaną LoRą. Teraz będę bawił się modułami ze zdjęcia. Na pierwszy rzut oka wyglądają bardzo fajnie. Na pokładzie m.in. ESP32, moduł LoRy, wyświetlacz OLED. Można z tego zrobić ciekawą, energooszczędną platformę z bezprzewodową komunikacją.
  10. 2 punkty
    @Welkusy witam na forum! Dobry wybór, Arduino spokojnie nadaje się do zabawy z synami w takim wieku. Daj znać jakie pierwsze wrażenia @baanaan cześć Kamil, witam na forum Mam nadzieję, że elektronika Cie wciągnie. Początki bywają trudne, ale później można robić bardzo fajne projekty! @uzytkownik666 witam na forum. Nic się nie martw, nigdy nie jest za późno. Naprawdę różne osoby korzystają z naszych kursów - od uczniów szkół podstawowych, aż po emerytów. Każdy znajdzie coś dla siebie @tty12 witam na forum! Dobry wybór zestawów na start Wielu z nas traktuje Arduino i RPi jako hobby, więc mam nadzieje, że też się w to wciągniesz na dłużej. @morteusz cześć Filip! Powodzenia w nauce Arduino. Jak dla mnie nauka programowania w takiej formie była zawsze ciekawsza od "zwykłego" programowania na PC. Może dla Ciebie też tak będzie @bulgar1 witam na forum! Elektronika bardzo mocno łączy się z IT, więc na pewno znajdziesz u nas coś dla siebie. @Jacek77774 również witam na forum! Powodzenia w nauce "nowszej" elektroniki, czyli Arduino. Mam nadzieję, że szybko opanujesz podstawy i będziesz mógł zająć się tworzeniem ciekawych projektów! @daniel1979p cześć Daniel! Witam na i życzę powodzenia w nauce elektroniki Może później skusisz się nawet na budowę własnego CNC?
  11. 1 punkt
    Bolec w środku to "+", który to pin to sprawdzisz miernikiem. Jak już będziesz wiedział który to "+", to ten drugi pin to "-".
  12. 1 punkt
    @Wiktor2019 zerknij do kursu Arduino. Znajdziesz tam ogólną informację na temat wgrywania bibliotek. Np. w tym artykule: Kurs Arduino II – #2 – diody RGB (tradycyjne oraz WS2812). Metoda jest uniwersalna
  13. 1 punkt
    @PrimeSoul przeklikałem cały przykład w najnowszym CubeMX 5.4.0 i wszystko działa poprawnie - chociaż używam aktualnie Atollica zamiast OpenSTM32. Wcześniej te same przykłady robiłem na CubeMX 5.3.0 używając OpenSTM32 i ten przykład działał bez problemu. Sprawdź, czy na pewno wybrałeś poprawnie wszystkie opcje odnośnie DMA, w szczególności kierunek: "Memory To Peripheral" Jak przystało na programistę mogę spokojnie napisać "u mnie działa"
  14. 1 punkt
    @TrekerW monitorze miałem ustawienie "Nowa linia", po zmianie na "brak zakończenia linii" problem ustąpił. Dziękuję bardzo za szybką odpowiedź.
  15. 1 punkt
    Wygląda, że koszyk jest podłączony poprawnie - zwróć uwagę na niebieski przewód na drugim zdjęciu
  16. 1 punkt
    Jak podłączasz koszyk do płytki stykowej? Jeżeli za pomocą przewodów koszyka to wkładając jedną baterie do koszyka na dwie nie zamykasz obwodu (jest przerwa bo baterie w koszyku są połączone szeregowo) dlatego w tej konfiguracji nie da się jej sprawdzić. Musisz albo wsadzić tam dwie baterie albo poszukać koszyka na jedną albo przyłożyć przewody bezpośrednio do zacisków tej konkretnej baterii. Rezystor 10 kR wydaje się trochę za duży bo z prawa Ohma: U/R = I czyli ~1,5 / 10 000 = 0,00015 A = 0,15 mA. To za mały prąd aby zaobserwować spadek napięcia pod obciążeniem. Najmniejszy rezystor jaki miałem pod ręką to 100 R i w jego przypadku prąd płynący przez niego powinien wynieść ok 15 mA - nie dużo ale dało się odróżnić baterie rozładowaną od dobrej. Dobra nie zanotowała żadnego spadku a rozładowanej napięcie spadło o ok. 0,1 V. Taka bateria powinna móc dać ponad 15 mA także pewnie warto zastosować mniejszy rezystor i wtedy wyniki będą bardziej spektakularne ale to lepiej żeby ktoś inny się wypowiedział. Miernik możesz przyłożyć np. do zacisków baterii albo do nóżek rezystora.
  17. 1 punkt
    Witam Kolejny Seba z tej strony:) Skończyłem jedynie technikum jako elektronik i przez 10 lat mój kontakt z tą dziedziną był raczej znikomy, ograniczał się do wymiany baterii w pilocie Od niedawna moja praca zmusiła mnie do ponownego spotkania z elektroniką, ale tym razem wciągnęło mnie to ogromnie, na tyle ,że postanowiłem odświeżyć szkolną wiedzę wykupując zestaw do podstaw elektroniki. widocznie czasami do niektórych spraw trzeba po prostu dojrzeć:) Pozdrawiam!:)
  18. 1 punkt
    mam takie nurtujące mnie pytanie dlaczego dioda w ogóle świeci. Z jednej strony wpięta jest do + a z drugiej również mamy + z kolektora. Jedyne podłączenie do masy (-) widzę na emiterze. Chodzi mi o przykład "Test tranzystora NPN w praktyce". Moje rozumowanie jest oparte na płynącej wodzie (cieczy).
  19. 1 punkt
    Poszedłeś w dobrą stronę wybierając do pomiaru czujnik na podczerwień, ale akurat TSOP jest bardziej złożonym układem, który odbiera zmodulowany sygnał, ten konkretny o częstotliwości 38 kHz. Wystarczy że kupisz/zbudujesz transoptor (połączenie diody IR takiej jaką wskazałeś i fototranzystora dostosowanego do diody), który będzie mierzył ile podczerwieni odbija się od powierzchni. Tu jest przykład. Jeżeli przy pomiarach odczyt z ADC przekroczy jakąś granicę to znaczy że wykonany został jeden obrót. Jedyne co będzie istotne to dobrać elementy. Wąski kąt świecenia może być przydatny i zwróć uwagę na długość fali jaką nadaje dioda i tak by dobrać tranzystor który jest czuły na ten sam zakres fali. Dioda którą wskazałeś ma 940 nm więc ten fototranzystor będzie z nią współpracował.
  20. 1 punkt
    Witam. Za pomocą magnetometru (np.HMC5883L) muszę obliczać azymut (jak kompas), ale magnetometr może nie być równoległy do ziemi, bo będzie zamontowany w samolocie. W Internecie znalazłem wzory na to, ale jest napisane, że te wzory działają tylko, jeżeli magnetometr jest ustawiony równolegle do ziemi. Znalazłem również wzory wykorzystujące magnetometr i akcelerometr, pozwalające na obliczanie kierunku względem północy bez względu na to, czy magnetometr jest równoległy do ziemi. Czy istnieje sposób obliczania azymutu bez względu na orientację bez użycia akcelerometru, tylko magnetometru?
  21. 1 punkt
    Wykonałem pomiar i obliczenia do ćwiczenia z dzieleniem napięcia dla rezystorów 1k i 330R. Moje wyniki to: Pomiar miernikiem: 330R - 2,29 V 1k - 7,02 V Obliczenia: 330R - 2,23 V 1k - 6,77 V I w tym miejscu mam pytanie, czy pojawiające się w wynikach rozbieżności są w normie? Szczególnie w przypadku rezystora 1k. Jaką tolerancję należy przyjmować w tego typu doświadczeniach? Pozdrawiam JH
  22. 1 punkt
    Okej, dziekuje Kurs Arduino z innymi wlasnie zaczynam ale przed tym chcialem sprobowac inna droga i jak widac trzeba bylo go zaczac znacznie wczesniej
  23. 1 punkt
    Dziękuję za opinię Z mojego punktu widzenia nerwową atmosferę mogą wywołać tylko odpowiadający. Przecież żadna "afera" nie bierze się z tego, że ktoś zadał niechlujnie pytanie. W mojej "utopijnej krainie" w takiej sytuacji zwyczajnie osoba taka nie otrzyma odpowiedzi lub (najwyżej) zostanie poproszona o szczegóły i do takiego podejścia zachęcam. Nie słyszałem, aby jakieś forum miało złą opinię z powodu źle zadawanych pytań. Natomiast wiele for ma zła opinię przez sposób reakcji na źle zadane pytania. PPF pierwotnie składało się z 12 punktów dla pytających i 12 punktów dla odpowiadających. Zrezygnowałem jednak z tego, bo w takiej formie nikt by tego nie czytał. Ostateczny dokument jest skróconą wersję, którą może ktoś przeczyta. Uznałem, że StackExchange, na którym się wzorowałem w tej sprawie wie co robi, bo jest nieporównywalnie większy od Forbota Świetny artykuł o zadawaniu pytań linkuje w swoim podpisie. Mowa o tekście przetłumaczonym przez @deshipu. Tekst jest świetnie merytorycznie, ale obawiam się, że jego skuteczność nie jest wysoka. Ile osób przeczyta coś takiego przed zadaniem pytania? Niestety raczej mało. Tak, zdaje sobie sprawę, że jest to problemem i chcę to również rozwiązać. Ciągle zastanawiam się tylko nad formą. Na ten moment rozważam 3 rozwiązania: Krótkie wytyczne na temat sposobu zadawania pytania wraz z prośbą o opisanie swojego stanu wiedzy, które będą wyświetlane podczas zakładania tematów przez nowe osoby. Pole w profilu, w którym można określić swój stopień zaawansowania (już kiedyś proponował to @Elvis). Tutaj największą trudnością wydaje mi się jednak stworzenie dobrze opisanej skali i ewentualna podatność na efekt Dunninga-Krugera. Wprowadzenie formatek dla nowych tematów w działach, gdzie najczęściej pojawiają się pytania początkujących. To znaczy, że po rozpoczęciu tematu, w edytorze znajduje się już tekst typu: Nie jestem jednak przekonany do żadnej z tych wersji. Jeśli ktoś ma jakąś kolejną propozycję lub sugestie to chętnie poczytam
  24. 1 punkt
    Ja bym był ostrożny. Zauważ: PPF odnosi się przede wszystkim do odpowiadających na pytania, o zadawaniu pytań nie ma tam zbyt wiele. A w rzeczywistości większość utarczek i fochów wynika albo ze źle zadanego pytania, albo z braku informacji kim jest pytający i jak na owo pytanie należy odpowiedzieć (a z reguły kombinacji obu tych czynników). Co do zadawania pytań - o tym mówiono wiele, dla mnie zawsze najważniejsze były zasady zawarte w http://rtfm.killfile.pl. Co do informacji o pytającym - już parokrotnie zwracałem na to uwagę, że np. na pytanie o jakąś funkcję w Arduino inaczej odpowiem programiście PHP z kilkunastoletnim stażem któremu zamarzyła się zabawa w Arduino, inaczej zawodowemu elektronikowi który pierwszy raz w życiu próbuje programowania a inaczej nastolatkowi który nawet nie sprawdził, że istnieją jakieś kursy, o programowaniu nie ma zielonego pojęcia, nie wie którą strona się trzyma lutownicę a w ogóle to przedwczoraj na ten temat toczyła się dyskusja ale nie zajrzał bo po co... W tej chwili PPF przypomina mi za bardzo jakąś utopijną krainę, gdzie wszyscy są szczęśliwi, jeden drugiemu pyłki spod stóp zbiera i w ogóle jest czarownie (zdaje się że Lem takową opisywał w opowiadaniu "Kobyszczę") - może ja jestem wyjątkiem, ale dla mnie mottem PPF powinien być nie tekst w stylu "Bądź grzeczny dla wszystkich", ale raczej cytat z "Warszawskiego taksówkarza" (czyli "Jestem grzeczny dla grzecznych" i tak dalej). Aha, to oczywiście moje zdanie.
  25. 1 punkt
    Witam, jestem Jarek z poznania, moje zainteresowanie elektroniką wzięło się z popularności tej dyscypliny obecnie. w tej chwili przechodzę przez kurs elektroniki dla początkujących. Pozdrawiam wszystkich.
  26. 1 punkt
    Cześć, użycie DAC'a w tym przypadku upraszcza sprawę, ale możesz to także zrobić bez niego za pomocą PWM. Aby wygenerować sinusoidę o częstotliwości 5 KHz częstotliwość PWM musi być większa niż 10 KHz - wynika to z twierdzenia Kotielnikowa-Shannona zwanego też zamiennie twierdzeniem Nyquista-Shannona - patrz link: https://pl.wikipedia.org/wiki/Twierdzenie_o_próbkowaniu Uzyskanie przebiegu PWM o częstotliwości > 10 KHz (okres mniejszy niż 100 us) nie stanowi żadnego problemu na STM32F4. Zainstaluj sobie STM32CubeMX i następnie w nim zainstaluj pakiet "STM32Cube_FW_F4_V1.xx". Przejdź do katalogu z repozytorium CubeMX (katalog: C:\Users\TwojUser\Documents\STM32CubeMX)- wejdź do katalogu z nazwą zainstalowanego pakietu dla F4, potem \..Projects\STM32F411RE-Nucleo(lub inna plytka)\Examples_LL\TIM\TIM_PWMOutput. Tam będziesz miał przykładowy program jak wygenerować wymagany PWM (powiniem mieć co najmniej 8-bitów). Potem musisz stablicować wartości funkcji sinus z potrzebną Ci dokładnością (np. 256 próbek). Ostatnie co robisz to to wyrzucasz próbki z tablicy funkcji sinus w ten sposób, iż ustawiasz wartość PWM proporcjonalną do wartości funkcji sinus w tym punkcie. Na koniec dajesz prosty filtr dolnoprzepustowy[jak to już napisał kolega RFM] (np. na wzmacniaczach operacyjnych) i cieszysz się piękną sinusoidą. Oczywiście można to ulepszyć za pomocą DMA, ale i bez jego użycia da się to zrobić. Pozdrawiam
  27. 1 punkt
    Cześć, nie rozumiem, po co piszesz, że wszystko jest OK. Nic Ci nie działa prawidłowo - tak właśnie jak u Ciebie objawiają się błędy tego środowiska. pod Windowsem 10 Prawdopodobnie odpalasz wersję 64-bitową "Project Navigator ISE" - ta wersja nigdy nie działala mi poprawnie pod Windows10 . Zlokalizuj wersję 32-bitową (gdzieś w podkatalogu bin) i ją uruchom - prawdopodobnie nie będzie już tego błędu (zamykania się środowiska). Faktu, iż nie działa symulacja u Ciebie jestem prawie pewien (pewnie pomyliłeś ją z fazą syntezy i implementacji). Pisałeś, lub uruchamiałeś "test bench", żeby uruchomić symulację. Używaj tylko wersji 32-bitowej środowiska, bo tylko ona (w niepełnym zakresie) działa dla Windows10 prawidłowo. Najlepiej zainstalować ISE pod Linuxem (tam działa to dobrze). Scieżka do 32-bitowego "Project Navigatora pod Windows10 to : Pozdrawiam BTW: do przejścia kursu FPGA Forbota na Elbercie na szczęście nie jest potrzebna dziłająca opcja symulacji.
  28. 1 punkt
    Witam, Mam nazywam się Łukasz i mam 26 lat. Ukończyłem politechnikę na kierunku MiBM i nie ukrywam , że po studiach brakuje mi wiedzy z zakresu elektroniki, stąd moje obecność na tym forum. Docelowo w planach mam budowę małej frezarki, i o ile w zakresie mechanicznym mam pojęcie to niestety w budowie sterowania jestem praktycznie zielony. Mam nadzieje, że ukończenie kursów z Forbota przybliży mnie do realizacji projektu. Pozdrawiam
  29. 1 punkt
    - Witajcie leśni ludzie! - Witaj Robin Hoodzie Ale na poważnie, Witam Was wszystkich i z osobna, Znajomi i przyjaciele mówią na mnie po prostu Szczepan, jestem nie za młody i nie za stary, ale elektroniką pasjonowałem się od najmniejszych lat, pierwsze starcie z prądem i eksperymentowaniem zacząłem w wieku około 12 lat, kiedy to z rozbitej zabawki wyciągnąłem żarówkę na napięcie 4,5V się domyślam, wpadłem na genialny pomysł jej wykorzystania zakręcenia ze sobą dwóch niezaizolowanych drucików wychodzącej z niej i wsadzenia mojego pierwszego projektu eksperymentalnego do kontaktu 220V. Co nastąpiło później chyba większość się domyśli, nastąpił błysk jakiego w życiu nie widziałem, wybiło bezpieczniki, rodzice wpadli do pokoju poddenerwowani co znowu wybija bezpieczniki.. na co ja grzecznie siedziałem w książkach, wystraszony ale i żądny wiedzy co się właśnie stało. To był ten dzień kiedy to zaszczepiłem miłość do elektroniki, nie elektryki. Później już szkoła średnia o profilu elektronicznym, studia informatyczne w kierunku stron WWW, i takie tam. Od niedawna zacząłem się interesować programowaniem dla Arduino, trochę zniechęcony byłem ograniczeniami tej platformy, ale co wolny czas wracałem do tego. Teraz zakupiłem książkę o AVR i postaram się zabrać do programowania z większym uperem Mam nadzieję że koleżanki i koledzy pomogą mi w tym. Przyznam szczerze że programowanie nie było moją mocną stroną, bardziej skłaniałem się w kierunku html/obróbka graficzna. I jest to moja pięta achillesowa. Motto na dzień dzisiejszy: nie trać zapału i dąż do celu. Podsumowując, cześć wszystkim.
  30. 1 punkt
    @Johny witamy na forum! Powodzenia w eksperymentach, w starszej elektronice faktycznie można znaleźć coś użytecznego. Sam pamiętam jak chodziłem do serwisu AGD, bo tam mieli sporo elektro-złomu ze starych telewizorów kineskopowych. @krizzu witamy na forum, jak masz już początkowe zainteresowanie to myślę, że nie będziesz miał problemów z realizacją zadań.
  31. 1 punkt
    Zasilacze tego typu są zwykle robione w ten sposób, że na wejściu masz typową przetwornicę AC/DC czyli: prostownik napięcia sieciowego z filtrami EMI, potem konwerter DC/DC z 320VDC na stabilizowane 5VDC do napędzania cyfrówki i przy okazji dostajesz gdzieś tam "bokiem" kilkanaście woltów DC (12-24V) z którego zasilana jest z kolei przetwornica DC/AC dla lamp pod ekranem LCD. I tyle. Najlepiej by było,gdyby to dodatkowe napięcie stałe było właśnie rzędu 10-12V bo wtedy podpinasz tam bezpośrednio akumulator i jedziesz. Bo przecież "cyfrowe" 5V to sam sobie z akumulatora zrobisz czymkolwiek. Na płytce widać zespół filtrów EMI tuż przy gnieździe sieciowym, potem prostownik, główny elektrolit, transformator przetwornicy, jej tranzystor i dioda i tam już masz 5V. No i spróbuj wyśledzić obwód z dodatkową diodą i elektrolitem zasilający układ blisko tego podłużnego transformatora robiącego 700VAC. Nie wiem dokładnie jakiej porady oczekujesz..
  32. 1 punkt
    Witam wszystkich, jestem Bartek, 25 letni tata. Dzięki złamanej nodze i cichej miłości do łączności, przyszło mi ostatnio podłączać CB samochodowe w domu. Okazało się to bardziej skomplikowane, niż myślałem (przeciwwaga anteny, stworzenie zasilacza do radia). Przy przeróbce zasilacza ATX jakoś tak zacząłem więcej czytać na temat prądu i koniec końców jestem posiadaczem zestawu elektronika. Dziś zaczynam działać, a w głowie już mam kilka projektów - na początek recykling starej elektroniki Pozdrawiam wszystkich
  33. 1 punkt
  34. 1 punkt
    kolejna aktualizacja do funkcji start extern volatile unsigned long timer0_millis; uint16_t ledCounter; uint8_t state; enum State {RESTART_TIME, ON_TIME, OFF_TIME, SET_TIME}; void setup() { Serial.begin(9600); DDRC = 15; // A0..A3 Output DDRB = 48; //D8...D11 INPUT, D12 and D13 Output PORTB = 15; //D8...D11 High impedance DDRD = 60; //D2...D5 OUTPUT PORTD = 192; //D6 D7 High impedance } void loop() { start(timeSet(1, 0, 0), 150, 150, 100); } void start(uint32_t wait, uint32_t onTime, uint32_t offTime, uint16_t counter) { static byte index = 0; byte pin[30] = {3, 4, 12, 2, 4, 13, 3, 2, 2, 4, 5, 13, 3, 5, 3, 5, 3, 4, 4, 3, 5, 3, 2, 3, 4, 2, 12, 12, 3, 2}; if (state == RESTART_TIME) { //Serial.println("start"); state = ON_TIME; timer0_millis = 0; } if (timer0_millis > wait && timer0_millis <= (onTime + wait) && state == ON_TIME && ledCounter <= (counter - 1)) { (pin[index] == 12 || pin[index] == 13) ? PORTB |= 1UL << pin[index] - 8 : PORTD |= 1UL << pin[index]; state = OFF_TIME; } if (timer0_millis >= (wait + onTime) && state == OFF_TIME) { if (timer0_millis < onTime + wait) return; Serial.println(timer0_millis); (pin[index] == 12 || pin[index] == 13) ? PORTB &= ~(1UL << (pin[index] - 8)) : PORTD &= ~(1UL << (pin[index])); ledCounter++; state = SET_TIME; } if (timer0_millis >= (onTime + offTime + wait) && state == SET_TIME) { if (timer0_millis < onTime + offTime + wait) return; Serial.println(timer0_millis); Serial.println(ledCounter); index++; if (index == 30) index = 0; state = ON_TIME; timer0_millis = wait; } } uint32_t timeSet(uint32_t s , uint32_t m , uint32_t h) { h = h * 1000 * 3600; m = m * 1000 * 60; s = s * 1000; return h + m + s; } Po n ilości prób zaobserwowałem że diody czasami potrafią zmieniać stany w, krótszym czasie niż zadany. W teorii wygląda to tak , że dioda zaświeca się następnie powinna zgasnąć i zaświecić się kolejna ale przy krótkich czasach np: 250/250ms on/off stanu niskiego prawie nie widać tak jakby odrazu zapalała się kolejna dioda. Aby zaobserwować jak to wygląda w terminalu trzeba w w/w kodzie skomentować lub usunąć return; wgrać szkic otworzyć terminal odczekać chwilę i sprawdzić wyniki. Poza liczbami, które oznaczają mignięcia diod zobaczymy też cyfry 1024 czy 1280 co oznacza , że w tym momencie stan niski był krótszy niż powinien. Debugera niestety nie mam więc jest dodatkowy if z return i w ten sposób działa to prawidłowo. Czasy on off są takie jak być powinny (czasem jest 1ms różnicy ale to mi nie przeszkadza). Jest dodatkowa funkcja do wprowadzania czasu timeSet() kolejno sekundy , minuty, godziny. Sprawdzałem z opóźnieniami 2-5 godzin (jest jakieś 2-5s opóźnienia).
  35. 1 punkt
    Kurs robi dużą robotę. Mam podobnie jak Ty a teraz mój 5-ciolatek ma własną lutownicę, podpina do kaloryfera i lutujemy wspólnie
  36. 1 punkt
    Strzelam, że nie uruchomiłeś timera: pewnie brakuje wywołania tej metody: start(), możesz to sprawdzić - czy timer działa prawidłowo za pomocą isValid(),.
  37. 1 punkt
    Cześć @szeryf, jak zobaczysz sobie tutaj: https://doc.qt.io/qt-5/qtimer.html#accuracy-and-timer-resolution: "The accuracy of timers depends on the underlying operating system and hardware. " "All timer types may time out later than expected if the system is busy or unable to provide the requested accuracy. In such a case of timeout overrun, Qt will emit timeout() only once, even if multiple timeouts have expired, and then will resume the original interval" To dowiesz się, że wskazania mogą oscylować, ale generalnie powinny być akceptowalne w dużej mierze aplikacji używających QTimer, natomiast myślę, że problem u Ciebie nie występuje w dokładności QTimer, tylko podejściu, które zastosowałeś: stosujesz interwał = 1ms, czyli praktycznie wykorzystujesz QTimer do granicy możliwości, co może skutkować tym, że będziesz tracił wystąpienia sygnalizowane przez timeout() - czyli timer pokaże mniejszą niż zmierzoną długość czasu niż ta którą zmierzyłeś telefonem. Wydaje mi się że do tego zadania zdecydowanie lepiej nadaje się QElapsedTimer, który działa dokładnie tak jak chcesz - czyli stoper. QElapsedTimer możesz użyć do zmierzenia czasu, a QTimer do cyklicznego (np. co 60Hz) odświeżania interfejsu. Wtedy powinieneś uzyskać dokładnie to co chcesz.
  38. 1 punkt
    Słusznie, Addamsów. Człowiek to oglądał a nie czytał. Dziękuje za uwagę. Już poprawiam. Co z Rąsią? Na razie dostała oczka z czujnika ultradźwiękowego - w formie eksperymentu - bez przewidywanego dalszego wykorzystania. W przyszłym tygodniu pierwsze prace ze wzmacniaczem elektromiograficznym z suchymi elektrodami. Na razie tylko jeden kanał, bo zabawa dość kosztowna. I solidne (waży 1,5 kg) ramię o sześciu stopniach swobody. Oczywiście chińskie. Potem sterowanie głosowe i nauka w języku polskim. Myślę, że starczy na jakieś pół roku zabawy. Na koniec współpraca z osobą, której będzie pomagać...
  39. 1 punkt
    LM358/324 zadziała do -300mV przy zasilaniu tylko napięciem dodatnim. Inna opcja wygenerować napięcie ujemne np ILC7660.
  40. 1 punkt
    Witam serdecznie. Od dziś jestem w Wami na forum. Zaczynam swoją przygodę z elektroniką, choć nie zupełnie pierwszy raz. W latach 80-tych trochę się tym bawiłem, ale to były czasy tranzystorów i oporników. Trochę mnie to zniechęciło, bo trudno było zdobyć części, a niektóre w sklepach już były wadliwe i zmontowane układy często nie działały. Na horyzoncie pojawiły się komputery, więc od elektroniki przeszedłem do informatyki. Pisanie programów było dla mnie ciekawsze. Niedawno natrafiłem na Arduino. Tutaj programowanie płynnie wplata się w świat cyfrowej elektroniki. I tak historia zatacza powoli koło. Zobaczymy :)
  41. 1 punkt
    @Gieneq Chciałbym żeby efekt końcowy był elegancki, żebym mógł zaprezentować moje oprogramowanie klientowi. Myślałem o tym, żeby poszukać stackowanej obudowy i w pionie mieć 4 malinki, np coś takiego Stackowalna obudowa z wiatrakami Potem całość razem z zasilaczem w jakiejś obudowie, ew. zasilacz w osobnej obudowie dla bezpieczeńśtwa, żeby się nie pokopać prądem. Dziękuję bardzo za sugestię z pleksi, jak już złożę zestaw to dokładnie pomierzę całość i zamówię "szafkę" z pleksi na wymiar.
  42. 1 punkt
  43. 1 punkt
    @Krystyna Improwizowanie dobra rzecz, ale nie musisz improwizować. Jeśli kupisz koła które linkowałem i te mocowania to razem wszystko będzie pasowało do silników nema 17. Oczywiście o ile tak jak gdzieś sprawdziłem ich oś ma średnicę 5mm.
  44. 1 punkt
  45. 1 punkt
    Cześć, tak właśnie to działa pod Win10. Sprawdź, czy nie dzieje się to podczas syntezy (i fazy implementacji). Mi np. nie działa w ISE pod Win10 symulacja układu, a bez tego nie możesz być pewnym, że zaprojektowany układ działa prawidłowo. Kiedyś działała symulacja - przestała działać po którejś aktualizacji Windows 10 Pozdrawiam.
  46. 1 punkt
    Poczytaj o aplikacji IFTTT. Wiele potrafi, również asystent Google nie jest jej obcy.
  47. 1 punkt
    Jeśli faktycznie z programowaniem u Ciebie nietęgo - zrób jak pisze @Gieneq. Jeśli w klocku będzie siedzieć jedynie rezystor (potencjometr) to nawet zasilanie klocka nie będzie potrzebne - wystarczą dwa piny. Do tego multiplekser analogowy (na przykład taki), jakiś PCF8574 i jakiś niedrogi przetwornik A/D na I2C (choćby taki). Jak się dobrze postarasz to całą matę podpinasz czterema przewodami razem z zasilaniem.
  48. 1 punkt
    Trochę mnie to dziwi. Napisz jak stoisz w programowaniu, bo nie chciałbym wyjść na głupka proponując ci jakąś prostotę - ale z drugiej strony nie chciałbym wyjść na kogoś, kto proponuje skomplikowany algorytm chłopcu co właśnie skończył przedszkole... Pozdrawiam wynalazcę Przyjaznego Forum.
  49. 1 punkt
    Przykro mi to pisać, ale odnoszę wrażenie, że nie rozumiesz układu który próbujesz zbudować. Podstawową rzeczą jest to , że sterowanie takim wyświetlaczem jest niesymetryczne. Drivery elektrod wspólnych - w tym przypadku - anod muszą być silne i bardzo "sztywne". W poprzednim schemacie próbowałeś robić to za pomocą gołych wyjść rejestrów i to była główna wada, bo układy 74HC są słabe prądowo. Zaproponowałem tranzystory pnp i wstawiłeś je, ale bez sensu wyposażyłeś je w oporniki szeregowe w kolektorach. Przecież każda rezystancja na tej drodze spowoduje, że w zależności od liczby segmentów cyfra będzie świeciła mocniej lub słabiej: w lini wspólnej anody płynie suma prądów wszystkich segmentów danej cyfry. Tu ma być czysto: plus zasilania -> emiter -> kolektor -> anoda wyświetlacza. Oczywiście oporniki w bazach to dobry pomysł. A teraz driver segmentów: tu - ponieważ każde wyjście steruje tylko jednym segmentem w danej chwili - możesz spróbować "czystych" wyjść rejestru bez tranzystorów. Rzecz jasna wyjść rejestru wyposażonych w oporniki ograniczające/regulujące prąd. Ty natomiasrt wstawiłeś tranzystory (to jeszcze nie grzech), ale o złej polaryzacji i podłączone w dość głupi sposób. Albo dajesz tu npn w konfiguracji OE (emiter na masie, baza przez opornik do wyjścia rejestru, kolektor przez opornik do segmentów LED), albo sam opornik z wyjścia rejestru. W układzie który zbudujesz (pnp "od góry", same oporniki "od dołu") włączasz poszczególne cyfry zerem w rejestrze, czyli musisz wystawiać kolejno coś w rodzaju 0111, 1011, 1101, 1110 i tak w kółko. Segmenty z drugiego rejestru także zapalasz zerami, więc gdybyś miał podłączone w kolejności ABCDEFGP to cyfra "1" wyglądałaby jak kombinacja 10011111 - świecą tylko segmenty B i C. Weź się w garść i a) poczytaj o tranzystorach w jakimś kursie, b) usiądź spokojnie i zastanów się jak właściwie ma działać to co robisz i co chcesz uzyskać, bo losowe podłączanie rzadko prowadzi do dobrych rozwiązań. Oporniki 10k w bazach pnp mogą być troszkę za duże. To przy 5V zasilania daje ok. 0.5mA prądu, a przy wzmocnieniach tranzystorów rzędu 50 dostaniesz tylko ok. 25mA prądu anody. Pamiętając, że to suma prądów wszystkich segementów - zostaje wtedy ledwo 3mA/segment przy zapalonej cyfrze "8" co może być za mało przy multipleksowaniu 1:4 typowego wyświetlacza LED. Daj w bazy pnp po maks. 2k. A szeregowo z segementami spróbuj po 220-470Ω.
  50. 1 punkt
    Witajcie. Mam do zaprezentowania mój nowy projekt. Zdalnie sterowany robot kroczący z odbiornikiem podczerwieni. Jednostką centralną jest mikrokontroler ATmega8A-PU. Robot porusza się dzięki trzem serwomechanizmom TowerPro SG90. Inspiracją do sposobu chodzenia był robot kroczący Pololu. Robot posiada 6 niebieskich diod. Ich katody są połączone z odpowiednimi pinami mikrokontrolera, dzięki czemu steruję nimi w zależności od wykonywanego ruchu robota. Anody są połączone przez rezystor z nogami robota, te natomiast są połączone z potencjałem dodatnim zasilania. Jako pilota używam telefonu z androidem wraz z aplikacją RCoid. Korzystam ze standardu RC5. Kierunkami poruszania się robota są przód, tył, obracanie w lewo i prawo. Do zatrzymania robota służy dowolna inna komenda. Sterowanie serwomechanizmów odbywa się dzięki programowo stworzonemu PWM na 8 bitowym timerze mikrokontrolera. Tak wygląda kod przerwania od przepełnienia timera: ISR(TIMER0_OVF_vect) { static uint16_t cnt; if(cnt>=r) PORTC &= ~(1<<PC3); else PORTC |= (1<<PC3); if(cnt>=m) PORTC &= ~(1<<PC4); else PORTC |= (1<<PC4); if(cnt>=l) PORTC &= ~(1<<PC5); else PORTC |= (1<<PC5); cnt++; if(cnt>625) cnt = 0; } Zmienne r m i l odpowiadają za położenie poszczególnych nóg zmieniane w pętli głównej programu. Ich zakres mieści się od 17-76 (0.5ms-2.5ms) (0°-180°). Oczywiście zakres pracy jest mniejszy. Dla przykładu dobranymi wartościami dla nogi środkowej są 42 przy oparciu na lewej części, 44 pozycja środkowa, 46 oparcie na prawej części nogi. Zmienna licznika cnt jest porównywana z wartością 625, dzięki czemu uzyskuję częstotliwość 50Hz (8000000Hz/1/256/625=50Hz [20ms] [prescaler=1]). Jeżeli chodzi o kwestie zasilania to zdecydowałem się na użycie czterech zwykłych baterii AAA dających na wyjściu ~6V co zmusiło mnie do użycia przetwornicy Pololu S7V7F5 do zasilania mikrokontrolera. Diody i serwomechanizmy są zasilane bezpośrednio z baterii. Nogi zostały wygięte ze stalowego drutu o średnicy 1.5mm. Do orczyków zostały przymocowane za pomocą stalowego drutu o średnicy 0.3mm. Koniec każdej nogi zalałem gorącym klejem tak, aby zapobiec ślizganiu się robota na gładkiej powierzchni. Lista elementów: mikrokontroler ATmega8A-PU 3x serwomechanizmy TowerPro SG90 przetwornica Pololu S7V7F5 odbiornik podczerwieni TSOP31236 6x diody niebieskie rezonator kwarcowy 8MHz trytki i rurki termokurczliwe druty stalowe o średnicy 1.5mm, oraz 0.3mm płytka stykowa 170 otworów 4x baterie AAA z koszykiem parę rezystorów, kondensatorów i przewodów Zapraszam do śmiałego pisania swoich pytań, opinii i uwag Pozdrawiam, Karol
Tablica liderów jest ustawiona na Warszawa/GMT+02:00
×
×
  • Utwórz nowe...