Skocz do zawartości

Przeszukaj forum

Pokazywanie wyników dla tagów 'arduino'.

  • Szukaj wg tagów

    Wpisz tagi, oddzielając przecinkami.
  • Szukaj wg autora

Typ zawartości


Kategorie forum

  • Elektronika i programowanie
    • Elektronika
    • Arduino i ESP
    • Mikrokontrolery
    • Raspberry Pi
    • Inne komputery jednopłytkowe
    • Układy programowalne
    • Programowanie
    • Zasilanie
  • Artykuły, projekty, DIY
    • Artykuły redakcji (blog)
    • Artykuły użytkowników
    • Projekty - roboty
    • Projekty - DIY
    • Projekty - DIY (początkujący)
    • Projekty - w budowie (worklogi)
    • Wiadomości
  • Pozostałe
    • Oprogramowanie CAD
    • Druk 3D
    • Napędy
    • Mechanika
    • Zawody/Konkursy/Wydarzenia
    • Sprzedam/Kupię/Zamienię/Praca
    • Inne
  • Ogólne
    • Ogłoszenia organizacyjne
    • Dyskusje o FORBOT.pl
    • Na luzie
    • Kosz

Szukaj wyników w...

Znajdź wyniki, które zawierają...


Data utworzenia

  • Rozpocznij

    Koniec


Ostatnia aktualizacja

  • Rozpocznij

    Koniec


Filtruj po ilości...

Data dołączenia

  • Rozpocznij

    Koniec


Grupa


