Skocz do zawartości

Jamik

Użytkownicy
  • Zawartość

    146
  • Rejestracja

  • Ostatnio

  • Wygrane dni

    5

Wszystko napisane przez Jamik

  1. W 1kB EEPROM-u raczej żadnych zrozumiałych sampli nie upchniesz :). Choć za starych, dobrych czasów, przy zabawie z ośmiobitowcami to się różne cuda robiło ;).
  2. Witam. Robiłem kiedyś pozytywkę na Attiny13. Programowałem z poziomu ArduinoIDE. Melodyjkę przechowywałem w EEPROM-ie. Najpierw wgrałem szkic, który wpisał do EEPROM-u melodię, a potem drugi, który ją odtwarzał. Tak więc nie ma problemu z reprogramowaniem. Warto zwrócić uwagę na to, że zapis jednego bajta w EEPROM-ie jest znacznie szybszy od zapisu dwóch bajtów. Wynika to z tego, że zapis drugiego bajta zaczyna się dopiero po zakończeniu zapisu pierwszego. Jeśli więc kluczowa jest szybkość programu, to warto zapisywać po jednym bajcie zachowując odstęp czasowy w trakcie którego możemy wykonać spory kawałek kodu. Pozdrawiam.
  3. Albo kliknij na link prawym przyciskiem myszy i wybierz "Zapisz element docelowy jako...".
  4. Czytam. Jeden go widzi, więc być może jednak ten element działa. I nadal nie wiemy, czy tam na pewno siedzi 16U2. W jednym masz absolutną i niezaprzeczalną rację. Nie ma co tej rozmowy kontynuować, bo nic ona tu nie wnosi.
  5. Bywa, ze czasem popajacuję, ale tym razem jestem poważny. W Arduino, niezależnie od tego. czy użyjemy 16U2, czy CH340, czy czegokolwiek innego (bo to nie jedyne opcje), są to tylko elementy pośredniczące. Nic więcej. Możesz sobie 16U2 przeprogramować (o czym zresztą wspomniałem), tylko co to zmienia? Komputer widzi port, co znaczy, że dogadał się z tym właśnie elementem. Czy działa on zupełnie poprawnie to inna sprawa, ale nic nie wskazuje, że tak nie jest. Nie rozumiem Twojego zacietrzewienia.
  6. W Arduino. Sam kiedyś w jednej płytce usunąłem bootloader, żeby przyspieszyć start po włączeniu zasilania.
  7. Z tym bootloaderem to różnie może być. Jeśli ktoś bawił się tą płytką z użyciem programatora, to mógł chcący, lub niechcący go wykasować.
  8. Zamówisz minimum 5000 sztuk, to masz możliwość zmian wyglądu. Inaczej jesteś raczej skazany na to co jest :). Z tego co widzę sample mają po 1$ za sztukę.
  9. Witam. Te na zdjęciach wyglądają mi na LCD i myślę, ze w przypadku motocykla, gdzie odczyt powinien być czytelny i w ciemności i w słońcu, to raczej trzeba pójść w tę stronę. Może zwykły alfanumeryczny? Może wyświetlacz z Nokii? Może 7 segmentowy, taki jak w zegarach? Albo połączenie kilku? Na pewno nie osiągniesz w domowych warunkach takich efektów jak na zdjęciach, bo do tego trzeba by zrobić własny wyświetlacz LCD. Widziałem coś takiego, ale koszty duże, a efekt mizerny. Pozdrawiam. EDIT Może coś takiego? https://www.alibaba.com/product-detail/HTN-transflective-round-lcd-screen-custom_60687406095.html tylko nie wiem, czy gdzieś będą pojedyncze sztuki do kupienia.
  10. I napisz jaki scalak w Twojej płytce Arduino odpowiada za komunikację z komputerem. W niektórych tanich płytkach trzeba zrobić "machniom" ze sterownikiem.
  11. Witam. Standardowo Arduino resetuje się przy uruchamianiu połączenia przez USB (COMx). Nawet restart monitora portu szeregowego wywołuje ten efekt. Wynika to z potrzeby resetu przy programowaniu. Ale można to zablokować, wystarczy do tego rezystor i kondensator. Sam tak zrobiłem w moim Eggbocie i działa niezawodnie. Tylko przy programowaniu trzeba kondensator odłączyć. Pozdrawiam.
  12. A możesz dać jakieś zdjęcie, rysunek, czy coś? Bo trudno tak w ciemno doradzać.
  13. Moim zdaniem to nic nie da. Pierwszy komparator generuje sygnał 0 lub 5V. Drugi już nic z tym nie zrobi. Gdybyś mógł umieścić komparator pomiędzy czujnikiem a obecnym układem, to i owszem. A nie możesz usunąć (wylutować) istniejącego komparatora? Albo do tego nowego pobrać sygnału pomiędzy czujnikiem i istniejącym układem?
  14. Witaj. Zgadzam się z Tobą. Każdy przypadek wymaga zastanowienia się i sposób realizacji histerezy zależy od tego jaki mamy sygnał wzorcowy i porównywany. Odniosłem się do tego konkretnego przypadku, gdzie uważam, że sugerowany przeze mnie układ jest najprostszym, pozwalającym uzyskać efekt o jaki chodziło. Pozdrawiam.
  15. Witam. To nie dość, że w Twoim układzie nie pomoże, to wręcz zaszkodzi. Jeśli spojrzysz na schematy komparatorów z histerezą to zobaczysz, że pracują w układzie odwracającym, czyli napięcie referencyjne mają podane na wejście nieodwracające (+) a sygnał na wejście odwracające (-). Co stanie się, jeśli połączysz rezystorem wyjście z wejściem (-) w Twoim układzie? Powiedzmy, że masz napięcie odniesienia 2,5V. Na wejściu (+) pojawia się ciut więcej. Komparator zmienia wyjście z 0V na 5V. I teraz dzięki rezystorowi pomiędzy wyjściem a wejściem (-) napięcie na tej końcówce wzrasta. Jest więc większe niż na wejściu (+) Komparator przełącza wyjście na 0V co powoduje spadek napięcia na wejściu (-) czyli przełączenie wyjścia na 5V, co powoduje... i tak w kółko. Przerób układ na odwracający z histerezą. Wtedy przełączenie wyjścia z 0 na 5V nastąpi przy opadającym napięciu wejścia. 5V na wyjściu, dzięki rezystorowi podniesie napięcie odniesienia i spowoduje, że przełączenie powrotne (z 5 na 0V) nastąpi przy wyższym napięciu wejściowym. I masz histerezę. A jedyna zmiana będzie taka, że zbocza zamienią Ci się miejscami, co dla programu (jak przypuszczam) nie będzie miało żadnego znaczenia, bo jedynie zamiast zliczać przejścia z czarnego na biały, będzie zliczał przejścia z białego na czarny (lub odwrotnie). Pozdrawiam.
  16. Nie wygląda, tylko występuje. Komparatory są bardzo czułe. W momencie gdy przez jakiś czas wartości napięcia są do siebie bardzo zbliżone (powolne obracanie) nawet niewielkie oscylacje zasilania, czy drgania osi silnika powodują serię przejść wyjścia komparatora pomiędzy 0 i 5 V co Wywołuje przerwanie wielokrotnie. Też niedawno robiłem obrotomierz, ale podłączyłem wyjście CNY bezpośrednio do wejścia cyfrowego i nie wystąpiły takie efekty. Spróbuj zrobić tak samo, albo użyj układu z histerezą.
  17. Ewentualnie kup kilka rezystorów np. 1k, 1,5k, 2,2k, 4,7k itd. i metodą eksperymentalną dobierz takie, przy których Twoja dioda świeci z jasnością jaką oczekujesz. Tylko nie podłączaj za słabych rezystorów, bo spalisz diodę.
  18. Myślę, że problem może wynikać z deklaracji zmiennych czasStart1 i czasStart2 zarówno globalnie jak i lokalnie w funkcji loop(). Zostaw definicje globalne i wywal deklaracje lokalne z funkcji loop(). Te zmienne mają przechowywać wartość nie przez jeden cykl pętli głównej programu, ale przez wiele minut/godzin. A deklaracja tych zmiennych wewnątrz funkcji loop() za każdym razem je zeruje. Jeśli się mylę, niech ktoś mnie poprawi?
  19. Witam. Na początek drobne pytania. Dlaczego nie używasz "void setup()" i dlaczego zmienne definiujesz wewnątrz funkcji "loop()"? Nie widzę też uruchomienia komunikacji przez serial i podpięcia bibliotek. Wnioskuję więc, że nie jest to cały kod. Popraw, proszę , formatowanie (wcięcia), żeby poprawić czytelność i wklej całość. Pozdrawiam.
  20. Witam. Mam jeszcze gdzieś w rupieciach wyświetlacz, który nie chciał działać na 4 bitach, a na pełnej szynie działał. Spróbuj podłączyć wszystkie linie danych i wtedy przetestuj.
  21. W kursie podstaw elektroniki, tutaj na Forbocie dokładnie opisane są podstawowe wiadomości o tranzystorach. Radziłbym te kursy przerobić przed budowa własnych układów. Zmniejszysz tym samym straty w elementach elektronicznych i własną frustrację kolejnym dymkiem unoszącym się z budowanego urządzenia. Metodą prób i błędów wolniej się nauczysz a szybko się zniechęcisz.
  22. @adammatuszewski Prostota jest względna. Upraszczasz trochę program, ale komplikujesz sobie drutologię. Zwróć uwagę, że przy 40 pinach sterujących 40-ma zamkami potrzebujesz 40 wzmacniaczy sygnału, bo nie wysterujesz zamkiem bezpośrednio z wyjścia Arduino. Za małą ma wydajność prądową. Czyli masz np.40 tranzystorów z elementami towarzyszącymi. I od tych tranzystorów musisz pociągnąć 40 przewodów do 40 zamków + jeden masowy (lub z + zasilania) ciągnięty przez wszystkie skrytki. I nie jest ważne gdzie te tranzystory zainstalujesz fizycznie. Przy rozwiązaniu matrycowym masz 13 tranzystorów i 13 przewodów. 5 biegnących poziomo przez wszystkie skrytki w rzędzie i 8 biegnących pionowo przez wszystkie skrytki w kolumnie. Zamki wpinasz pomiędzy te dwie linie i masz eleganckie, proste i przejrzyste połączenia w których łatwo zidentyfikować ewentualny problem.
  23. Akurat nie myślałem o multiplekserze. Raczej o 13 tranzystorach. 5 sterujących podaniem napięcia dodatniego na kolejne wiersze i 8 zwierających konkretne kolumny do masy. Podajesz napięcie na jeden wiersz, zwierasz jedną kolumnę do masy i zamek znajdujący cię na skrzyżowaniu wybranego wiersza i wybranej kolumny otwiera skrzyneczkę. Nie łatwiej dać zasilacz 12V, a Arduino samo poradzi sobie ze zrobieniem z tego potrzebnych dla siebie 5V?
  24. Witam. Zamek elektromagnetyczny, taki jak w bramkach jest samozatrzaskowy. Są takie do drzwiczek w meblach/skrzynkach. Wystarczy więc krótki impuls odblokowujący skrytkę. Mała sprężynka otwiera klapkę i po sprawie. Potem wystarczy zatrzasnąć skrzynkę. Tak jak choćby w paczkomatach. Do sterowania wystarczy więc jeden pin/drzwiczki i to bez żadnych kombinacji. A jeżeli zastosujesz trik z multipleksowaniem, to spokojnie wystarczy np 13 wyjść (5 rzędów po 8 kolumn), czyli UNO się z zapasem wolnych pinów załapie. A ewentualne podświetlenie to bym zrobił jak w lodówce. Krańcówka i dioda. Po co w to mikrokontroler angażować.
  25. Myślę, że dało by się pozbyć bramki. Wystarczy przycisk zwierający kolektor i emiter tranzystora sterującego przekaźnikiem.
×
×
  • Utwórz nowe...