Reklama

Microsoft sa chystá používať systém Windows 10 a konečne si uvedomuje sen, že bude mať aplikácie bežiace na viacerých platformách. V kombinácii s oficiálnou podporou pre Arduino máte k dispozícii nový výkonný nástroj: schopnosť ľahko vytvárať univerzálne aplikácie Windows, ktoré majú hardvérové ​​pripojenie do skutočného sveta.

Tu je návod, ako začať, aj keď ste nikdy predtým nenaprogramovali aplikáciu pre systém Windows.

Skôr ako budete čítať ďalej, prečítajte si ukážku toho, čo urobíme.

Mal by som poznamenať, že som asi pred 10 rokmi nepoužíval Visual Studio, ani som sa nedotkol C #. Prichádzam na to z pohľadu novej inštalácie Visual Studio a zabudol som na všetko, čo viem.

Ak už máte skúsenosti s programovaním aplikácií pre systém Windows alebo hľadáte jednoduchý spôsob, ako začať s programovaním v systéme Windows bez tohto obsahu Arduino, vyskúšajte Ryan's návod na vytvorenie jednoduchej aplikácie Visual Basic Ako si môžete vytvoriť svoju vlastnú jednoduchú aplikáciu pomocou VBAChcete vedieť, ako vytvoriť svoju vlastnú aplikáciu VBA na riešenie problémov? Tieto tipy použite na vytvorenie vlastného softvéru VBA.

Čítaj viac . Absolútne začiatočníci programovania môžu chcieť vyskúšať moje Programovanie 101 Základy počítačového programovania 101 - premenné a typy údajovPredtým, ako som predstavil objektovo orientované programovanie, a kde bol jeho menovec, sa o ňom trochu hovorilo pochádza z, myslel som si, že je čas, aby sme prešli absolútnymi základmi programovania v inom ako jazykovom jazyku spôsobom. Tento ... Čítaj viac (a časť 2 Absolútne základy programovania pre začiatočníkov (2. časť)V časti 2 nášho sprievodcu programovaním pre úplných začiatočníkov sa venujem základným funkciám, návratovým hodnotám, slučkám a podmienkam. Pred riešením tohto problému si prečítajte prvú časť, kde som vysvetlil ... Čítaj viac ) prvý článok.

Mali by ste byť s niektorými oboznámení Arduino projekty pre začiatočníkov 15 veľkých projektov Arduino pre začiatočníkovMáte záujem o projekty Arduino, ale nie ste si istí, kde začať? Tieto začiatočné projekty vás naučia, ako začať. Čítaj viac (a možno aj čítať naše Sprievodca Arduino Začíname s Arduino: Príručka pre začiatočníkovArduino je otvorená prototypová platforma elektroniky založená na flexibilnom, ľahko použiteľnom hardvéri a softvéri. Je určený pre umelcov, dizajnérov, fandov a kohokoľvek, kto má záujem vytvárať interaktívne objekty alebo prostredia. Čítaj viac ), ale pravdepodobne to bude prvýkrát, keď ste sa pokúsili vytvoriť skutočný kúsok počítačového softvéru, ktorý s ním bude pracovať.

K stiahnutiu

Po prvé: musíte sa pripojiť Program Windows Insider získať najnovšiu ukážku vydania Visual Studio 2015a najnovšiu verziu aplikácie Ukážka systému Windows 10. Urob to teraz - je to zadarmo. Windows 10 je ukážka pre vývojárov a nemala by byť inštalovaná ako váš hlavný operačný systém. Je to buggy ako peklo.

  • Pripojiť sa k Program Windows Insidera stiahnite si technickú ukážku systému Windows 10
  • Získajte ukážku vydania Visual Studio 2015 Community Edition [Už nie sú k dispozícii].

Vizuálne štúdio je vlastné vývojové prostredie spoločnosti Microsoft, ktoré budeme používať na vytvorenie aplikácie C # Windows.

