Nadeszła chwila kiedy dość mamy zabawy na samym SunDuino , teraz trzeba by jakoś porozmawiać z poziomu Windowsa.
Założenia zadania:Wysłanie rozkazu z komputera , zmieniającego stan diody D13 na płytce SunDuino.
-- Zadanie wydaje sie banalnie proste prawda co za problem z terminala zaświecić LEDA
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
Ale w tym tutorialu pójdziemy krok dalej napiszemy mianowicie program dla windows
w darmowym środowisku Visual Studio C++ 2010 Express
Dlaczego akurat platforma MS NET Framework - z prostej przyczyny Jest bardzo dobrze udokumentowana , środowisko Visual Studio EXPRESS jest darmowe bez ograniczeń kodu , czy zastosowań komercyjnych. Mój wybór padł na Visual C++. Wydaje mi sie iż to prosty i wygodny sposób na pisanie Aplikacji opartych o platformę .NET. Całość opiszę w prostych krokach:
KROK 1. POBRANIE I INSTALACJA Pobieramy i instalujemy środowisko wraz z kompilatorem VISUAL Studio C++ 2010 Express
http://www.microsoft.com/express/Downlo ... Visual-CPP
-- niestety dostępny jest tylko w anglojęzycznej wersji
Pobieramy też i instalujemy .NET Framework jesli nie mamy zainstalowanego
http://www.microsoft.com/downloads/en/d ... laylang=en
Instalacji chyba nie muszę opisywać -- jak to w tworach na Winzgrozę całość ogranicza się na zgadzanie się
z wszystkim i klikanie dalej Ok itp
KROK 2. Pierwszy program dla KONSOLI Przejdź do FILE ->NEW->Project i wybierz nowy projekt CLR CONSOLE APP jak widać na
obrazku niżej. Nadaj nazwę projektowi np. "ArduinoComm" i kliknij OK.
![Obrazek](http://forum.atnel.pl/_obrazki/o/thumb/58_92c232a09307d5b215bd81d8fea3252b.png)
Twoje Pliki w Projekcie:
Jak to zwykle w aplikacjach M$ panuje jak widzisz niezły bałagan:) Wybierz Plik ArduinoComm.cpp i otwórz go dwuklikiem.
JAK będzie działał nasz program:Nasz program będzie działał nastepująco:
1.Poprosi użytkownika o wprowadzenie portu szeregowego który chcemy używać i przechowa jego nazwę w zmiennej PortName
2. Następnie Spyta czy chcemy włączyć światło czy nie
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
- jeśli tak zostanie wysłane 1 włączenia portu
- jeśli nie zostanie wysłane 0 wyłączenie portu
3. Program będzie pracował w pętli czekając na zadanie od użytkownika lub jego zakończenie
4. Musimy tez ustalić szybkość transmisji użytej do komunikacji z naszą płytką SunDuino.
W tym celu dodamy do naszego programu parę linijek kodu z podstawowymi funkcjami:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I w ten prosty sposób już działa nasz port COM:)
KLASY SERIAL PORTU:.NET Framework zawiera gotowe klasy zdefiniowane dla portu szeregowego. Nazywa sie ona SerialPort i jest dostępna w przestrzeni nazw "SYSTEM:: IO:: Ports "
Będziemy używać również innych metod w przestrzeni nazw SYSTEM dlatego na początek użyjemy tej: Dopisując do naszego kodu linijki:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Instancja KLASY Port:Port szeregowy jako obiekt potrzebuje nazwy portu i szybkości transmisji w swoim konstruktorze , dodamy więc nastepujące wiersze do kodu. W naszym przypadku Obiekt Serial POrt bedzie sie nazywał "ARDUINO".
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Otwarcie PORTU:podobnie jak w przypadku plików tekstowych pierwszą rzeczą jaką musimy zrobić jest ich otwarcie:)
Open jest metoda klasy portu szeregowego która jest częścią stworzonego obiektu ARDUINO.
Dopiszmy więc metodę otwarcia:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
PĘTLA:W naszym Programiku użyjemy pętli "do while" W pętli tej zmiennej string przypiszemy przechowywanie odpowiedzi na 2 pytania :
Czy chcesz kontynuować? oraz Właczyc lub Wyłaczyć??
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Wnętrze pętli:
Wysyłanie danych ze zmiennej String do tablicy obiektu ARDUINO odbedzie sie za pomoca metody WriteLine. Dodamy nastepne linijki kodu, myślę ze ich znaczenie jest oczywiste:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
Komentarze pozostawiłem jakbyś miał pytania o działanie
NASZ pełny program w C++ :powinien wyglądać następująco:
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
WSAD dla Sunduino:teraz pora na program odbierający dane z komputera na naszą płytke Sunduino , myśle iz nie wymaga
omawiania:
prędkość transmisji 9600 - taka podajemy w programie na PC
język cpp
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.
I tym oto prostym sposobem napisaliśmy konsolowy program zmieniający stan diody na naszym SunDuino
![Szczęśliwy :)](https://forum.atnel.pl/images/smilies/icon_e_smile.gif)
Jeśli się wam podoba taki rodzaj opisów to napiszę następnym razem jak zrobić voltomierz na płytkach
xxxDuino ale prezentowanie wyniku pomiaru będzie w specjalnie napisanej aplikacji graficznej na Winzgroze.
Miłej Zabawy:)