Skocz do zawartości

Tablica liderów


Popularna zawartość

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

  1. 2 punkty
    Niewątpliwie procesory, bądź mikroprocesory stanowią ogromną część elektroniki użytkowej. Prawie w każdym urządzeniu, poczynając od najprostszych, a kończąc na najbardziej zaawansowanych komputerach, najważniejsza jest jednostka centralna. Czasy największej świetności ośmiobitowe procesory mają już za sobą, ale nadal stanowią ważną część elektroniki. Wiele urządzeń nadal z nich korzysta. Moją przygodę z elektroniką cyfrową rozpocząłem od programowania mikroprocesorów firmy Atmel były to dokładniej procesory Atmega8 oraz Atmega328. Mimo wielkich możliwości jakie dają mikrokontrolery bardziej interesowała mnie strona hardware’owa tych układów. Na ich podstawie oraz procesorów takich jak Intel 4004, 8080 stopniowo poznawałem budowę oraz działanie mikroprocesorów. W pewnym momencie stwierdziłem że nie jest to takie trudne i sam zbuduję własny procesor. Był to DCE 4 (D-digital, C-computer, E-electronic, 4 ponieważ była to jednostka czterobitowa). Następnie rozpocząłem prace nad ośmiobitowym procesorem DCE 84. Jednak i on z upływem czasu wydał mi się bardzo prosty. Prezentowany mikroprocesor DCE 812 zaprojektowałem korzystając z rozwiązań zastosowanych w DCE 84 bazując na pełnej architekturze harwardzkiej (gdzie pamięć dla programu i danych jest fizycznie rozdzielona). Schemat blokowy układu można znaleźć poniżej. Do budowy zostały użyte podstawowe układy logiczne wykonane w technologii CMOS (przykładowo bramki AND) oraz gotowe układy pamięci RAM (UL6516 2k x 8bit) oraz ROM(dwa układy 28c64 8k x 8bit) , ponieważ budowa własnych pamięci nie była możliwa z powodu braku czasu i środków. Elementy takie jak ALU, układ sterowania, zegar, oraz obsługa pamięci i poszczególnych rejestrów roboczych została zaprojektowana przeze mnie od podstaw. Fizycznie układ powstał stosunkowo niedawno i nie obyło się bez komplikacji. Zmiana układu obsługującego pamięć RAM sprawiła, że układ działa zgodnie z założeniami. Pozwala on na wykonywanie podstawowych działań matematycznych oraz prostych programów stworzonych w języku C++ i przekonwertowanych na polecenia dla tego procesora. Najbardziej zaawansowanym programem, który udało mi się uruchomić było generowanie kolejnych liczb z ciągu Fibonacciego. Praca mikroprocesora zostaje rozpoczęta od wciśnięcia fizycznego przycisku RESET, który ustawia stan "0" na wyjściach wszystkich wewnętrznych rejestrów. Uzyskujemy poprzez to adres zero na wyjściu licznika rozkazów co powoduje rozpoczęcie pracy od pierwszego wprowadzonego rozkazu (lista rozkazów widoczna na zdjęciu poniżej). Następnie układ zaczyna liczyć od 0 do 15 wewnątrz układu sterowania do każdej z tych mikrooperacji przypisane jest odpowiednie działanie zgodne z rozkazem wprowadzonym do pamięci ROM może to być np. zapis do rejestru B, reset licznika rozkazów. Po wykonaniu wszystkich mikrooperacji licznik rozkazów zwiększa swoją wartość o jeden co skutkuje przejściem do kolejnego rozkazu i cały cykl wykonywany jest ponownie. Programowanie procesora realizowane jest poprzez odpowiednie przełączniki które umożliwiają przełączanie układu między stanem pracy a programowaniem. Wprowadzanie danych oraz wybieranie adresów również realizowane jest w ten sposób. Odpowiednie przełączniki służą również do sterowania zegarem procesora. Generowanie impulsów może odbywać się automatycznie z częstotliwością ok. 10Hz lub manualnie poprzez wciśnięcie przycisku. Obecnie projektuje kolejną wersje własnego procesora tym razem staram się wszystko umieścić w jednym układzie FPGA (Korzystam z tej płytki). Postępy w pracach można obserwować na moim blogu https://rafal-bartoszak.blogspot.com/ Dodatkowo wstawiam też link do filmu gdzie można zobaczyć działanie układu.
  2. 1 punkt
    Lampy nixie to chyba najczęściej powracający temat wśród amatorskich projektów elektronicznych. Myśl o skonstruowaniu zegara z takim wyświetlaczem chodziła mi po głowie już wiele lat temu, w tym celu zaopatrzyłem się w zestaw lamp IN-14. Niestety z powodu braku czasu i dużej ilości projektów o wyższym priorytecie zadanie to ciągle było odkładane na później. Może to i lepiej, bo w międzyczasie miłośnicy amatorskiej elektroniki zyskali dostęp do całkiem ciekawych elementów, które mogłem wykorzystać w projekcie. Prezentowany zegar powstał w 2017 roku. Jego głównym elementem jest mikrokontroler Atmega644, który wykonuje wszystkie operacje związane z odmierzaniem czasu i obsługą multipleksowanego wyświetlacza. Dodatkowo zegar został wyposażony w moduł WiFi z układem ESP8266, pracujący pod kontrolą własnego programu. Zadaniem modułu jest cykliczne sprawdzanie czasu na serwerze NTP i korygowanie ustawień lokalnego RTC. Urządzenie posiada też układ scalony FT232, dodający możliwość konfiguracji przez USB. Stałe napięcie około 180V jest generowane za pomocą przetwornicy boost na układzie MC34063A. Oprogramowanie zegara zostało wyposażone w funkcję automatycznego wykrywania czasu letniego i zimowego. Na płycie czołowej znajduje się przełącznik umożliwiający włączenie trybu, w którym wyświetlany jest czas UTC - funkcja ta została dodana w związku z moimi radioamatorskimi i krótkofalarskimi zainteresowaniami. Konstrukcja została zamontowana wewnątrz obudowy ze sklejki wycinanej laserowo. Fizycznie urządzenie składa się z dwóch osobnych płyt, Jedna z nich mieści zestaw lamp nixie, druga elektronikę sterującą.
  3. 1 punkt
    Swoją przygodę z elektroniką zacząłem kilka lat temu z celem zbudowania czworonożnego chodzącego robota. Nie bardzo sobie zdawałem wówczas sprawę ze stopnia skomplikowania tego zadania i śmieszy mnie dziś moja ówczesna naiwność, ale od tego czasu minęło parę lat i wiele się nauczyłem. W międzyczasie stworzyłem projekt taniego i łatwego w montażu robota, który opublikowałem pod adresem http://tote.rtfd.io, żeby nieco ułatwić zadanie innym. Naiwnie myślałem, że skoro dałem ludziom prosty punkt startowy, to teraz będą na jego bazie budować bardziej rozbudowane roboty i eksperymentować z platformą. Oczywiście myliłem się straszliwie, choć wiem o kilku konstrukcjach zainspirowanych moją. Dziś sam jestem dziadkiem^W^Wwiedząc więcej o tym jak to działa, postanowiłem zaprojektować zestaw do samodzielnego montażu oparty na podobnych pomysłach, ale bardziej mający formę gotowca. Zamiast optymalizować cenę postanowiłem tym razem zoptymalizować wygodę. Docelowo zamierzam zestaw sprzedawać częściowo zmontowany na Tindie. Dużo szczegółów konstrukcji pozostało z Tote. Nadal używam tanich serw SG90, które nadal zasilam bezpośrednio z baterii LiPo, kompensując za niskie napięcie większą częstotliwością sygnału sterującego. Nadal wykorzystuję fakt, że robot jest taki lekki, żeby przemycić nie do końca koszerne rozwiązania, jak wykorzystanie serw jako stawów nóg, bez dodatkowego podparcia, albo sklejanie ze sobą dwóch serw za pomocą hot glue. Ale tym razem nie używam taniego Arduino Pro Mini i C++, tylko mikrokontroler Atmel SAMD21 i CircuitPython. Nie ma już brzęczyka piezo na nóżce GPIO, tylko głośniczek podłączony do DAC. Do tego dodany jest akcelerometr dla prostego reagowania na ruszanie robotem i to tyle. Na górze jest header z nieużywanymi pinami do wpinania ewentualnych rozszerzeń — czujników lub dodatkowych serw czy światełek. Największą innowacją jest zrezygnowanie z użycia plastikowych orczyków od serw jako elementów konstrukcyjnych nóg, a zamiast tego płytka PCB zawiera, poza układem sterującym robota także wszystkie elementy mechaniczne. Sprawia to też, że łatwo możemy wymienić fragmenty nóg na inne, zawierające czujniki lub inne elementy elektroniczne. Programowanie, jak to w CircuitPythonie, odbywa się poprzez wgranie plików z kodem w Pythonie do robota, który po podłączeniu przez USB pojawia się w komputerze jako dysk. Możliwe też jest eksperymentowanie na żywo za pomocą konsoli pythonowej dostępnej po serialu. Robot jest pod względem mechanicznym w zasadzie ukończony, jak zwykle pozostaje jego zaprogramowanie, które pomimo wykorzystania języka wysokiego poziomu zajmuje mi sporo czasu — muszę się przyznać, że to nie ze względu na trudność problemu, ale na zmęczenie dzienną pracą i ciągłe odkładanie tego na później.
  4. 1 punkt
    Cześć, mam kilka uwag do instalacji narzędzia do syntezy układów FPGA Intela - "Quartus Lite Edition" w wersji 18.1 (najnowszej). Software jest do pobrania pod adresem: http://fpgasoftware.intel.com/18.1/?edition=lite&platform=windows&download_manager=direct Gdy klikniemy link "Operating System Support" widać, że Windows 10 jest w pełni wspierany przez tą wersję Quartus'a: http://fpgasoftware.intel.com/requirements/18.1/ Aby pobrać oprogramowanie trzeba założyć darmowe konto na stronie WWW Intela. Pobrałem potrzebne mi pliki: sam "Quartus Lite Edition" oraz "Model-SIM Starter Edition", a także pliki z obsługą układów FPGA (Cyclone IV, Cyclone V, Cyclone 10LP, Max10). Sprawdziłem sumy kontrolne MD5 pobranych plików, wszystkie się zgadzały. Próbowałem uruchomić instalator programu i ten się uruchamiał, oraz zaczynał rozpakowywać pliki - niestety pod dojściu paska postępu do około 40-tu procent program przestawał odpowiadać i się zawieszał. Podejmowałem około czterech prób (czekałem długi czas na "odwieszenie się" programu - bez powodzenia). Dopiero po wyłączeniu wszystkich rodzajów ochrony w czasie rzeczywistym dla "Windows Defendera" byłem w stanie bezproblemowo zainstalować program. Gdyby ktoś z was miał podobne problemy podczas instalacji Quartus'a pod Windows 10, należy wyłączyć ochronę w czasie rzeczywistym systemu plików przez "Windows Defender". Pozdrawiam BTW: natomiast pod Linux'em Mint 18.1 Serena (Desktop Mate) instalacja "Quartus lite" 18.1przebiegła gładko bez żadnych problemów (i co dziwne zajęła o wiele mniej czasu niż pod Windows 10)
  5. 1 punkt
    Posiadając dwa futrzaki pojawiła się potrzeba zapewnienia im odpowiedniej ilości jedzenia, szczególnie podczas weekendowych wyjazdów. Przeglądając gotowe rozwiązania stwierdziłem, że najlepiej zbudować samemu mając przy tym sporo frajdy i satysfakcji. Urządzenie zostało zbudowane w oparciu o: Raspberry Pi Zero W Kamera do Raspberry Pi Serwo L360 Uchwyt na kamerę Czujnik odległości Główne cechy urządzenia Zdalna możliwość karmienia z dowolnego miejsca na świecie podgląd z ruchomej kamery ultradźwiękowy czujnik wykrywający kota oświetlenie IR pozwalające na podgląd w nocy możliwość wgrywania i odtwarzania dowolnych plików audio opcja "Text To Speach" duży 10 litrowy zbiornik na karę detekcja pustego zbiornika harmonogram automatycznego podawania karmy Pierwszym etapem i najtrudniejszym było wykonanie niezawodnego mechanizmu podającego karmę. Przetestowałem kilka rozwiązań: podajnik ślimakowy mechanizm koszykowy zasuwa podajnik tłokowy - to rozwiązanie sprawdziło się świetnie Układ podający powstał z ogólnodostępnych elementów PCV Niżej widok od tyłu pokazujący montaż tłoka Na filmie pokazana jest idea pracy mechanizmu, były to pierwsze próby ze słabszym serwomechanizmem. Ostatecznie został wymieniony na L360, a ruch obrotowy samego serwa zastąpiony ruchem "po łuku - przód, tył" co pozwoliło zapobiec ewentualnemu zakleszczeniu się karmy. Mechanizm - film Kolejnym etapem było wykonanie dodatkowej elektroniki obsługującej: 2 serwa do kamery 1 serwo podające karmę wzmacniacz audio czujnik odbiciowy IR czujnik zbliżeniowy Dodatkową wyzwaniem było przerobienie zwykłej kamery na kamerę NoIR, w tym celu zdemontowałem układ optyczny i delikatnie usunąłem filtr podczerwony. Poniżej wygląd matrycy po zdemontowaniu tych elementów. Po ponownym zamontowaniu soczewki, kamera działała już prawidłowo przy oświetleniu podczerwonym. Poniżej widok od spodu: Główne oprogramowanie sterujące sprzętem zostało napisane w pythonie, a interfejs użytkownika w PHP, na raspberry pi jest postawiony serwer www razem z mysql, tak więc jest to mały potworek do karmienia kotów. Sterowanie odbywa się przez stronę www, co wyeliminowało pisanie dedykowanej aplikacji na każdy z systemów osobno. Na koniec kilka dodatkowych zdjęć
  6. 1 punkt
    Cześć, nie chciałem wywołać wojny. Nie twierdzę, że rozwiązanie jakie przedstawiłem jest lepsze od tego, które opisuje kolega Ethanak. Zdaję sobie sprawę, że jest przekombinowane i wymaga sporo programowania, co w przypadku kolegi, który jest początkujący może stanowić problem. Potraktujmy tą propozycję, jako jedną z alternatyw i tyle. Pozdrawiam wszystkich BTW: a głównie chodziło mi o wyeliminowanie płytki z systemem operacyjnym. Próbowałem kiedyś zrobić urządzenie bezobsługowe na innym SBC (Cubieboard II+ Linux) i co jakiś czas urządzenie potrafiło się zawiesić. Musiałem dodać zewnętrzny "watchdog timer", aby było OK. Wiem, że teraz można wykorzystać wewnętrzny watchdog wbudowany w jądro Linuxa, ale nadal jest to trochę dodatkowej roboty.
  7. 1 punkt
    No to ostatnia rzecz, jaka przychodzi mi do głowy, to wgranie jakiegoś wcześniejszego firmware'u (albo jakiegoś kodu z miganiem diodą). Ale to jest bez sensu, bo problem jest z samym wgrywaniem softu, a nie z jego uruchomieniem Dziwne, żeby procek tak sobie umarł. Słaba sprawa. Ale jak procesor jest w jakiejś ludzkiej obudowie (np. TQFP), to bez problemu powinieneś wymienić
  8. 1 punkt
    Z konsoli wynika, że są problemy z weryfikacją zawartości pamięci po wgraniu firmware. Dziwne. Ja na Twoim miejscu spróbowałbym wgrać plik bin przez program ST-LINK Utility (https://www.st.com/en/development-tools/stsw-link004.html). Druga rzecz, która przychodzi mi do głowy, to uszkodzone przewody (ale to raczej mało prawdopodobne, bo programator wykrywa procka poprawnie). Jak masz podłączony programator do płytki?
  9. 1 punkt
    Skoro staramy się nie obrażać, więc i ja zapytam delikatnie. Gdzie jest poniższy fragment toru audio w schemacie Rpi zero? (źródło:https://www.raspberrypi.org/documentation/hardware/raspberrypi/schematics/rpi_SCH_3bplus_1p0_reduced.pdf) Bo o ile rozumiem zero ma takie same wyjścia audio jak Rpi 3.
  10. 1 punkt
    Jak by tu powiedzieć żeby nie obrazić... RPi 3, 2 i zero mają dokładnie takie same wyjścia audio (tyle że zero ma to wyprowadzone na listwę, a 2/3 mają takie fajne gniazdko).
  11. 1 punkt
    Hej, ja też będę trzeźwy i nawet nie będę miał kaca Nie upieram się, że moje rozwiązanie jest lepsze. Tanie RPI zero nie ma wyjścia audio i trzeba je dorobić. Musi ono mieć odpowiednią jakość. RPI 3 lub dwa (które takie wyjście posiada) jest droższe, około 160 PLN. Rozwiązanie, które przedstawiłem zawiera się w kwocie około 65 PLN. Ale trzeba się trochę pomęczyć z programem, co jest wadą przyznaję, ale za to nie trzeba tam systemu operacyjnego co według mnie jest zaletą. Pozdrawiam
  12. 1 punkt
    ale do czego masz ten plik wysyłać? przecież (przynajmniej ja to tak zrozumiałem) ma to być rpi z podłączonym głośnikiem... gdzie tam bt i android?
  13. 1 punkt
    Cześć, przeczytałem opis urządzenia i na jego podstawie dokonałem wyboru docelowego toru audio. Do tego można łatwo dodać np. Arduino z shieldem do karty uSD i tanim modułem Bluetooth do wysyłania plików. Za to cały tor audio ze wzmacniaczem (dość dobrej jakości) masz gotowy. Nie wiem, czy to jest na temat? W mojej ocenie tak, ale możesz mieć inne zdanie. Pozdrawiam
  14. 1 punkt
    a) da się b) zacząłbym od kursu Arduino na Forbocie Czy taka informacja wystarczy?
  15. 1 punkt
    moduł wzmacniacza klasy d 2x3W kosztuje jakieś dwa złote...
  16. 1 punkt
    Oryginalne arduino uno rev3 według schematu schemat arduino uno rev3 ma zamontowany rezonator ceramiczny o dokładności 0,5%, więc trudno się dziwić osiąganej dokładności. rezonator ceramiczny arduino @narbej zobacz jaki rezonator jest u Ciebie. Paradoksalnie tanie klony arduino z rezonatorem kwarcowym mogą być dokładniejsze od oryginałów.
  17. 1 punkt
    Czujnik nacisku spokojnie zastąpisz potencjometrem, a pompka to z punktu widzenia elektroniki nic więcej niż tylko zwykły silnik.
  18. 1 punkt
    Koła w momencie testów i podczas strojenia regulatora powinny być cały czas na podłożu, bez obciążenia bardzo mocno zmienia się charakter sterowanego obiektu (głównie przez masę samego robota i opory ruchu). Częstotliwość próbkowania trzeba dobrać do dynamiki obiektu. Chodzi o to, że na przebiegu przejściowym ma być co najmniej kilka próbek (ma być widoczne narastanie sygnału). U Ciebie jednej chwili czasowej jest 0rad/s, a już w następnej chwili czasowej jest 100rad/s. Tak nie może być. Ale zanim zaczniesz kombinować z częstotliwością próbkowania, to zrób test z robotem na kołach, przebieg będzie dużo wolniejszy (zależy od masy robota i silników, ale spodziewałbym się, że zbocze będzie trwało kilkaset ms). Aaaaa, nie zauważyłem, że omega masz w stopniach/s, a nie rad/s. IMO za mała prędkość jest uzyskiwana. Generalnie tutaj pierwszym krokiem jest ustalenie, jaka ma być amplituda wartości wejściowej. Teraz wybrałeś 9%. Jakiś konkretny powód takiego wyboru? Ta amplituda powinna być dobrana do docelowego punktu pracy regulatora, to znaczy określasz sobie, jaka mniej więcej jest Twoja przewidywana prędkość jazdy robota (np. v=0.5m/s). Z kinematyki odwrotnej przeliczasz to na prędkości kół robota. I wtedy na podstawie charakterystyki statycznej (albo metodą prób i błędów) wyznaczasz, jaki PWM powinien być (tzn. taka przybliżona wartość amplitudy skoku). I zbierasz sobie dane dla takiego skoku PWM. EDIT: zakres 0-100 dla PWM na razie może być, chociaż z moich doświadczeń wynika, że w czasie jazdy, PWM zmienia się w zakresie od około 15% do 25%, więc na dalszym etapie możesz zwiększyć zakres PWM na 0-1000, żeby mieć więcej wartości w tym zakresie 15% do 25% (ten zakres zależy od wielu parametrów: silników, napięcia zasilania, masy robota itd.)
  19. 1 punkt
    Podstawowe pytanie to takie, czy zbieranie danych do modelowania silnika robiłeś, gdy robot stał na podłożu? Czy raczej koła kręciły się w powietrzu? Druga sprawa to ta odpowiedź skokowa mocno mi się nie podoba: 1) Zbyt mała częstotliwość próbkowania (w jeden okres próbkowania jest przejście od 0rad/s do praktycznie prędkości ustalonej, bez sensu) 2) Czemu najmniejsza zmiana mierzonej prędkości kątowej (rozdzielczość) to aż 20rad/s?
  20. 1 punkt
    Zgodzę się z @narbej, że takie poradniki w formie „zrób to sam” są niezastąpionym źródłem wiedzy dla osób początkujących. Trudno też nie przyznać racji Trakerowi, który staje w obronie czasu osób bardziej doświadczonych. Spróbuję taki poradnik popełnić. Sumo niskobudżetowy Projekt realizowali uczniowie klas pierwszych LO PB w Białymstoku w ramach zajęć z robotyki. Po kilku godzinach z podstaw programowania (miganie diodami, przyciski, serwo) przyszedł czas na pierwszego robota. Były to roboty sumo o wymiarach 15cm x 15cm. Projekt realizowany był w czasie 3 miesięcy (2 godziny tygodniowo). Założenia i cele Ograniczenie wiedzy teoretycznej do minimum. Oswojenie się z lutownicą. Zbudowanie i zaprogramowanie robota, którego koszt nie przekroczy 120 zł. Potrzebne części i materiały Zasilanie: Aby uprościć do minimum rozległy temat zasilania, zarówno silniki jak i elektronika zasilana była z 4 baterii AAA. Baterie umieszczone zostały w koszyczku z wyłącznikiem. https://abc-rc.pl/product-pol-8524-Koszyk-na-baterie-4xAAA-1-5V-koszyczek-z-pokrywka-i-wylacznikiem.html Podwozie robota: https://botland.com.pl/pl/podwozia-robotow/7243-chassis-round-2wd-2-kolowe-podwozie-robota-z-napedem.html?search_query=podwozie&results=80 Czujniki: Za jego pomocą szukamy przeciwnika: https://botland.com.pl/pl/ultradzwiekowe-czujniki-odleglosci/1420-ultradzwiekowy-czujnik-odleglosci-hc-sr04-2-200cm.html?search_query=czujnik+odleglosci&results=284 Aby robot wiedział, czy jest jeszcze na ringu użyjemy tych czujników przynajmniej jeden, ale proponuję cztery: https://botland.com.pl/pl/czujniki-odbiciowe/8244-czujnik-odleglosci-odbiciowy-tcrt5000-33v5v-8mm.html?search_query=czujnik+odbiciowy&results=88 Sterownik silników: https://botland.com.pl/pl/sterowniki-silnikow-moduly/10666-sparkfun-tb6612fng-dwukanalowy-sterownik-silnikow-15v12a-ze-zlaczami.html?search_query=sterownik+silnikow&results=624 Arduino: https://abc-rc.pl/product-pol-9588-NANO-V3-0-16MHz-USB-ATmega328P-CH340-Klon-piny-do-zalutowania-kompatybilny-z-Arduino.html – może i klon ale cena super. Inne: płytka uniwersalna - https://botland.com.pl/pl/plytki-uniwersalne/2745-plytka-uniwersalna-dwustronna-50x70mm.html?search_query=plytka+uniwersalna&results=45 goldpiny żeńskie - https://botland.com.pl/pl/gniazda-szpilkowe-goldpin/1103-listwa-zenska-goldpin-1x40-raster-254mm.html?search_query=goldpin&results=928 – potrzebujemy dwie sztuki Etap pierwszy – podwozie Myślę, że ze złożeniem tej konstrukcji nikt nie będzie miał problemów. W zestawie znajdują się wszystkie potrzebne śrubki i dystanse. Przed przykręceniem silników proponuję przylutować do nich przewody o długości około 15 cm. Można, to zrobić później, ale utrudnione jest dojście lutownicą. W naszych robotach zrezygnowaliśmy z jednego koła obrotowego, zastępując je wydrukowanym pługiem. Jeśli nie macie dostępu do drukarki to taki pług można zrobić wykorzystując na przykład zawias i płaskownik aluminiowy. Etap drugi – sterownik silnika i Arduino Zaczynamy od przylutowania goldpinów męskich do Arduino i sterownika silników. Tniemy goldiny żeńskie tak aby uzyskać dwie listwy po 15 i dwie po 8 sztuk. Wpinamy z Arduino i sterownik silników, a następnie lutujemy do płytki uniwersalnej. W tym miejscu warto zastanowić się nad rozmieszczeniem tych dwóch elementów na płytce. Pod uwagę trzeba wziąć piny Arduino wykorzystane przez sterownik. Do sterowania pierwszym silnikiem służą wejścia PWMA, AI1 oraz AI2, natomiast drugi silnik to PWMB, BI1 i BI2. O tym, że PWM posłuży do regulacji prędkości i na których pinach Arduino mamy taką możliwość nie muszę pisać bo wszyscy migaliśmy diodami przerabiając kurs Forbota. Proponuję następujące połączenie: Taki wybór pinów pozwoli oba elementy umieścić na płytce uniwersalnej obok siebie i połączenie ich bez użycia przewodów, po prostu łącząc je cyną. Dlaczego korzystamy z goldpinów i płytki uniwersalnej? Powody są dwa. Gdy znudzi się zabawa robotem wyciągniemy Arduino i sterownik do kolejnego projektu. W przypadku awarii łatwo podmienić zepsuty element. Kolejny pin sterownika to STBY – służy do włączenia (stan wysoki) i wyłączenia (stan niski) sterownika. Można go połączyć z pinem Arduino i uruchamiać programowo, ale my połączymy ten pin z 5V. Po włączeniu robota sterownik będzie od razu działał. Pin VM to zasilanie silników można podać napięcie do 12V, natomiast VCC to zasilanie modułu sterownika wymaga 5V. W naszym robocie elektronika i silniki zasilane będą bezpośrednio z koszyka z bateriami więc łączymy te piny ze sobą i z 5V na Arduino. Ostatnie połączenie to GND na sterowniku i Arduino. Wystarczy połączyć tylko jedno. Silniki przylutowujemy do wyjść sterownika A01 i A02 (jeden silnik) B01 i B02(drugi silnik). Etap trzeci – zasilanie Tu będzie najprościej jak się da. Przewód czerwony od koszyczka przylutowujemy do płytki uniwersalnej i łączymy do 5V na Arduino ( które połączone jest z STBY, VM, VCC). Natomiast czarny przewód łączymy z GND bez różnicy czy sterownik czy Arduino. Etap czwarty – test silników Program do sprawdzenia pierwszego silnika: Jeśli wszystko działa, to testujemy zmianę prędkości. Powtarzamy wszystko dla drugiego silnika. Uczymy robota jeździć po obwodzie kwadratu, a następnie robić ósemki. Etap piąty – czujnik odległości Czujnik HC-SR04 składa się z nadajnika i odbiornika ultradźwięków. Aby go uruchomić na pin Trig przez 10 mikrosekund podajemy stan wysoki. Więcej o czujniku w kursie Forbota: https://forbot.pl/blog/kurs-arduino-czujnik-odleglosci-hc-sr04-funkcje-id4290 . Do połączenia czujnika potrzebujemy goldpinów żeńskich (4 sztuki). Łączymy czujnik wg tabeli: Program do czujnika: Etap szósty – czujnik odbiciowy Czujnik TCRT5000 ma cztery wyprowadzenia, my wykorzystamy trzy z nich. Oczywiście zasilanie VCC i GND łączymy z odpowiednimi pinami na płytce uniwersalnej. Pozostają dwa piny D0 i A0. Można wybrać czy chcemy z czujnika uzyskać sygnał cyfrowy (D0) czy analogowy (A0). My podłączymy czujnik z pinem analogowym. Łączymy więc A3 (Arduino) z A0 (czujnik). Sprawdzamy czy czujnik działa prostym programem: Analogicznie sprawdzamy drugi, trzeci i czwarty czujnik (oczywiście każdy czujnik do innego pinu np. A1, A2, A4). Jeśli wszystko działa, pozostaje tylko złożyć wszystkie napisane programiki w jedną całość i testować robota w boju. Nie dam gotowca, ale na poniższych filmikach widać, że się da. Powodzenia. Skrócona wersja tego poradnika: https://lopbrobo.wixsite.com/robotyka/project05 Walki naszych robotów: https://www.youtube.com/watch?v=kFH3r2OmNXw https://www.youtube.com/watch?time_continue=2&v=jIwWJXGZW9o https://www.youtube.com/watch?v=YKbCYfTKEVU https://www.youtube.com/watch?v=RrMoUOdVV6c
  21. 1 punkt
    Jeśli chodzi o rezystory to w zasadzie nie ma znaczenia z której strony diody je postawisz. Zadaniem rezystora jest "dławienie" natężenia prądu. Wyobraź sobie że na tej płytce masz 5 obwodów po jednym na diodę. Wkładając rezystor do takiej pętli sprawiasz, że zmniejsza się "siła" prądu płynąca przez diodę z konkretnej pętli. Autorzy ćwiczenia mieli na pewno kilka celów w stworzeniu tego ćwiczenia które przynajmniej ja wywnioskowałem. jeśli chodzi o lutowanie jako takie- to ćwiczenie lutowania w "ścisku" i określanie kolejności wlutowywanych elementów. Jeśli chodzi o część teoretyczną to pokazanie jak wygląda układ/ ciąg różnie połączonych rezystorów i przećwiczenie jaki liczyć ich sumaryczną rezystancję. Z praktycznego punktu widzenia istnieją rezystory o dużych oporach i można by zastosować taką krowę ale są sytuacje kiedy lepiej użyć ciągu maluszków- kiedy mamy mało miejsca na płytce. Albo kiedy szukamy jakiejś nietypowej rezystancji dla naszego układu.
  22. 1 punkt
    Niestety - też potrzebuję czegoś podobnego i nie bardzo mogę znaleźć (nie interesuje mnie przesyłka z Chin za trzy miesiące ani kupienie w USA modułu za 5 USD i płacenie 25 za przesyłkę). Kombinowałem kiedy z TDA1543 ale (pomijając fakt że też ciężko to dostać) nigdy mi nie wyszło. Ale może ja coś spaprałem? W każdym razie jest to jakaś droga.
  23. 1 punkt
    @Treker Dziękuje szykuję już kolejne projekty
  24. 1 punkt
    Dziękuję za porady. Faktycznie, sterowanie jasnością przez OE działa bez zarzutu, kondensatory wymienię. W pierwszym poście jest link do filmiku na YT, który pokazuje jak to obecnie wygląda w działaniu. Załączam jeszcze zdjęcia: Faktycznie, pobór prądu przydałoby się zmniejszyc, w tej chwili bez zasilacza nie ma opcji, zasilanie bateryjne dla zegarka byłoby dużo lepsze. Pytanie czy jeśli nigdy nie miałem lutownicy w ręku to czy dam radę z LEDami SMD? Obniżenie zużycia energii przez kontroler też w takim razie sprawdzę. Jeśli chodzi o docelowy wygląd to jeszcze tego do końca nie przemyślałem, ale raczej nie chciałbym tego wrzucać do zwykłej plastikowej obudowy. Podoba mi się na przykład taki projekt: Alternatywnie zastanawiałem się czy jestem temu w stanie nadać steampunkowy wygląd.
  25. 1 punkt
    Niniejszy artykuł będzie dotyczył programowania. Prawdopodobnie będzie się jednak zdecydowanie różnił od zdecydowanej większości materiałów dotyczących programowania z którymi mogliście mieć styczność. Nie wyniesiecie z niego żadnej wiedzy dotyczącej konkretnego procesora czy modułu. Co więcej, kodu będzie tutaj bardzo mało. Aspekty, które mam zamiar poruszyć są tak naprawdę podstawą programowania. Odnoszą się nie tylko do języka C i systemów wbudowanych, ale do programowania w ogóle. [blog]https://forbot.pl/blog/sekrety-profesjonalnego-programowania-id512[/blog]
Tablica liderów jest ustawiona na Warszawa/GMT+01:00
×