Prečo C #? Vďaka silným podobnostiam s jazykom Java je to relatívne ľahký programovací jazyk pre začiatočníkov, ktorý umožňuje fungovanie funkčnej aplikácie a zároveň výkonný. dosť na to, aby ste mohli vytvárať niektoré úžasné aplikácie (dokonca aj hry: C # je skriptovací jazyk Unity, ktorý si môžete vybrať - pozrite si naše bezplatné eBook, Sprievodca pre začiatočníkov k programovaniu hry s jednotou Programovanie hry s jednotou: Príručka pre začiatočníkovV rozvíjajúcom sa prostredí vývoja hry indie sa Unity objavila ako niečo de facto štandardu: jej nízke náklady, jednoduché použitie a široká škála funkcií ju robia ideálnou pre rýchly vývoj hier. Čítaj viac ).

Ak ste tak ešte neurobili, stiahnite si Arduino IDE od úradníka Arduino.cc a nainštalujte štandardná firmata na dosku. Nájdete ho pod Príklady -> firmu -> Štandardná Firmata. Toto ju jednoducho zmení na „hlúpe“ sériové zariadenie, ktoré bude robiť, čo jej povie naša aplikácia - nebude existovať žiadna aplikácia logika na samotnej doske, iba rozhranie medzi našou aplikáciou a akýmikoľvek senzormi alebo výstupnými zariadeniami pripojenými k internetu Arduino.

Pokiaľ ide o zapojenie, môžete buď prilepiť LED priamo na pin 13 a GND, ako je uvedené nižšie, alebo použiť zabudovanú LED. Potrebujete tiež variabilný odpor (použil som 10 k lineárny potenciometer) smerujúci do A0 (samozrejme s príslušnými nohami na GND a + 5 V).

Arduino-Windows 10-demo

Nakoniec si stiahnite balík Remote Wiring z GitHub [No Longer Available]. Toto je vrstva, ktorú musíme pridať a ktorá umožní našej aplikácii pre systém Windows hovoriť s Arduino.

Vytvorte aplikáciu

Choďte do toho a otvorte Visual Studio. Ak toto spustíte prvýkrát, budete mať možnosť prihlásiť sa. Ak chcete, ignorujte to. zvoliť Visual C # ako možnosť rozvoja a pokračovať; v oboch smeroch, príprava Visual Studio na prvé použitie trvá niekoľko minút.

Vytvorte nový projekt pomocou šablóny Visual C # -> Prázdna aplikácia (Windows Universal). Zavolal som svoj „Arduino test“, ale na tom nezáleží.

nové c ostré univerzálne okná app

V tomto okamihu som narazil na chybu týkajúcu sa prepnutia systému Windows 10 do vývojového režimu, ak som chcel aplikáciu skutočne spustiť. Pokračujte a urobte to, aj keď zistíte, že vaše zostavenie systému Windows 10 na tomto nastavení padá, je to známa chyba a budete musieť pomocou editora skupinovej politiky povoľte režim vývojára.

Ďalej kliknite pravým tlačidlom myši kdekoľvek v systéme Windows Solution Explorer (to je vec vpravo) a vyberte možnosť pridať -> Existujúci projekt.

riešenie Explorer pridať projekty

Prejdite na miesto, kde ste stiahli súbory diaľkového zapojenia z Githubu - ak to bolo rozbalené, mal by to byť priečinok s názvom diaľkové rozvody-vyvinúť. Vnútri tam nájdete Microsoft. Maker.win10; a vo vnútri nájdete ďalšie 3 priečinky. Potom postupne pridajte každú z nich tak, že sa pohybujete vnútri týchto troch priečinkov a vyhľadáte súbor projektu.

Ak sa vyskytnú nejaké chyby týkajúce sa súboru XAML 8.2 nenájdený, máte nesprávnu verziu programu Visual Studio alebo ešte nemáte nainštalované vývojárske nástroje. Vráťte sa na začiatok tohto článku a uistite sa, že ste stiahli a nainštalovali obidva prepojené súbory Visual Studio.

