rezolut Napisano Styczeń 30, 2017 Udostępnij Napisano Styczeń 30, 2017 Mam układ mikropresora z przyciskami sterującymi - standardowo zwieranymi do masy. Układ zamknięty i nie chcę tworzyć nowego. Czy jest możliwość wysterowania jego przyciskami z Arduino? Oba układy mają oddzielne zasilania (masa wspólna). Czy mniej więcej taka byłaby idea połączenia? Link do komentarza Share on other sites More sharing options...
deshipu Styczeń 30, 2017 Udostępnij Styczeń 30, 2017 Co to są "przyciski z Arduino"? Poza tym jakie masz tam napięcia i prądy i czy zasilanie dla mikroprocesora i dla Arduino jest wspólne, albo ma chociaż wspólną masę? Jeśli nie, to jakich poziomów logiki używa ten mikroprocesor? Link do komentarza Share on other sites More sharing options...
rezolut Styczeń 30, 2017 Autor tematu Udostępnij Styczeń 30, 2017 Przycisk Arduino - sorry, skrót myślowy. Oczywiście chodzi o pin/wyjście. Część czarna to układ istniejący - ATmega16, 5V, przycisk to zwykły switch. Część niebieska - to coś co chcę dorobić np. na Arduino 5V Właściwie to zasilanie 5V mogłoby od biedy być wspólne. Choć rozważam oddzielne i wolałbym połączyć układy tylko masami. Nie chcę używać przekaźników, chciałbym możliwie najprostsze rozwiązanie. Link do komentarza Share on other sites More sharing options...
deshipu Styczeń 30, 2017 Udostępnij Styczeń 30, 2017 Możliwie najprostszym rozwiązaniem jest po prostu połączenie obu gpio bezpośrednio (oraz mas). Skoro oba mikrokontrolery są zasilane tym samym napięciem i używają tych samych stanów logicznych, to nie powinno być żadnych problemów z komunikacją. Jeśli ten oryginalny przycisk ma być używany, to albo musisz dać jeszcze opornik ograniczający prąd, żeby w przypadku gdy Arduino da poziom wysoki a ty wciśniesz przycisk nie było zwarcia. Albo zamiast na Arduino dawać poziom wysoki, ustawiać gpio w tryb wysokiej impedancji -- wtedy nie będzie tego problemu, ale musisz pilnować żeby nigdy nie dać na tej nóżce 1. Link do komentarza Share on other sites More sharing options...
Polecacz 101 Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Zarejestruj się lub zaloguj, aby ukryć tę reklamę. Produkcja i montaż PCB - wybierz sprawdzone PCBWay! • Darmowe płytki dla studentów i projektów non-profit • Tylko 5$ za 10 prototypów PCB w 24 godziny • Usługa projektowania PCB na zlecenie • Montaż PCB od 30$ + bezpłatna dostawa i szablony • Darmowe narzędzie do podglądu plików Gerber Zobacz również » Film z fabryki PCBWay
buchbuch Luty 1, 2017 Udostępnij Luty 1, 2017 Myślę, że Twój sposób jest dobry tylko dodaj na wszelki wypadek rezystor do bazy i kolektora tego tranzystora. Takim sposobem można nie ingerując nadmiernie w inne urządzenie (np. klawiaturka bankomatu, telefon, kamera, magnetofon szpulowy, tudzież inny lądownik marsjański) i sterować nim przez uC - taki powiedzmy odwrotny skimer 🙂 Powodzenia. Link do komentarza Share on other sites More sharing options...
deshipu Luty 1, 2017 Udostępnij Luty 1, 2017 Myślę, że Twój sposób jest dobry tylko dodaj na wszelki wypadek rezystor do bazy i kolektora tego tranzystora. Niestety myślisz źle. Ten tranzystor nie ma zasilania, poza jakimś śladowym prądem z rezystora podciągającego na tym pinie, więc nie ma prawa działać. A gdyby nawet podłączyć mu zasilanie, to wypuści piękny niebieski dym gdy tylko wciśniesz przycisk. Link do komentarza Share on other sites More sharing options...
Elvis Luty 1, 2017 Udostępnij Luty 1, 2017 deshipu, na pewno wiesz jak działa tranzystor? Rezystor przy kolektorze nie jest konieczny, ale jeśli dodamy rezystor przy bazie tranzystora układ powinien działać bez problemu. Można oczywiście dodać filtrację zakłoceń pochodzących z drgań przełącznika, ale jeśli to niewielki mikroswitch raczej nie powinno być z nimi problemu. Czasem dodaje się jeszcze rezystor między bazę, a emiter. Jeśli zostanie wolny rezystor przeznaczony dla kolektora, to powinno być lepsze miejsce do jego wykorzystania. Link do komentarza Share on other sites More sharing options...
marek1707 Luty 1, 2017 Udostępnij Luty 1, 2017 Opornik w bazie, jakieś 2-22k jest oczywiście konieczny, ale w kolektorze już nie. Przecież tranzystor jest zasilany z tego samego co przycisk - z jakiegoś podciągu po tamtej stronie. Skoro nie pali się przycisk a urządzenie poprawnie wykrywa zwarcie linii do masy to z tranzystorem będzie tak samo. Po wysterowaniu bazy popłynie prąd w kolektorze taki sam jak poprzednio przez zwarty przycisk. Na raz też można je zwierać, tak jak dwa przyciski połączone równolegle. Ważne, by masy obu urządzeń były połączone, bo lewy i prawy obwód korzystają z tego samego przewodu odniesienia. Dodanie opornika, np. 100R w kolektorze zabezpieczy tranzystor gdyby niechcący zewrzeć mu kolektor do zasilania 5V lub gdyby lewej części udało się włączyć pin na wyjście w stanie 1. O tym już pisał deshipu. W ten sposób można udawać przyciski tylko w bardzo prymitywnych urządzeniach, gdzie klawiatura nie jest matrycą no i gdzie zwieramy linie do masy. EDIT: Pisaliśmy razem.. Link do komentarza Share on other sites More sharing options...
deshipu Luty 1, 2017 Udostępnij Luty 1, 2017 Po wysterowaniu bazy popłynie prąd w kolektorze taki sam jak poprzednio przez zwarty przycisk. A nie będzie on czasem za mały, żeby przez ten tranzystor przepłynąć? Zakładam, że tam jest użyty wewnętrzny podciąg na gpio, czyli jakieś 40kΩ -- to daje jakieś dziesiąte miliampera? Poza tym pytanie było o najprostszy sposób połączenie, po co tam ten tranzystor? [ Dodano: 02-02-2017, 01:10 ] deshipu, na pewno wiesz jak działa tranzystor? Niestety, okazuje się, że nie wiem. Pomyliłem z diodą, przepraszam. Link do komentarza Share on other sites More sharing options...
rezolut Luty 2, 2017 Autor tematu Udostępnij Luty 2, 2017 Dzięki za obszerne rozważania. Wiedza taka się na pewno przyda. Układ oczywiście narysowany mocno ideowo. W docelowym układzie pin "A1" podciągnięty jest jeszcze do VCC przez rezystor 4,7k a na bazie tranzystora planowałem dać również rezystor. Okazało się na szczęście, że układ posiada dwa wolne piny, na których w Arduino mogę stworzyć softwareserial. W poprzedniej wersji programu, tworzonej w BASCOM nie mogłem (może bardziej - nie umiałem). Testowo układ działa: i na przycisk, i reaguje na rx/tx. Link do komentarza Share on other sites More sharing options...
buchbuch Luty 2, 2017 Udostępnij Luty 2, 2017 A możesz wrzucić kod tego software serial? Może się przyda komuś do czegoś. Link do komentarza Share on other sites More sharing options...
rezolut Luty 2, 2017 Autor tematu Udostępnij Luty 2, 2017 A możesz wrzucić kod tego software serial? Może się przyda komuś do czegoś. Nic odkrywczego. Układ działa na przykładach z https://www.arduino.cc/en/Reference/SoftwareSerial choć mam problemy z komunikacją dwustronną - że tak powiem - dłuższą wymianą zdań między procesorami 🙂 Problemem jest że procesor na raz może słuchać tylko jednego UARTa programowego, więc trzeba się między nimi przełączać [listen()]. To wymaga albo zwrotnych danych z układu do Arduino, albo timeoutu w Arduino. Z pierwszym mam problem, drugiego jeszcze nie umiem napisać. Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Bądź aktywny - zaloguj się lub utwórz konto!
Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony
Utwórz konto w ~20 sekund!
Zarejestruj nowe konto, to proste!
Zarejestruj się »Zaloguj się
Posiadasz własne konto? Użyj go!
Zaloguj się »