Czytanie danych z arduino - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino) +--- Wątek: Czytanie danych z arduino (/watek-czytanie-danych-z-arduino) |
Czytanie danych z arduino - mark67 - 13-06-2018 Witam, posiadam juz praktycznie skończony projekt została mi tylko myślałem, że błahostka jednak nie moge sobie z tym poradzić. Mianowicie chciałbym aby stan przełacznika był odczytywany i wysyłany poprzez serialport do VisualStudio. Wydawało mi sie, że umieszczenie w tym miejscu jakiegos "serial.printa"... Mój program ma służyc jako typowy switcher, który przełaczany jest pomiedzy 4 różnymi opcjami i jest możliwe sterowanie nim za pomoca przełacznika oraz aplikacji napisanej w VS...Moim problemem jest to, iż chciałbym aby mój program odczytywał aktualny stan przełacznika a nastepnie po kliknieciu "connect" ustawiał konfiguracje dla konkretnej opcji. np jeśli ustawie przełacznik na pozycje 3cia to po połaczeniu sie programu z arduino automatycznie przycisk 3ci przyjmuje postać "wcisnieta" Kod: if(digitalRead(9)== LOW) RE: Czytanie danych z arduino - kaczakat - 13-06-2018 A problem masz z Arduino, aplikacją na PC, czy ja za mało kawy wypiłem? To, że czegoś chcesz nie jest problemem. RE: Czytanie danych z arduino - mark67 - 14-06-2018 Mianowicie problem dla mnie jest, że nie wiem w którym miejscu wysłać dane na serialPort i w jaki sposób. Czy wymagane jest np po ustawieniu przełacznika wysyłanie dodatkowej wiadomości np serial.print("funkcja1") i dopiero odczytywanie tego czy można bezpośrednio odczytać stan? RE: Czytanie danych z arduino - kaczakat - 14-06-2018 Możesz sobie wysyłać dane cyklicznie co np. 1s, Możesz wysyłać również po określonym zdarzeniu. Np. robisz sobie zmienną globalną "nowe_dane" i za każdym razem gdy coś zmienisz z przełącznikami to również ustawiasz ją na 1. Potem w pętli loop sprawdzasz: Kod: if (nowe_dane) RE: Czytanie danych z arduino - mark67 - 15-06-2018 Okej, dzięki. Aby nie dodawać kolejnych funkcji poprostu dołączylem to do już istniejacych case'ow. Kod: if(digitalRead(9)== LOW) Próbowałem w ten sposób jednak mi to nie działa. Kod: Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick RE: Czytanie danych z arduino - Robson Kerman - 15-06-2018 Takie rzeczy to przede wszystkim w przerwaniu od portu szeregowego. Musisz sobie napisać obsługę przerwania. W VB to by było jakoś tak: Zadeklaruj obiekt PortCOM Kod: Dim PortCOM As New SerialPort("nazwa_portu_na _przyklad_COM1") Powiąż zdarzenie z obsługą zdarzeń: Kod: AddHandler PortCOM.DataReceived, AddressOf OdebraneDane Kod: Private Shared Sub OdebraneDane( nadawca As Object, zdarzenie As SerialDataReceivedEventArgs) RE: Czytanie danych z arduino - kaczakat - 15-06-2018 Tu jest tutorial jak w 10 minut odpalić swój program do odczytu z UART na PC: https://www.youtube.com/watch?v=1KvtKMUWmyI&t=0s, tylko że C#. Pisanie w C/C++ na Arduino, a dla PC w Basicu/Pascalu czy jakimś innym Fortranie to taki sobie pomysł. Tu jest po angielsku dużo takich: https://www.youtube.com/channel/UC8inCnD25Es0VLokfmhko5g/videos RE: Czytanie danych z arduino - Robson Kerman - 16-06-2018 (15-06-2018, 20:50)kaczakat napisał(a): Pisanie w C/C++ na Arduino, a dla PC w Basicu/Pascalu czy jakimś innym Fortranie to taki sobie pomysł. W tak prostych przypadkach, nie ma znaczenia w jakim języku napiszemy program. VB.NET jest typowym językiem programowania zdarzeniowego i obsługę zdarzeń szybciej i prościej jest oprogramować w VB.NET, jeśli oczywiście bardzo dobrze znamy ten język. Ja na przykład sporo programów piszę w VB.NET, chociaż współpracę PC <-> Ardu najczęściej piszę w C++. Pewnie dla tego, że jak napisałem wyżej, nie ma znaczenia w jakim języku napiszemy program. To nie te czasy, gdy różnice wykorzystanych zasobów były naprawdę spore i determinowały język dla konkretnej aplikacji. RE: Czytanie danych z arduino - kaczakat - 16-06-2018 Robson Kerman, zapewne jest jak mówisz, jak jesteś biegły w pisaniu w VB to nie próbowałbym Cię przekonać do pisania w C# czy Javie, ale ktoś mnie kiedyś próbował namówić na Pascala/Delphi, bo jest coś tam za darmo (a MS daje teraz prawie full wersję gratis) i tutoriale po polsku, to go śmiechem zabiłem (a potem się jednak okazało, że gość pisze moduły by sprzedawać kursantom , a bez nich to taka ostra rzeźba jest tam, no i przykładów w necie sucho). Wszystko czego nie wiedziałem, a potrzebowałem znalazłem na Youtubie i Google. To nie są jakieś poematy, by translator sobie z nimi nie poradził. W sumie napisałem 5 programów, które były mi potrzebne, każdy związany z UART/RS485 (czyli właściwie 5 wersji programu) i na razie mi wystarcza, a poradników widziałem tyle, że wystarczy mi na moje plany w perspektywie 10 lat. VB ma jednak swoją składnię, a czasem trzeba coś poklepać i po paru tutorialach zdecydowałem się pozostać przy C, bo życie jest krótkie, by tracić czas na przestawianie się. I tak jak tam zaglądam raz na pół roku to uczę się od nowa. RE: Czytanie danych z arduino - Robson Kerman - 17-06-2018 A jeszcze gwoli ścisłości. Ja nikogo nie namawiam do pisania w VB, to autor wątku próbuje się dogadać z Ardu w tym języku, więc chciałem pomóc właśnie w tym. Może kolega niema innego kompilatora? A może nie lubi tego community? Ja na przykład nie lubię. |