Tieto tri projekty, ktoré ste práve pridali, sú iba rôznymi vrstvami rozhrania Arduino. V prieskumníkovi riešení kliknite pravým tlačidlom myši a vyberte možnosť závislosti -> Budovať závislosti, uvidíte, na ktorých vrstvách závisí (sériový nezávisí od ničoho; firmu závisí od Serial; RemoteWiring záleží na oboch). Jedinou zmenou, ktorú tu musíte urobiť, je vybrať váš projekt z rozbaľovacej ponuky a začiarknutím každého políčka označte, že váš projekt závisí od všetkých týchto ostatných projektov.

skontrolovať závislosti

Posledný krok: z prieskumníka riešení znova kliknite pravým tlačidlom myši na Referencie položku vo vašom projekte a vyberte položku Pridať referenciu. Zľava prejdite na Windows Universal, potom začiarknite políčko vedľa položky Balík aplikácií Microsoft Visual C ++ AppLocal Runtime. Dialógové okno ešte nezatvárajte.

referencie projektu

Ďalej prejdite na projekty (tiež v rovnakom dialógovom okne zo zoznamu vľavo) a začiarknite políčko vedľa každého z týchto troch Microsoft. výrobca projekty.

referencie výrobcu

Bolo to ťažšie, ako by malo byť, ale musíte to urobiť iba raz; teraz sa môžeme baviť s programovaním - sľubujem, že to nie je také strašidelné.

programovanie

Ak máte problémy s pokračovaním, úplný kód je k dispozícii na stránke Pastebin. Napriek tomu dôrazne odporúčame prečítať si poznámky nižšie, aby som mohol vysvetliť, čo kód v skutočnosti robí.

Najprv musíme pridať trochu kódu, ktorý hovorí, že na komunikáciu s Arduino potrebujeme port USB. Nájsť Package.appxmanifest súbor z prieskumníka riešení a dvojitým kliknutím ho upravte. Potrebujeme sem vložiť nejaký kód - technicky „vložíme podradený uzol“, pretože ide o súbor XML, ale nahradíme celý sekcia s kódom nižšie, takže to vyzerá takto:

schopnosti

Presný kód sa bude líšiť, ak používate Bluetooth alebo ak zacieľujete na Win8.1 namiesto 10, ale nasledujúce je pre pripojenie Windows 10 a USB.

Prejdite na stránku build menu -> Znovu zostaviť riešeniea uistite sa, že sa vám nevyskytli žiadne chyby.

Z prieskumníka riešení rozbaľte MainPage.xaml uzol. Dvojitým kliknutím sa načíta návrhár formulárov, ku ktorému sa vrátime neskôr, ale zatiaľ sa otvoria MainPage.xaml.cs, ktorá obsahuje hlavnú logiku našej aplikácie.

Do prvej časti pridajte dva riadky, čo znamená, že budeme používať Arduino bity.

pomocou spoločnosti Microsoft. Maker.serial; pomocou spoločnosti Microsoft. Maker. RemoteWiring;

Pridal som tiež riadok, ktorý hovorí, že budeme používať Systém. diagnostika; čo nám umožňuje používať Ladenie. .WriteLine () funkcia na výstup ladiacich správ do IDE.

Po prvé, definujme niekoľko premenných, ktoré budeme používať v celom texte. Pridajte tieto riadky tesne pred verejná hlavná stránka () funkčné vyhlásenie.

UsbSerial pripojenie; RemoteDevice arduino; UInt16 lastvalue;

Ďalej preskočte do funkcie MainPage () - nazýva sa to konštruktor a je to funkcia, ktorá sa zavolá ihneď po vytvorení našej aplikácie, takže pomocou nej nastavíme všetko.

Najprv pridajte riadok na nadviazanie sériového pripojenia USB na konkrétne zariadenie USB (Arduino).

connection = new UsbSerial ("VID_2341", "PID_0043");

