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
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.
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
- 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
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:)