Skocz do zawartości

[C++] Jak polaczyc program z urzadzeniami zewnetrznymi PC?


matka5432

Pomocna odpowiedź

Witam, robotyka interesuje mnie juz od dawna, ale niestety nigdy nie mialem mozliwosci jej rozwijania. Znam sie za to troszke na elektronice, informatyce i co nieco umiem programowac w C++.Od razu mowie, ze jestem kompletnie zielony jezeli chodzi o laczenie tych dwoch dziedzin(informatyka/elektronika).

Chcialem zatem zapytac sie, jak za pomoca C++ mozna komunikowac sie z prostymi urzadzeniami zewnetrznymi takimi jak odbiorniki energii elektrycznej(led, silniki), czujniki itp. Chodzi mi poprostu o zamiane kompa za mikroprocesor, ktory jest czescia robotow;D.

Link do komentarza
Share on other sites

Za pomoca PC, a konkretnie to napisac program, ktory bedzie nimi sterowal. Nie, nie sa jeszcze podlaczone, poniewaz nie wiem nawet gdzie powinny zostac one podlaczone. Wejscie w ktorym beda urzadzenia nie jest wazne. Moze byc to LPT, USB, jack. Najlepiej, zeby bylo to na poczatek w miare proste.

Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

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

No niby można przez LPT zrealizować proste sterowanie, ale znacznie bardziej uniwersalna jest komunikacja przez port szeregowy - RS-232. Wystarczy przejściówka RS-232/USB i Twój komputer będzie mógł gadać z właściwie dowolnym mikrokontrolerem.

Link do komentarza
Share on other sites

Czesc,
Z tego co wiem, to jedynie port LPT pozwala na niezależne sterowanie swoimi wyjściami.

Ewentualnie porty COM oprócz wysyłania danych mają kilka pinów którymi można sterować.

Jednak podejrzewam, że działałoby to jedynie z portami wbudowanymi w płytę główną, a nie przejściówkami USB<-> coś.

Ewentualnie zainteresuje się ekspanderem USB <-> IO. Na przykład takim.

Jednak sprowadza się to do tego o czym pisali poprzednicy, czyli sterowanie mikrokontrolerem, który przy odpowiednich komendach wystawia odpowiedni stan na wyjściu.

Ostatecznie taki projekt jest dosyć prosty, że warto byłoby wykonać coś takiego samemu;)

Link do komentarza
Share on other sites

Wyobraź sobie, że podłączasz swoje urządzenie przez usb. USB ma 2 przewody do transmisji danych, gdzie, w skrócie rzecz ujmując, wysyłasz ciąg 0 i 1 w odstępach czasu.

Teraz masz swoje diody, silniczki czy co tam chcesz. Jak chcesz nimi sterować mając do dyspozycji dwa kable? OK. Jeszcze na siłę pewnie mógłbyś zapalić diodę i gasić, ale trudniejszych operacji nie zrobisz. Już nie mówiąc o odp. do komputera.

Potrzebujesz mikrokontoler, żeby tym sensownie sterować. "Umawiasz się", że taki ciąg 0 i 1 to takie a takie operacje i już mikrokontoler steruje odpowiednio tymi elementami.

Jeżeli nie chcesz się uczyć programować mikrokontoler to zainwestuj w coś gotowego. Ponoć arduino jest dość proste w nauce, choć sam nigdy nie korzystałem. Lub coś na wzór tego: http://www.x-robo.com/pl/

Link do komentarza
Share on other sites

Potrzebujesz mikrokontoler, żeby tym sensownie sterować. "Umawiasz się", że taki ciąg 0 i 1 to takie a takie operacje i już mikrokontoler steruje odpowiednio tymi elementami.
SIPO - wejście szeregowe, wyjście równoległe

http://pl.wikipedia.org/wiki/Rejestr_przesuwny_(elektronika)

Więc w sumie nie potrzeba do tego uC.

Z portu LPT idzie dużo zrobić w prosty sposób. Więc na początek może nim się zajmij, a potem (jak nic nie spalisz 😃) przerzuć się na coś trudniejszego.

Link do komentarza
Share on other sites

Ja dopiero się uczę elektroniki, więc pierwszy raz słyszę o "rejestrze przesuwanym". O porcie LPT słyszałem, ale z praktyką gorzej. Dzięki - poczytałem.

Ale mam pewne "ale" 🙂

Chyba łatwiej kupić to o czym pisałem wcześniej i zrobić to szybciej / lepiej / bardziej wszechstronnie .

Jeżeli kogoś nie stać to może kupić sam uC i wykorzystać kodowy kod( w Google nie problem znaleźć kod do podstawowych programów wykorzystujących I/O ) do konkretnych celów. Wtedy sprowadza się głownie do połączenia elementów. A jak autor pisze, że zna C++ ,więc zrozumieć kod uC na tyle, żeby dostosować go do własnych celów to chyba nie jest, aż takie trudne.

Pozdrawiam

Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.