Všimnite si, že USB ID štandardného Arduino Uno sú už do bloku kódované, ale môžete to overiť z Správca zariadení -> Porty (COM a LPT) -> Arduino Uno -> podrobnosti tab -> Hardvérové ​​ID.

skontrolovať usb schoval pid

Potom pridajte nasledujúce riadky.

arduino = nový RemoteDevice (pripojenie); Pripojenie. ConnectionEstendeded + = OnConnectionEstendeded; connection.begin (57600, SerialConfig. SERIAL_8N1);

Deje sa tu niekoľko vecí. Najprv vytvárame objekt RemoteDevice - pamätajte, že to je vrstva, ktorá nám dáva veľa príkazov Arduino - a jej premennému je „arduino“. Ďalší riadok sa pripája k udalosti ConnectionEstendeded „Po úspešnom nadviazaní spojenia USB spustite funkciu s názvom OnConnectionEstigure ()“.

Finále len povie spojenie začať už pri prenosovej rýchlosti 57600, pomocou 8N1 bitový vzor.

Túto funkciu OnConnectionEstproveded () budete musieť vytvoriť aj teraz, preto sa presuňte mimo funkcie MainPage () a vykonajte iba prázdnu funkciu nasledovne.

súkromné ​​prázdno OnConnectionEstended () { // LOGICKÁ TU. }

Skočte späť na návrhára formulárov, ktorý som spomenul vyššie (ak ste zabudli ako: dvakrát kliknite na ikonu) MainPage.xaml z prieskumníka riešení). Vytvorte dve tlačidlá. Ak to chcete urobiť, otvorte kartu Toolbox, ktorú nájdete vertikálne pripnutú na ľavej strane obrazovky. Potiahnite dve tlačidlá na stránku a potom jedno označte na a jeden preč.

tlačidlá pre návrhárov formulárov

Vyberte prvé tlačidlo a potom z poľa Vlastnosti v pravom dolnom rohu pomenujte „OnButton“. Kliknite na malú ikonu blesku - toto je zoznam udalostí a akcií, pomocou ktorých sa určuje, čo sa stane, keď sa s prvkami formulára interaguje. Do „.“ Napíšte „OnButtonClick“ cvaknutie lúka.

Po stlačení klávesu Enter sa automaticky vytvorí kód pre danú udalosť tlačidla a načíta sa štandardné zobrazenie kódu. Prejdite späť na návrhára formulárov a urobte to isté pre tlačidlo Vypnúť, ale tentoraz to nazvite „Vypnúť“ a „Vypnúť vypnúť“. Keď ste tam, choďte do toho a pomenujte za ním hlavný formulár ako „Stránka“ - použijeme to neskôr. Teraz by ste mali mať niečo podobné snímke obrazovky nižšie:

návrhár vytvára udalosti

Na chvíľu prepnite späť k dizajnérovi a znova pre každé z tlačidiel nastavte je umožnené majetok do nepravdivý. Môžete to urobiť buď zadaním vlastnosti priamo do zobrazenia kódu XAML, alebo to nájdete začiarknite políčko v poli Vlastnosti (ak ste stále v zobrazení akcií, kliknite na kľúč) - nachádza sa pod ikonou rozšírený obyčajný kategória nehnuteľností.

Nie je to nevyhnutné, ale je dobré vypnúť tlačidlá, až kým si nebudeme istí, že Arduino je zapojené a pripojené.

Ak ich chcete znova povoliť, pridajte do funkcie OnConnectionEstendeded () nasledujúce. S presným významom kódu sa zatiaľ nemusíte veľmi obávať, je to práve spôsob, akým sa má spracovávať aktualizácia formulárov v moderných aplikáciách Windows, aby sa zabezpečil dobrý výkon. Keď sa pripojíme k Arduino, nastavíme Je umožnené vlastnosť tlačidiel na true.