Znaleziono 326 wyników

  1. Cześć, pewnego razu na spotkaniu ze znajomymi okazało się, że na hasło „polej” nikt nie zareagował. Wtedy zrodził się pomysł, aby zaradzić takim przykrym sytuacjom w przyszłości postanowiłem stworzyć robota do nalewania alkoholi wysokoprocentowych. Z założenia robot miał nalewać alkohol do każdego kieliszka jaki się postawi oraz miał być zasilany przy pomocy baterii. Pierwsze prototypy zawierały prostą elektronikę opartą na czujnikach i przekaźnikach – jestem laikiem oraz samoukiem w kwestiach elektroniki. Projekty nie spełniały oczekiwań, ponieważ w normalnym użytkowaniu zawodziły. Około rok temu natknąłem się na Arduino i zacząłem pogłębiać swoją wiedzę w tym kierunku. Wydruki 3D wykonałem na swojej drukarce. Robot spełnił założenia. Poprzez zastosowanie czujnika ultradźwiękowego jest w stanie nalać do każdego kieliszka, a potencjometrem można ustawić ilość nalewanej wódki w zakresie około 10 - 50ml. Do zasilania użyłem 8 akumulatorów AA. Wykonałem obudowę z kilku elementów żeby mieć lepszy dostęp do podzespołów. Rynienka na pompce została stworzona po zalaniu układu... z wyciekiem sobie poradziłem ale dla pewności została Części których użyłem do budowy: Płytka stykowa 170 pól - 1 szt Stabilizator L7805CV 5V 1,5A – 1 szt Ultradźwiękowy czujnik odległości HC-SR04 2-200cm – 1szt Potencjometr liniowy 1K – 1 szt Wtyk DC 2,1/5,5mm z zaciskami skręcanymi – 1 szt Pompa membranowa - silnik R385+ - 12V - 3W - mini pompa wodna – 1szt Moduł sterownika L298N do silników DC – 1 szt Przełącznik kołyskowy 15x10mm – 1 szt Koszyk na baterie 8xAA (R6) – 1 szt Arduino Nano – 1 szt Uniwersalny Proto Shield do Arduino Nano – 1 szt Serwo TowerPro MG-995 – 1szt. Zawór zwrotny – 2szt. Moduł dioda LED RGB 5050 wspólna katoda – 1 szt. Magnesy neodymowe 10x5 – 8 szt Przycisk monostabilny – 1 szt. Rurka sylikonowa – 0,5m Rezystory Przewody połączeniowe Aby "polewacz" był mobilny jego elementy zaprojektowałem tak, aby zmieściły się w drewnianej skrzyni 30x20x15cm.
  2. Witam, ostatnio z racji na nadmiar wolnego czasu postanowiłem zrobić coś dla odmiany przydatnego, a jako że jakiś czas temu zainteresowało mnie ASG postanowiłem pójść w tym kierunku i początkowo pomysł padł na zrobienie atrapy bomby, która oprócz klasycznego trybu podkładania miała służyć za punkt do przejmowania, ale finalnie skupiłem się tylko na punkcie do przejmowania. Jako że nie jest to jeszcze ostateczna wersja projektu to nie opiszę tutaj jak działa kod, ale pokaże jak takie coś zmontować. Wszelkie linki i pliki będą znajdować się na końcu. Sposób działania: Przy podłączeni całości do prądu zapalają się wszystkie diody na czerwono i jest to czas na przybliżenie kart drużyny czerwonej, gdy już się to zrobi należy przyłożyć główny tag po czym sytuacja się powtarza, ale dla drużyny niebieskiej. po ponownym zeskanowaniu głównego taga zaczyna się właściwy tryb, który działa tak że gdy przykłada się kartę danej drużyny zapalają się po kolej diody, w przypadku gdy przyłożona zostanie karta przeciwnej drużyny diody zaczną gasnąć do momentu gdy zgasną wszystkie, i wtedy ponownie zaczną się zapalać, ale już w kolorze drużyny do której należy karta gdy jakiejś z drużyn uda się zapalić wszystkie diody, odpala się prosta "Animacja" na końcu której diody zapalają się na kolor wygranego do momentu zresetowania całości głównym tagiem. Instrukcja wykonania: Na początku musimy połączyć wszystkie komponenty według poniższego schematu: Taśma led: 5V <-> 5V GND <-> Gnd Din <-> D8 RC522: 3,3V <-> 3,3V RST <-> D9 GND <-> Gnd IRQ <-> Nie podłączony MISO <-> D12 MOSI <-> D11 SCK <-> D13 SDA <-> D10 Po podłączeniu wszystkiego musimy jeszcze zainstalować Arduino IDE z tej strony oraz zainstalować dwie biblioteki załączone na dole artykułu w sposób pokazany tutaj. Gdy mamy zainstalowane środowisko ide z bibliotekami, należy pobrać plik kod załączony na dole, po rozpakowaniu go wchodzimy w plik cardNumer.ino i wgrywamy go na płytkę, następnie klikając ctrl + shift + m uruchamiamy monitor szeregowy, gdy to już zrobimy przykładamy kartę bądź tag który ma być tagiem głównym do czytnika oraz zapamiętujemy numer wyświetlony na monitorze teraz należy uruchomić drugi program i skupić się na poniższym fragmencie // Te wartości musisz dostosować do włąsnych komponentów numPix to liczba diod, pTime to czas potrzebny do przejęcia punktu,master to numer karty głównej int numPix = 12; int pTime = 15; int master = 820; W miejsce liczby 12 wpisujemy liczbę diod która została podłączona do Arduino, w miejsce 15 wpisujemy czas potrzebny do przejęcia w sekundach, a w miejsce 820 wpisujemy numer głównego tagu który otrzymaliśmy wcześniej w monitorze. Teraz wystarczy wszystko wgrać na płytkę i powinno wszystko działać zasilane z usb. Na koniec wypadało by wszystko umieścić w obudowie. Potrzebne komponenty: Dowolne Arduino NANO moduł Rfid RC522 taśma lub pierścień ledów rgb adresowanych ja korzystam z tych Pierścień 8xLed przewody żeńsko - żeńskie przynajmniej trzy karty RFID Inne potrzebne rzeczy: Arduino ide z zainstalowanymi bibliotekami Adifrut neopixel i rfid lutownica Kod: kod.rar Biblioteki: Adafruit_NeoPixel.zip RFID.zip
  3. Witam chciał bym zaprezentować , drugą "lepszą wersję " kierownicy do komputera opartej na Arduino Leonardo. Film pokazujący jak dziala kierownica i Force Feedback: Jest to wersja elektronicznie taka sama jak poprzednia, wszystko opisane wcześniej link do poprzedniej tutaj : W tej wersji zmieniłem obudowę na znacznie mniejszą , lżejszą , łatwa do zamocowania przy stole, biurku itp. Obudowa została wykorzystana z kupionej przeze mnie za 50 zł kierownicy Logitech Formula Force Ex o obrocie 180* i Force Feedback. Dzięki temu że kierownica miała już przekładnie i ogólnie jest prosta w budowie , bardzo łatwo i tanio można ją przerobić tak aby miala kąt skrętu taki jak ustawimy sobie w programie np 720*,900* i Force Feedback do tego kąta obrotu. Tutaj link do gotowego software na Arduino Leonardo , od razu mówię że na Arduino Uno nie zadziała , link do pobrania w opisie filmu: Ja zrobiłem to tak: Na początku przez środek starej przekładni , dodałem pręt gwintowany o średnicy 10mm ,do którego z jednej strony mocowana jest kierownica, a z drugiej enkoder z drukarki canon ip2770. Aby zamocować enkoder musiałem wyciąć dziure jak widać na zdjęciu poniżej : Aby enkoder nie tarł o blat , dodałem plastikowe podkładki : A tak wygląda już gotowa sama kierownica: Wyjścia enkodera i do silnika , zostały przerobione na standardowych wyjściach które były w kierownicy i wchodzą do dodatkowej skrzynki w której znajduje się reszta elektroniki czyli w sumie tylko Arduino Leonardo i sterownik silników BTS7960: Jeszcze pedal box został przerobiony na taki aby miał 3 jednakowe pedały więc musiałem dokupić drugie takie same i wyciąć jeden i dokleić tak jak na zcjeciach . Schemat podłączenia wszystkiego w linku do wcześniejszej wersji. Efekt końcowy (pedały jeszcze stare): To by było na tyle , jeśli czegoś ktoś potrzebuje , śmiało pisać
  4. Mam taki problem, chciałabym odczytywać dane z czujnika dźwięku podłączonego do jednego komputera, na drugim komputerze podłączonym w tej samej sieci. Sieć światłowodowa, żadnej sieci wifi nie ma w budynku. Mam do dyspozycji arduino Uno wifi lun arduino 101, zakupiłam najprostszy czujnik dźwięku. Nie zależy mi na słuchaniu tego dźwięku, tylko odczytywaniu na wykresie zmian natężenia (częstotliwości dźwięku). W sumie mogłoby mnie nawet informować tylko o zmianie (byłby to dla mnie sygnał, że na aparaturze, którą obsługuję włączył się alarm). Wiem jak zrobić sobie układ pomiarowy z czujnikiem dźwięku i zapisywać dane na jednym komputerze. Nie mam pojęcia jak te dane przesłać po necie na drugi komputer? Nie wiem od czego zacząć? Pomożecie?
  5. cześć Mam taki problem , mianowicie z kodem do arduino. Jeżeli do przekaźnika nie jest podłaczony żaden odbiornik to zostaje włączony lub wyłączony, jeżeli podłącze odbiornik to przekaźnik zawsze ustawi sie w takiej pozycji ze odbiornik nie świeci nie wazne jak go podłacze. chciał bym uzyskac efekt po naciśnieciu guzika 1 przesterowuje sie przekaznik 1 i zostaje w styku tak długo do puki nie wcisnę przycisku 2 raz. Chodzi tu o oświetlenie w suficie i włączanie poszczególnych lamp. Prosze o pomoc , walczę z tym już troszkę.
  6. Więc jestem zupełnie świeży w sprawach arduino jednak już mam kilka fajnych pomysłów jak mógłbym je wykorzystać. Zapoznałem się już jako tako z programowaniem ale dalej kuleje w kwestii sprzętu i urządzeń jakie można wykorzystać z arduino. Do mojego pierwszego większego projektu potrzebowałbym silnika o momencie obrotowym 9.5 lub 10. Przeszukując Bootland zdałem sobie sprawę że taki silnik nie jest polecany do budowy robotów oraz ma napięcie zasilające 12 lub 6V. Tutaj pojawia się moje pytanie. Czy istnieje silnik który spełni założenie dużego momentu obrotowego jednocześnie będąc kompatybilnym z arduino czy może istnieje jakiś sposób na sterowanie większym silnikiem ? Może można jakoś obejść napięcie zasilania ? Za każdą pomoc będę wdzięczny i mam nadzieję że znajdę na tym forum pomoc :).
  7. Trochę cheat gadżet przede wszystkim dla licealistów którzy są leniwi tak jak ja. Dużo czasu w trakcie liczenia zadań zajmują same operacje matematyczne przy których także łatwo się pomylić. Najprostszym rozwiązaniem jest kalkulator naukowy lecz są one zabronione w szkole oraz na maturze. Stworzyłem więc własny kalkulator który tylko z pozoru wygląda jak prosty lecz ma ukryte funkcje. Oczywiście nie wygląda on idealnie ale to kwestia wydrukowania obudowy oraz zmiany klawiatury. Nawet użytkownik nie zapoznany z kalkulatorem nie odkryje specjalnych funkcji ponieważ wymagają one wciśnięcia specjalnej konfiguracji klawiszy. Kalkulator posiada takie funkcje jak Dodawanie Mnożenie Dzielenie Odejmowanie Obliczanie dowolnych potęg Obliczanie pierwiastka dowolnegos stopnia Obliczanie pierwiastków funkcji kwadratowej Obliczanie wszystkich funkcji trygomoterycznych Obliczanie logarytmu o dowolnej podstawie Całość zaprogramowana jest na arduino nano.
  8. Dzień dobry, na wstępie opiszę z grubsza założenia projektu - w przyszłości pracy inżynierskiej. Priorytetowym zadaniem, jakie ma stanąć przed moim robotem jest okrążenie kampusu mojej uczelni. Teren nie jest prosty, robot będzie miał do pokonania wyboiste drogi(częściowo przejazd przez las), krawężniki, trawniki i parkingi. Sterowanie ma być ręczne, realizowane zdalnie, za pośrednictwem internetu. Okrążenie to około 3km, zakładany czas przejazdu to niecała godzina. Konstrukcja opiera się na ramie zbudowanej z profili alu, o wymiarach 400x600. Do ramy będzie przymocowane większość osprzętu robota. Zawieszenie niezależne, 4 wahacze wzdłużne zawieszone na amortyzatorach do samochodów rc. Jako napęd 4 silniki wraz z przekładniami od samochodów dla dzieci. Koła 12 cali od wózka dziecięcego Część elektroniczna składa się z: Raspberry Pi 3, ICSTATION UNO, 4xmostek H VNH2SP30, przetwornica napięcia 5v USB, czujniki odległości(jeszcze nie wybrane), kamera(prawdopodobnie internetowa usb) Tyle z założeń, robot jest już w zaawansowanej fazie budowy. Zaczęło się od projektu w semestrze zimowym 2019/2020, projekt został zaliczony, jego dokumentacja tutaj(dokumentacja), a filmik zaliczeniowy z pierwszej jazdy terenowej poniżej Na tej fazie robot całą elektronikę miał zamontowaną "na taśmę", ze względu na zamówienie niewłaściwych kołków do pcb, a termin gonił. Obecnie robot jest rozebrany z całej elektroniki, powstaje miejsce w którym pojawią się akumulatory i elektronika(puszka elektryczna), osobny wyłącznik awaryjny oraz doprowadzenie kabli do silników. Poniższe zdjęcie przedstawia obecny stan robota: Aktualnie czekam na osłony na silniki wydrukowane w 3d, po zamontowaniu wszystkiego z zewnątrz będę mógł przejść do środka. W środku planuję zrobić ramkę z kątownika alu 20x20, w której będą miejsca na akumulatory(dwa akumulatory umieszczone po bokach), a pomiędzy nimi ma zostać umieszczona elektronika w sposób warstwowy(poziom 1: mostki H, poziom 2: ICSTATION UNO, poziom 3: Raspberry Pi 3). Poza tymi warstwami muszę znaleźć jeszcze miejsce na przetwornicę napięcia i mobilny ruter wifi. Całą ramkę chcę umieścić na gąbce, która by amortyzowała wstrząsy, tak samo zabezpieczyłbym moduł od góry. Dziękuję za uwagę, postępy i pytania będę starał się wrzucać tu na bieżąco.
  9. Witam Elektroniką zajmuję się od dwóch miesięcy, kiedy to po raz pierwszy zaświeciłem diodą z kursu: FORBOT - podstawy elektroniki - zestaw elementów + kurs ON-LINE. Kurs tak mi się spodobał że ukończyłem go w dwa dni i kupiłem 4 kolejne: FORBOT - podstawy elektroniki 2 - zestaw elementów + kurs ON-LINE, FORBOT - technika cyfrowa - zestaw elementów + kurs ON-LINE, FORBOT - zestaw do nauki lutowania elementów THT oraz FORBOT - zestaw do kursu podstaw Arduino + gadżety i Box (wersja PLUS). Jak tylko je połknąłem pojawił mi się w głowie pomysł na pierwszy projekt którym chciałbym się Wami podzielić. Projekt został oparty o Arduino Pro Mini i jest to Szachownica która gra za mną w szachy Bardzo zależało mi żeby była to tradycyjna duża drewniana szachownica, którą będę się mógł cieszyć przez lata. Całość prezentuje się tak: Najpierw należało zacząć od wykrywania pozycji bierek. Do tego zdecydowałem się (być może nieco pochopnie) na użycie małego ładnego zgrabnego komponentu o nazwie sg-2bc. SG-2BC to nic innego jak dioda IR i fototranzystor w jednej małej (4mm średnicy) ceramicznej obudowie. Ma jednak jedną wadę w zastosowaniu do którego go potrzebowałem - jego fototranzystor jest bardzo wrażliwy na światło słoneczne. Musiałem więc odróżnić jakoś światło słoneczne od światła odbitego diody IR. Zaprojektowałem w tym celu prosty obwód oparty o ne555, który generuje sygnał PWM o częstotliwości około 32kHz i wypełnieniu 33%. Układ ten daje sygnał na diodę IR oraz sprawdza za pomocą 3 komparatorów (dwa lm393 - 2 komparatory na układ) i filtra RC czy odebrał sygnał o odpowiedniej charakterystyce po stronie fototranzystora (czyli na polu stoi bierka). Na wyjściu wystawia stan wysoki jeśli to mu się udało. W ten sposób powstał mój pierwszy w życiu projekt płytki drukowanej Oczywiście zdarzyło mi się wlutować jeden z komparatorów odwrotnie a potem to poprawiać. I tu uwaga do Forbota: w kursie lutowania brakuje informacji i praktyki w wylutowywaniu układów scalonych - na prawdę by się przydało! Jakoś to jednak poszło i efekt był taki: Z racji uśredniania na filtrze RC który jest częścią obwodu czas odpowiedzi na sygnał to 3ms. Oczywiście nie chciałem takiego obwodu powtarzać dla każdego testowanego pola szachownicy, zastosowałem więc multipleksowanie - obwód załączany jest tranzystorami kolejno do wszystkich czujników, co jak łatwo policzyć daje <200ms na zeskanowanie stanu szachownicy (uwzględniając szybkość I2C i czasy przełączania w praktyce są to 3 pełne skany na sekundę - wystarcza). Skoro już umiałem testować pojedyncze pole, nadszedł czas na zaprojektowanie płytek do samej szachownicy. Tu użyłem ekspandera wyprowadzeń MCP23017 oraz demultiplexera MC74HC154. Skoro i tak nie mogę testować więcej niż jednego pola na raz, demultiplexer zapewnił mi rozsądne wykorzystanie wyprowadzeń MCP23017 - dzięki temu wystarczył jeden ekspander na 16 pól szachownicy (każde ma jedną diodę świecącą i jeden czujnik wspomniany wczesniej SG-2BC). Prototyp tego rozwiązania wyglądał następująco: Projekt płytki pokrywającej 16 pól (przed ułożeniem ścieżek, wizualizacja ze ścieżkami, gotowe płytki): Na całą szachownicę użyłem 4 takich samych równolegle połączonych płytek: Czemu nie dwóch - po jednej na stronę szachownicy? Z tej oto przyczyny że darmowa licencja DIPTrace pozwala na 300 padów na płytkę Po polutowaniu i zmontowaniu całości otrzymałem taki oto efekt: W montażu najtrudniejsze okazało się jednoczesne wcelowanie 32-ma okrągłymi elementami w wywiercone otwory: Aby tego dokonać ułatwić płytki umieściłem na mosiężnych dystansach 1cm przyklejonych klejem na ciepło do wewnętrznej strony szachownicy, przewlokłem diody i czujniki przez płytkę, zakleilłem otwory w szachownicy od jej frontowej strony przezroczystą taśmą klejącą i manewrowałem cierpliwie elementami oraz samą płytkę aż wskoczyły na swoje miejsce. Dopiero wtedy płytkę przykręcałem a nóżki elementów lutowałem. Pozostało to oprogramować Jako że programuję od ponad 20 lat i do tej pory nie pisałem jeszcze enginu szachów, postanowiłem nie używać „cudzego” i napisać własny. Biorąc pod uwagę ograniczenia Arduino było to naprawdę fajnym wyzwaniem i zajęło mi około 2 tygodnie. Zaimplementowałem mini-max z przycinaniem alpha-beta i iteracyjnym pogłębianiem. Engine nie alokuje żadnej pamięci dynamicznie, a ze stosu bierze nie więcej niż 600B, co uważam za swój sukces. Ostatecznie wygrywa nie tylko ze mną (żaden ze mnie wybitny szachista), ale i z Stockfishem na poziomie 3, z czego jestem dumny Ostateczny kształt szachownicy w działaniu wygląda tak: Szachownica rozpoznaje ustawienie początkowe i sygnalizuje to spiralnym zaświeceniem wszystkich diod. Grę rozpoczynamy białymi lub sygnalizujemy szachownicy ze chcemy grać czarnymi poprzez podniesienie na chwile czarnego króla. Po podniesieniu bierki gracza, szachownica pokazuje dostępne pola na które figura ta może się ruszyć umieszczonymi w ich rogach diodami (mój niespełna 6-cio letni syn bardzo to docenia). Ruch szachownicy również sygnalizowany jest diodami i szachownica czeka aż zostanie wykonany. Dodatkowe dwie małe diody na krawędzi szachownicy sygnalizują po czyjej stronie jest ruch. Zdjęcie dwóch własnych bierek z szachownicy jest dla niej gestem do zapisania stanu gry do EEPROMU. Po tym można ją wyłączyć i wznowić grę np. za tydzień. Po włączeniu szachownica czyta stan z EEPROMU i czeka aż jeden ze stanów (początkowy lub zapisany) zostanie ustawiony na szachownicy. Jeśli nie była w tym czasie składana, a bierki nie były ściągane - grę można kontynuować natychmiast po włączeniu. Szachownicę można normalnie składać, niestety nie mieszczą się już do niej szachy Mam nadzieje mój pierwszy projekt się Wam spodobał, ja jeszcze wciąż się nim cieszę jak dziecko. Chciałbym przy tym podziękować Forbotowi za naprawdę świetne kursy które nie tylko dały mi niezbędną w realizacji wiedzę, ale też zainspirowały to zrobienia tejże zabawki. Pozdrawiam, Okjak
  10. Cześć, przymierzam się do projektu inteligentnego domu, mam w głowie zarys planu tego co chcę osiągnąć, ale ze względu na niewielkie doświadczenie z elektroniką będę bardzo wdzięczny za wszelkie rady i sugestie. Ogólna koncepcja jest taka: Serwer na Raspberry Pi zbierający dane z czujników i wysyłający komendy do elementów wykonawczych. Czujniki i elementy wykonawcze rozproszone po całym mieszkaniu (i poza nim ) W pierwszej kolejności chciałbym zacząć od kilku prostych czujników i łączenia się do nich z mojego komputera (na razie bez serwera na malince). Myślałem o tym żeby czujniki wyposażać w esp8266 i łączyć się do nich po HTTP. W przyszłości, jak powstałby serwer na Raspberry Pi, to mógłby odpytywać czujniki i zbierać dane. Jeśli chodzi o zasilanie czujników to myślałem o zasilaniu bateryjnym/akumulatorowym. Tu pojawia się pierwszy problem, bo słyszałem, że esp potrzebuje dość sporo energii do zasilania. Myślicie, że taki układ ma prawo działać przez dłuższy czas? A może zamiast esp powinienem spróbować czegoś innego? Z góry dzięki za wszystkie rady
  11. Witam, Właśnie rusza projekt, który ma umożliwiać zdalne nauczanie zagadnień z mechatroniki i przetwarzania sygnałów. Idea jest taka, aby każdy uczeń/student miał w domu swoje własne stanowisko ze szkoły, sam rejestrował dane, a następnie, żeby nauczył się je przetwarzać w chmurze. Na chwilę obecną szukane są pomysły, np.: 1) użytkownik sam zbiera dane drganiowe z kilkudziesięciu cykli prania, a dostarczony generator dodaje sygnały powolnego uszkodzenia łożyska, generując zbiór Big Data. Następnie, użytkownik zgodnie z instrukcją opracowuje w chmurze algorytm Novelty Detection (np.sieć LSTM). 2) w zestawie jest obudowa łożyska, która jest elektromechanicznie wzbudzana z wykorzystaniem Arduino/Raspberry Pi. Drugi układ Arduino/Raspberry Pi rejestruje odpowiedź na wymuszenie. Następnie, estymowana funkcja odpowiedzi częstotliwościowej (FRF) jest wykorzystywana jako część stochastyczna sygnału syntetycznego rozwoju uszkodzenia łożyska tocznego. Na jej podstawie budowany jest zbiór Big Data, który bardzo wiernie odzwierciedla sygnały rzeczywiste. Dane są zbierane od wielu użytkowników i są użyte w procesie uczenia maszynowego w chmurze. 3) oczywiście, takie zestawy WYMUSZENIE/REJESTRACJA same w sobie pozwalają na analizę wpływu rodzaju wymuszenia na estymowaną FRF 4) Dalsze pomysły?! Pozdrawiam, Ajab00
  12. Witam serdecznie. Kupiłem do testów zawór elektromagnetyczny 12V - 3/4'' - SparkFun ROB-10456 ze sklepu Botland. Do wzmocnienia napięcia użyłem przetwornicę step-up XL6009 regulowaną 4V-35V 3A . I tak, jeśli wepnę przewody do pinów 5V i GND, napięcie wyjściowe jest ok. 4.86V i takie dochodzi do przetwornicy . Zostaje wzmocnione do ok 12V, chociaż zawór działa prawidłowo już przy niecałych 9V i wszystko jest OK. Ustawiam stan wysoki na pinie 8 i napięcie wyjściowe jest 4.88V. Na wejściu przetwornicy jest już tylko 2.90V (???) a na wyjściu aż 17.69V, czasami wartość mniejsza niż na wejściu np. wejście 2.60V, wyjście 2.30V i regulacja potencjometrem nic nie daje. Jednak po zmniejszeniu napięcia wyjściowego elektrozawór nie działa. Przy tym wysokim napięciu słychać ciche puknięcie w cewce, jednak po zmniejszeniu napięcia do wartości rzędu 8-12V, zawór nie podnosi się. Po ponownym podłączeniu do pinu 5V i wyregulowaniu napięcia na przetwornicy, znów wszystko działa poprawnie. Dlaczego???? Chcę programować otwarcie i zamknięcie elektrozaworu (docelowo trzech), jednak tą metodą nie działa. Proszę o pomoc, w co należy wyposażyć układ, aby było możliwe zasilenie elektrozaworu z pinów cyfrowych? Dodam, że wszystko ma być zasilane z Arduino jednym zasilaczem 7V 1A.
  13. Jakiś czas temu zakupiłem sobie ESP32 CAM, niestety nie umiałem dla niej znaleźć jakiegoś sensownego zastosowania. Przeleżała z pół roku a może i więcej, aż wpadłem na pomysł zrobienia foto-pułapki. I tak oto powstała: Po mojej posiadłości często biegają dzikie zwierzęta takie jak: sarny, bażanty, dziki i zające. Te ostatnie to raczej szkodniki ale lecimy z tematem dalej. Założenia: Zapis zdjęć na karcie SD Wysyłka zdjęć na FTP Wysyłka zdjęć na maila jakiś czujnik temperatury praca możliwie jak najdłużej z jednej baterii wspomaganej panelem PV Po ogarnięciu softu na biurku podłączeniu czujnika PIR wszystko ładnie działało. Za zasilanie odpowiada jedno ogniwo 18650, przetwornica podnosząca napięcie do 5V i mały panel PV 6V 167mA. Jak widać powyżej kamera jest przylepiona klejem dwuskładnikowym, tak by uniknąć uszkodzenia tasiemki. Wszystko zostało umieszczone w obudowie po NanoStation Loco M5. Która została dostosowana do zamontowania panelu PV, czujnika PIR oraz kamery. Poniżej etap pasowania elementów. Został również wydrukowany daszek oraz uchwyty dla szyby która osłania kamerę od deszczu. Obudowa Została dodatkowo pomalowana na czarno - ale chyba będę jej robić jakieś malowanie taktyczne, lub pójdzie w ruch “termoglut” i trzcina żeby się lepiej wtapiała w otoczenie. Pierwsze wyjście w teren i klapa, wszystkie zdjęcia były przejaśnione. Po kilku próbach okazało się że kamera potrzebuje 2s! aby dostosować czas ekspozycji, (lekka tragedia bo przy zajączkach to już go może dawno nie być w kadrze) oczywiście w warsztacie wszystko działało jak należy. Następnym nietrafionym pomysłem okazało się wysyłanie zdjęć na maila, trwa to stosunkowo długo a co za tym idzie zużycie energii jest większe, co doprowadziło do rozładowania baterii po 2 dniach. Konieczne było zrezygnowanie z wysyłki zdjęć na maila. W tej chwili kamera działa bez ładowania już 5 dni. Przykładowe zdjęcia z kamery poniżej: Trapi mnie jeszcze jeden problem mianowicie jeśli na zdjęciu jest więcej szczegółów np: cały kadr trzciny lub trawy, to obraz jest obcinany tak około 100-200px z dołu. Nie jest to chyba problem buforu w ESP bo przy kompresji ustawionej w sofcie na 10 zdjęcia zajmują 384KB jeśli zwiększę kompresje zdjęcia zajmują mniej a obraz i tak jest obcinany. Oprócz zdjęć wyzwalanych czujnikiem ruchu, procesor budzi się co 30 min wykonuje zdjęcie i wysyła je na FTP. To aby mieć pewność że bateria nie uległa rozładowaniu. A i jest jeszcze nieszczęsny czujnik temperatury DS18B20, nie było łatwo go tam upchać bo okazało się że wszystkie piny na płytce są wykorzystywane i jedyny wolny pin który mogę wykorzystać to pin serial RX, co niesie za sobą konieczność wypięcia czujnika w razie chęci przeprogramowania układu. Lista wykorzystanych elementów: ESP32-CAM AI-Thinker Przetwornica step-up 5V wraz z modułem ładowania ogniw 18650 Koszyk na ogniwo 18650 Czujnik PIR Mini panel PV 6V 167mA Antena 2.4 Ghz Podsumowując, działa aczkolwiek widać pewne ograniczenia tego układu chociażby czas jaki kamera potrzebuje na uruchomienie się. Z ciekawostek do ESP32 została podłączona zewnętrzna antena, gdzie przetestowany zasięg to około 200 m :), ale pewnie to też zasługa tego że łącze się do AP który mam wystawiony na dworze. Kodu programu pozwolę sobie w tej chwili nie udostępnić bo mam tam niezły bałagan, a jeszcze staram się uporać z obcinaniem fotek, za jakiś czas na pewno go zamieszczę.
  14. Witam, Czy jest jakis przyjazny link za pomoca ktorego mozna wydrukowac od razu caly kurs np. Podstaw Arduino (zoptymalizowany do wydruku czyli sam kurs ze zdjeciami/schematami pomijajacy linki do innych artykulow, podzial stron) itp ? P.S. Tak wiem ze moge otworzyc 11 oddzielnych stron w przegladarce z kazdym rozdzialem osobno i wydrukowac kazdy z nich ale to nie bedzie to samo (np. podzial stron) ;) Pozdrawiam.
  15. Witam Z góry dziękuję z wszelką pomoc! Na podstawie pewnego projektu z internetu (Ten projekt, tyle że bardzo skrócony. Oryginał też na tej stronie tylko że po Turecku). Program działa na zasadzie zainstalowanej biblioteki do Winamp która wysyła rożne sygnały poprzez port szeregowy. Następnie program w Arduino odczytuje je i w odpowiedni sposób interpretuje. Wizualizacja odbywa się na ekranie LCD 16x2. Ja do własnych celów, do innego projektu chciałbym aby zamiast wyświetlania się danych na ekranie informacje z każdego "słupka" były zapisywane i aktualizowane w "int-ach". Czyli np. pierwszy słupek od lewej int1, następny int2 i tak dalej. Jeśli ktoś pomógłby mi w tym byłbym bardzo wdzięczny. Dodam jeszcze że oryginalny projekt działa u mnie (wszystko zainstalowane poprawnie, chodzi mi tylko o przerobienie programu). Link do stron: https://hase85.wordpress.com/2013/09/25/16x2-lcd-spectrum-analyzer-plugin-for-winamp/ Kod arduino: /* CrownSoft LCD Spectrum Analyzer Interface (c) 2013 CrownSoft Inc. a level-1 b level-2 c level-3 d level-4 e level-5 f level-6 g level-7 h level-8 i set cursor & draw char j set cursor & draw level k clear screen examples: i00H first col first row set 'H' j01b first col second row set level-2 k clear all */ #include <LiquidCrystal.h> LiquidCrystal lcd(12, 11, 5, 4, 3, 2); byte custChars[8][8] = { {B00000, B00000, B00000, B00000, B00000, B00000, B00000, B11111}, {B00000, B00000, B00000, B00000, B00000, B00000, B11111, B11111}, {B00000, B00000, B00000, B00000, B00000, B11111, B11111, B11111}, {B00000, B00000, B00000, B00000, B11111, B11111, B11111, B11111}, {B00000, B00000, B00000, B11111, B11111, B11111, B11111, B11111}, {B00000, B00000, B11111, B11111, B11111, B11111, B11111, B11111}, {B00000, B11111, B11111, B11111, B11111, B11111, B11111, B11111}, {B11111, B11111, B11111, B11111, B11111, B11111, B11111, B11111} }; byte serial_getch() { while (Serial.available() == 0); return Serial.read(); } void setup() { Serial.begin(19200); lcd.begin(16, 2); lcd.clear(); // create custom characters for(int i=0;i<8;i++) { lcd.createChar(i, custChars[i]); } /* for(int i=0;i<8;i++) { lcd.setCursor(i,0); lcd.write(i); }*/ } void loop() { byte rxbyte = serial_getch(); if(rxbyte=='j') // set cursor & draw level { lcd.setCursor(serial_getch()-'0',serial_getch()-'0'); lcd.write((uint8_t)(serial_getch()-'a')); }else if(rxbyte=='i') // set cursor & draw char { lcd.setCursor(serial_getch()-'0',serial_getch()-'0'); lcd.write((char)serial_getch()); }else if(rxbyte=='k') // clear { lcd.clear(); } } Pozdrawiam Piotrek
  16. Hej! W tym artykule postaram się pokazać krok po kroku jak przygotować lampkę sterowaną mową, wykorzystując aplikację Wroob na smartfonie oraz Arduino. Czym jest projekt Wroob pisałem tutaj: Wroob - Czyli jak zaprogramować swój telefon Projekt może wymagać podstawowej wiedzy z języka Python i minimalnej znajomości systemu Wroob. Zachęcam do wcześniejszego zapoznania się z poprzednim artykułem. Można też skorzystać z kursów na naszym kanale YouTube - tłumaczymy tam jak zrealizować inne ciekawe projekty. Własny moduł na Arduino Najpierw zacznijmy od sprzętu, ja podłączyłem swoją płytkę Arduino UNO z modułem przekaźników, a do tego oprawkę żarówki podłączoną do gniazda sieciowego. Sposób podłączenia widoczny jest na obrazku poniżej. Pamiętajcie, aby zachować szczególną ostrożność pracując z napięciem sieciowym. Podobny efekt można otrzymać podłączając diodę LED do Arduino, nie wymaga to przekaźnika i jest znacznie bezpieczniejsze. W dalszej części artykułu nie będzie miało znaczenia, z której opcji korzystacie. Następnie musimy zmienić nasze Arduino w moduł systemu Wroob. Wykorzystamy do tego celu bibliotekę dostępną pod adresem https://github.com/wroob-io/arduino-wroobimp. Można ją też pobrać za pomocą managera bibliotek w Arduino IDE Biblioteka arduino-wroobimp posiada przykładowy program z którego będziemy korzystać: WroobImpGpio.ino. Znajdziecie go w Arduino IDE -> File -> Examples -> WroobImp -> WroobImpGpio. W programie WroobImpGpio inicjalizujemy pin 13 jako wyjście, a 14 jako wyjście. Jak pamiętacie, naszą lampę mamy podłączoną do pinu 13. #define PIN_OUT 13 #define PIN_IN 14 // initialize used GPIOs pinMode(PIN_OUT, OUTPUT); pinMode(PIN_IN, INPUT); Następnie uruchamiany jest protokół systemu Wroob. We Wroob moduły rozmawiają za pomocą komend w formacie JSON. Reszta kodu związana jest przede wszystkim z obsługą protokołu komunikacyjnego. // initialize Wroob protocol wroob.begin(my_callback); Jeżeli ktoś jest zainteresowany jak przebiega komunikacja między modułami w systemie Wroob można użyć programu com_imp_sniffer.py aby “podsłuchać” komunikacje między modułami. Program można znaleźć w Panelu Użytkownika Wroob w katalogu examples\hardware_projects. Jak jesteście ciekawi, chętnie opiszę protokół w osobnym poście. Program WroobImpGpio realizuje dwie funkcje ustawia oraz odczytuje wartość pinów za pomocą komend “SetPin” oraz “GetPin”. Ustawia stan na pinie 13 gdy otrzyma komendę “SetPin” lub odczytuje stan z pinu 14 gdy otrzyma komendę “GetPin”. Na tym etapie możemy uruchomić aplikację w Wroob na telefonie i przejść do panelu użytkownika w którym będziemy wykonywać resztę pracy. Jeśli nie wiesz jak to zrobić obejrzyj film Szybki start z systemem Wroob. Po podłączeniu modułu do telefonu w zakładce “Moduły” Panelu Użytkownika Wroob pojawi się jego graficzny widget. Do dalszej pracy potrzebujemy nazwy modułu w systemie. Nazwa widoczna jest w górnej części widgetu, w moim przypadku to 'eam001'. Początkowa nazwa nadawana jest automatycznie, składa się z typu modułu oraz kolejnych liczb. Możecie również ustawić własną nazwę, nie powinna się ona jednak powtarzać w systemie. Obsługa modułu Arduino Na początku klasę utwórzmy naszego własnego modułu, pozwoli nam to z niego korzystać w wygodny sposób w naszych programach. Najprostszą klasę modułu możemy zdefiniować w sposób przedstawiony poniżej. Korzystamy tutaj z wcześniej przygotowanej uniwersalnej klasy Module i tworzymy jedną funkcję set_pin() do obsługi komendy “SetPin” from wroob.modules.module import Module class Eam(Module): def __init__(self, moduleName): super(Eam, self).__init__(moduleName) #set_pin wysyła komendę "set_pin" do naszego modułu def set_pin(self, value): params = {"value":value} self._send_cmd('SetPin', params) W przypadku programu WroobImpGpio wgranego na Arduino można też skorzystać z wcześniej przygotowanej klasy Eam. Znajdziecie ją w katalogu examples\hardware_projects\example_arduino_module. Program korzystający z naszej klasy wygląda następująco: from eam import Eam #import klasy Eam z pliku eam from time import sleep eam = Eam ("eam001") #stworzenie obiektu eam powiązanego z modułem o nazwie “eam001” while(True): sleep(1) eam.set_pin(1) #użycie metody set_pin() sleep(1) eam.set_pin(0) Do konstruktora klasy Eam przekazujemy nazwę naszego modułu 'eam001' tworząc jego obiekt. Dzięki temu w programie możemy korzystać w prosty sposób z funkcji naszego modułu przez odwołanie jego do obiektu. Program jest czytelny i łatwy do rozbudowania. Sterowanie mową Kolejny etap to już czysta przyjemność. Wykorzystamy moduł rozpoznawania mowy (SRM) aby sterować naszą lampą. Aby go uruchomić należy przejść do zakładki “Moduły” a następnie wybrać z listy “Moduły w Panelu Użytkownika”. Moduł SRM wymaga mikrofonu podłączonego do komputera. W kolejnym etapie możemy rozbudować program korzystający z naszego nowo utworzonego modułu na Arduino o funkcje modułu SRM from eam import Eam from wroob.modules.srm import Srm #import klasy modułu Srm from time import sleep eam = Eam("eam001") srm = Srm("srm001") def srm_callback(speech): #funkcja reagująca na rozpoznaną mowę print(speech) if "zapal światło" in speech: eam .set_pin(0) elif "zgaś światło" in speech: eam .set_pin(1) srm.start_speech_reporting(srm_callback) #rozpoczęcie rozpoznawania mowy while(True): sleep(60) Efekt prezentuje się następująco: Więcej na temat rozpoznawania mowy i możliwości modułu SRM można się dowiedzieć na naszym kursie video Chatbot. Jeżeli ktoś nie chce przechodzić całego procesu, gotowe programy można znaleźć w zaktualizowanej właśnie aplikacji w folderze examples\hardware_projects\example_arduino_module Bez wprowadzania zmian w kodzie Arduino wszystko od razu powinno działać
  17. Każdy zapewne ma rzeczy które chce mieć schowane i zabezpieczone przed ciekawskimi osobami stąd też zrodził się u mnie pomysł na zaadoptowania do tego celu drewnianej skrzynki która stała u mnie od dłuższego czasu zawalając tylko przestrzeń. Przede wszystkim zależało mi na tym by z zewnątrz nie było widać żadnych modyfikacji. Poza skrzynką wykorzystałem arduino nano, shielda do nano, serwomechanizmu no i oczywiście modułu RFID, jako zasilania użyłem akumulatora Li-Pol. MECHANIKA Co do samej skrzynki to ma ona wymiary: 9,5 cm szerokości, 13 cm długości i 8 cm wysokości. Grubość w każdym miejscu wynosi 8 mm. Z przodu jest zamykana na prosty bardziej ozdobny niż przydatny zamek. Całe zamknięcie jest oparte na serwomechanizmie który podobnie jak wszystko inne jest przyklejony . Haczyk przykręcony do serwomechanizmu blokuje się w razie nieautoryzowanego otwarcia zaczepia o kawałek wystającej deski. ELEKTRONIKA Wszystkie wymienione wyżej elementy elektroniczne połączyłem za pomocą przewodów połączeniowych jedynie złącze od akumulatora jest przylutowane do shield dla arduino nano. KOD #include <SPI.h> #include <MFRC522.h> #include<Servo.h> #define SS_PIN 10 #define RST_PIN 9 MFRC522 rfid(SS_PIN, RST_PIN); const byte poprawna_karta[] = {0x47,0x35,0x8E,0x7A}; Servo myservo; void setup() { Serial.begin(9600); SPI.begin(); rfid.PCD_Init(); myservo.attach(5); myservo.write(0); delay(2000); myservo.write(70); } void loop() { if ( ! rfid.PICC_IsNewCardPresent()) return; if ( ! rfid.PICC_ReadCardSerial()) return; if (rfid.uid.uidByte[0] == poprawna_karta[0] || rfid.uid.uidByte[1] == poprawna_karta[1] || rfid.uid.uidByte[2] == poprawna_karta[2] || rfid.uid.uidByte[3] == poprawna_karta[3] ) { myservo.write(0); delay(2000); myservo.write(70); }else{ myservo.write(70); } rfid.PICC_HaltA(); rfid.PCD_StopCrypto1(); } FILM DZIAŁANIE Działanie kodu polega na odszukaniu karty(22 linijka), odczytaniu(24 linijka), porównaniu odczytanego z karty kodu z tablicą poprawna_karta[] i otwarcie w przypadku dobrej karty lub dalsze zamknięcie w przypadku złej. Wbrew pozorom zawartość skrzynki jest bardzo bezpieczna z czterech powodów, po pierwsze nikt nie zwraca uwagi na starą skrzynkę leżącą w tym samym miejscu od kilku lat(nie tak jak w przypadku nowej zupełnie skrzynki), po drugie nie widać śladów modyfikacji zwiększającej bezpieczeństwo(tak jak w przypadku tradycyjnego zamka) a także karta RFID(choć w moim przypadku bryloczek) można łatwo schować no i w końcu trudność otwarcia zamka nie posiadając karty. Jedyną wadą jest to że można lekko odchylić wieko jednak to kwestia spasowania haczyka.
  18. Cześć! Ostatnio próbuje zrobić prosty miernik indukcyjności. Wzorowałem się na tym poradniku. Z pozoru wydawaje się, że prosty projekt, ale rzeczywistość zweryfikowała. Ze względu na funkcje pulseIn pomiar nie jest za precyzyjny. Sygnał wejściowy do arduino ma stan wysoki, a gdy oscylator LC zaczyna oscylować pojawia się kilka impulsów stanu niskiego i wysokiego. Mierzę długość trwania pierwszego wysokiego impulsu i mnoże go przez 2, aby otrzymać okres, który zamieniam na częstotliwość. Tylko, że pulseIn ma rozdzielczość 1uS i nie wiem jak inaczej to zmierzyć z większą dokładnością. Próbowałem różnych kodów i bibliotek (FreqCounter też). Podawałem nawet zwykły sygnał prostokątny kilkaset Hz i wyniki były dalekie od rzeczywistości, albo wogóle ich nie było. Próbowałem też z timerem1, ale nie wyszło. Szukałem dużo w internecie i jedyne sensowne projekty tego typu mierników były na mikrokontrolerach PIC, a narazie średnio mi się widzi kupowanie PICKita i uczenie się zupełnie nowego środowiska. Dodam, że przewiduje maksymalną częstotliwość oscylatora na ok 200kHz, nawet kilkanaście kHz mniej. I tu moje pytanie, a tak właściwie kilka. Jak to zmierzyć, czego użyć? Może zmienić coś w układzie pomiarowym? Bardzo proszę, żeby ktoś pomógł jeżeli wie, bo już długo nad tym siedzę. A i tak przy okazji jak pozbyć się wysokonapięciowych pików napięcia, gdy podłącze cewkę o dużej indukcyjności? Przy użyciu dwóch diod, które by obcinały napięcie powyżej 0.7v? Zmniejszyć czas ładowania kondensatora? Do dyspozycji oprócz zwykłego multimetru mam jeszcze co prawda raczej zabawkowy, ale oscyloskop - DSO138, jeżeli byłaby potrzeba sprawdzenia przebiegu. Od razu dodam, że częstotliwość którą oscyloskop pokazuje zgadza się z wyliczeniami dla testowanej cewki. Z góry wielkie dzięki za każdą pomoc
  19. Cześć. Chciałbym zaprezentować projekt sterownika pieca dwufuncyjnego na paliwo ciekłe - gaz ziemny. Założenia projektowe: utrzymanie zadanej temperatury w pomieszczeniu/ mieszkaniu w okresie zimowym; wyświetlanie temperatur pomieszczenia, nastaw, godziny daty, stanu pracy pieca. BOM:arduino uno, serwo modelarskie sg90, czujnik temperatury lm335, wyświetlacz LCD 1.8" ST7735 waveshare, zegar rtc, obudowa wydruk 3d, materiał easy PET-G, zasilacz 9V DC, śruby, nakrętki, magnesy neodymowe. Działanie: urządzenie mierzy temperaturę otoczenia a następnie dostosowuje położenie pokrętła w celu załączania pieca. Jest to rozwiązanie najmniej ingerujące w jego działanie. Wykorzystanie przekaźnika przerywającego zasilanie powoduje natychmiastowe wyłącznenie pompy. Powyższe rozwiązanie powoduje tylko przekręcenie pokrętła do pozycji "0", przez co piec wygasza się zgodnie ze swoim cyklem pracy. Modyfikacja w piecu polegała na wymontowaniu oryginalnego pokrętła i włożeniu w jego miejsce ramienia połączonego z serwomechanizmem. Całość zmontowano w samodzielnie zaprojektowanej obudowie, wydrukowanej w technologii 3d. Korpus utrzymywał się na obudowie pieca za pomocą magnesów neodymowych, przez co nie ma konieczności wiercenia otworów.
  20. Witam. Mam problem z zasileniem arduino nano i sewomechanizmów z powerbanka, a mianowicie, zrobiłem przejściówkę z USB na dwa żeńskie wtyki plus i minus do których podlaczone są przewody zasilajace od serwa. Gdy arduino i serwo są podłączone do oddzielnych gniazd USB w laptopie (arduino poprzez gniazdo miniUSB) to wszystko działa jak należy. Problem pojawia się gdy któreś z nich podłączam do powerbanka , wtedy serwo zaczyna wariować tzn. drży i nie może ruszyć się z pozycji 0. Nie wiem w czym problem , rozebrałem powerbank i w środku są dwa ogniwa lipo 18650 3.7V , na wyjsciu USB do którego podłączam np. serwo jest 5.1V więc wszystko moim zdaniem powinno być ok. Poniżej zamieszczam zdjęcia powerbanka . Czy jeśli zbudował bym swój uklad na tych ogniwach i użyłbym przetwornicy step-up , ładowarki do li-xx , oraz stabilizatora napięcia to bylo by to samo? Docelowo ma to zasilać robota 4-nożnego z 12toma serwami sg90. Pozdrawiam
  21. Witam, Zaciekawiony ostatnim wpisem na forum na temat lampki sterowanej gestami, postanowiłem, że ja również wykonam taki projekt. Niestety ze względu na brak niektórych komponentów, mój projekt wyglądać będzie trochę inaczej. I napotkałem następujący problem: Czujnik HC-SR04 co pół sekundy wykonuję pomiar. Gdy odległość będzie mniejsza od 30cm, arduino ma dać prąd na odpowiednim wyjściu, i włączyć przekaźnik. Następnie ma czekać znowu na na mniej niż 30 cm i go wyłączyć. I nie wiem w jaki sposób to zrobić. Napsałem kod, używając if ale gdy odległość wynosi mniej niż 30 zapalają się, i za chwilę gasną. Podpowiedzcie, jak należy to zrobić?
  22. Witam wszystkich czytelników. Zainspirowałem się w wakacje postem użytkownika @Krzysiek97, który przedstawił swoją kierownice do gier na bazie arduino leonardo: Kierownica PC - wersja 2. Z racji tego że lubię grać w gry wyścigowe i symulatory postanowiłem zbudować własną kierownicę z dodatkowymi akcesoriami. Nie chciałem przerabiać starej gotowej kierownicy do komputera, więc wpadłem na pomysł aby zbudować całe stanowisko. Materiał o tym stanowisku/ projekcie znajduję się na moim kanale na YT do którego was zapraszam Kierownica do komputera na bazie arduino Chciałem aby w tym stanowisko znajdowała się kierownica o kącie obrotu 900 stopni, sprzęgło, gaz, hamulec, 8 biegów + wsteczny (8 biegów ponieważ tyle mają niektóre samochody np. w Forza Horizon 4), hamulec ręczny, 2 joystiki (do sterowania maszynami w Farming Simualtor), button matrix 4x5 = 20 przycisków (przypisanych do rożnych akcji w grach) i zegary do wyświetlania prędkości i obrotów. Tak więc gdzieś w połowie lipca zacząłem szukać potrzebne części. Pierwszym problemem z którym się spotkałem była niewystarczająca ilość wejść w arduino leonardo. Ktoś na tym forum podsunął mi płytki Nucleo 64 na STM32, obawiałem się jednak czy programy które wcześniej znalazłem w internecie będą z nimi współpracować. Bawiłem się naco wcześniej arduino lecz nucleo nie stąd moja niepewność ponieważ zaczynałem dopiero wtedy zabawę z tym wszystkim. Zdecydowałem się jednak zostać przy arduino i zakupiłem 3 płytki, po jednej dla każdego programu który obsługuję inną część stanowiska, ponieważ i tak nie ma prgoramu który ogarnie wszystkie moje rzeczy na raz. A więc tak: Arduino Leonardo - program EMC Utility Lite (z początku korzystałem z RFR Whell Configuration elcz sprawiał on problemy) - obsługuję kierownicę, pedały, hamulec ręczny - Link do programu EMC, Jak zainstalować program Pierwsze Arduino Pro Micro - program MMJoy2 - obsługuję button matrix i 2 joysticki - Link do programu MMJoy2, Jak zainstalować program Drugie Arduino Pro Micro - program SimHub - obsługuję zegary/wyświetlacze - Link do programu SimHub Zamówiłem też 20 guzików (push button) 10 styczników krańcowych 2 Joysticki 2 wyświetlacze Tm1638, 1 wyświetlacz Max7219 (zamówiłem też sterownik silnika BTS7960 lecz na razie nie zakładałem FFB). Rzeczy które miałem w domu to: 2 potencjometry 10k Ohm, stycznik krańcowy ls-11s, kable kawałki plastiku, materiału i gumy. Za postawę stanowiska posłużyła mi deska rozdzielcza i fotel od mazdy mx-5 i kierownica od mazdy 626. Całość jest przyspawana do rurki i przykręcona do euro palety. Z racji tego że deska pochodzi z anglika to nie mogłem zamontować zwykłych zegarów w miejscu poduszki pasażera. Zamieszczam tutaj schematy podłączeń danych elementów: Drugim problemem który chce tu opisać, było przeniesienie/ zczytanie obrotu z kierownicy do arduino. Na początku chciałem wykorzystać enkoder optyczny z swojej starej drukarki, lecz gubił się on często i nie działał dokładnie, więc kupiłem enkoder inkrementalny 600ppr. Nie będę się już tak rozpisywał co jak i gdzie jest skręcone dlatego wszystko pokazane i omówione jest w filmiku do którego link jest na początku posta. Więc to jest dodatkowy materiał dla ciekawych. Podsumowując: koszt budowy stanowiska zamknął się dla mnie w kwocie 300zl, czas realizacji od pierwszego pomysłu do zbudowania całości i upewnienia się że wszystko jest sprawne to 6 miesięcy. Tak oto prezentuję się kierownica i jej działanie w grze Forza Horizon 4 Na koniec pytanie głownie do administratora, czy i kiedy będzie znowu dostępny konkurs Opisz elektroniczne DIY i odbierz 50 zł rabatu do Botland?
  23. Witam, na wstępie przepraszam, jeśli podobny temat już był, sam jednak nie mogłem znaleźć tego o co mi chodzi. Mój problem wygląda tak. Podczas jednego z kursów Arduino na Forbocie prawdopodobnie zepsułem swój mikroprocesor. Środowisko pokazuje, że kod został wgrany bez problemów lecz nie wykonuje się on, a na płytce prototypowej miga dioda z podpisem "L". Na szczęście mam drugą atmegę328, lecz kupiłem wersję bez bootloadera ponieważ była tańsza, a sam chciałem wypalić loader przy pomocy Arduino. Teraz skoro atmega nie działa zastanawiam się nad kilkoma opcjami. 1. Kupno nowej atmegi z bootloaderem i wypalenie bootloadera na drugiej. 2. Kupienie programatora. W przypadku programatora mam kilka pytań. Czy przy pomocy programatora da się w jakiś sposób wypalić bootloader na czystej atmedze? Jakiego rodzaju programator byłby dobry na początek i czy potrzeba do niego jakieś szczególne sterowniki (nie ukrywam, że wolałbym mieć coś kompatybilnego z linuxem, ponieważ używam praktycznie tylko tego systemu). Jeśli miałbym programator, to jak wygląda pisanie kodu w czystym C na atmegę? Czy istnieją alternatywne środowiska do Atmel Studio, które działają na systemie z pingwinem? Z góry dziękuje za wszelkie odpowiedzi i pozdrawiam!
  24. Hej Planuję budowę prostego układu inteligentnego oświetlenia do pokoju. Składać się będzie z: Arduino (NANO) Moduł bluetooth Czujnik ruchu Czujnik temp/wilgotności Wyświetlacz oled Projekt zakłada zasilenie wszystkich powyższych układów zasilaczem podłączonym bezpośrednio do sieci - napięcie i masa wspólne z żarówką. Nie mam jednak bladego pojęcia, jak bezpiecznie sterować napięciem prądu żarówki (zależy mi na możliwości sterowania jasnością światła), zwykły przekaźnik 230V więc tutaj nie zadziała. Załączam też prosty schemat dla zobrazowania: Z góry dzięki za pomoc
  25. Cześć, może komuś by się chciało napisać coś na temat pisania bibliotek do Arduino? Temat nie poruszany a potrzebny. Baaaaaardzo potrzebny
×
×
  • Utwórz nowe...