private void OnConnectionEstproveded () {// povoľuje tlačidlá zapnutia var action = Dispatcher. RunAsync (Windows. UI.Core. CoreDispatcherPriority. Normálne, nové Windows. UI.Core. DispatchedHandler (() => {OnButton. IsEnabled = true; Vypínac. IsEnabled = true; })); arduino.pinMode (14, PinMode. Analóg); Arduino. AnalogPinUpdatedEvent + = MyAnalogPinUpdateCallback; Ladenie. WriteLine (arduino.analogRead (14)); }

Uvidíte tiež všeobecnejší príkaz pinMode (), ktorý hovorí, že na kolíku 14 máme analógový vstup (existuje 13 digitálnych pinov, takže A0 sa počíta od 14). Potom máme ďalšie vyhlásenie o udalosti - keď sa aktualizuje hodnota analógového kódu PIN, zavolajte funkciu MyAnalogPinUpdateCallback.

Nakoniec musíme upraviť udalosti kliknutia na tlačidlo a rozhodnúť sa, čo sa stane, keď sa zmení analógový vstup. Začnime s tlačidlami. S Arduino môžeme interagovať pomocou podobných názvov funkcií ako bežný Arduino kód:

arduino.digitalWrite (13, PinState. HIGH);

Prilepte to pre udalosť onButton, a to pre udalosť offButton:

arduino.digitalWrite (13, PinState. LOW);

Jednoduchá. Analógový vstup z Arduina je trochu zložitejší, ale tu je to, s čím som prišiel.

public void MyAnalogPinUpdateCallback (byte pin, hodnota UInt16) {if (value-lastvalue> 5 || hodnota lastvalue> 5) {
Ladenie. WriteLine ("Pin A" + pin + "je teraz" + hodnota); var action = Dispečer. RunAsync (Windows. UI.Core. CoreDispatcherPriority. Normálne, nové Windows. UI.Core. DispatchedHandler (() => {byte num = Convert. ToByte (hodnota / 4); Page. Pozadie = nový SolidColorBrush (Windows. UI.Color. FromArgb (255, num, num, Convert. ToByte (255 - num))); })); } lastvalue = hodnota; }

Upozorňujeme, že predchádzajúcu hodnotu, ktorú sme dostali od špendlíka, ukladám do premennej s názvom lastValue; to nám umožňuje skontrolovať, do akej miery sa hodnota zmenila, a to iba vtedy, ak je rozdiel významný (druh vyhladenia signálu). Ak sa zmení v oboch smeroch o viac ako 5 (0-1024 je celý rozsah hodnôt), potom reagujeme zmenou hodnoty farby pozadia RGB prvku stránky.

Pretože máme len jedno číslo, s ktorým môžeme pracovať, a ja som bol v zhone, trochu som sem zabalil veci s 3 číslami potrebnými na výrobu R, G a B. Pravdepodobne môžete prísť s niečím oveľa krajším.

hotový

arduino Windows 10 dokončené

To je všetko - spustite kód a mali by ste vidieť niečo podobné vyššie uvedenému snímku obrazovky. Tlačidlá zapnú a vypnú LED a variabilný rezistor zmení pozadie. Ak ste mali problémy, nezabudnite plný kód je tu.

Čo teraz urobíte, keď budete môcť písať svoje vlastné aplikácie Windows 10, ktoré spolupracujú s Arduino? Možno a ovládač domácej automatizácie Sprievodca domácou automatizáciou s Raspberry Pi a ArduinoTrh domácej automatizácie je zaplavený drahými spotrebiteľskými systémami, navzájom nekompatibilnými a nákladnou inštaláciou. Ak máte Raspberry Pi a Arduino, môžete v podstate dosiahnuť to isté pri ... Čítaj viac ? Dajte mi vedieť v komentároch.

James má bakalárske štúdium v ​​oblasti umelej inteligencie a je držiteľom certifikátu CompTIA A + a Network +. Je popredným vývojárom MakeUseOf a trávi svoj voľný čas hraním VR paintballu a spoločenských hier. Staval počítače od malička.