Comment créer une application windows 10 arduino (pour les débutants)

Video: faire un robot avec arduino facile !

Microsoft va tous pour Windows 10, réalisant enfin le rêve d`avoir des applications qui fonctionnent multiplateformes. Combiné avec le soutien officiel Arduino, vous avez un nouvel outil puissant à votre disposition: la possibilité de créer facilement des applications universelles de Windows qui ont une connexion matérielle dans le monde réel.

Voici comment commencer, même si vous ne l`avez jamais programmé une application Windows avant.

Avant de poursuivre, consultez la démo de ce que nous allons faire.

Je note, je ne l`ai pas utilisé Visual Studio, ou même touché C #, depuis il y a environ 10 ans. Je viens à ce dans la perspective d`une nouvelle installation de Visual Studio, et ayant tout oublié, je sais.

Si vous êtes déjà très expérimenté avec la programmation Windows application, ou même à la recherche d`un moyen simple pour commencer avec la programmation sous Windows sans ce genre de choses Arduino, essayez Ryan guide pour faire une application simple Visual Basic. débutants en programmation absolue peuvent vouloir vérifier mon programmation 101 (et partie 2) Article premier.Comment vous pouvez faire votre propre application simple avec VBAComment vous pouvez faire votre propre application simple avec VBAPour ceux d`entre vous qui aiment vraiment être en mesure d`écrire votre propre application, mais n`a jamais tapé une seule ligne de code avant, je vais vous guider à travers faire votre très ...Lire la suite

Vous devez être familier avec certains projets Arduino pour débutants (Et peut-être même lire notre Guide Arduino), Mais ce sera probablement la première fois que vous avez essayé de créer un vrai peu de logiciels d`interagir avec elle.

Téléchargements

Tout d`abord: vous devez rejoindre le programme initié Windows pour obtenir la dernière édition d`aperçu Visual Studio 2015, et la dernière version de Windows 10 Aperçu. Faire maintenant - c`est gratuit. Windows 10 est un aperçu de développeur, et ne doit pas être installé comme système d`exploitation principal. Il est bogué comme l`enfer.

  • Rejoignez le programme initié Windows et télécharger Windows 10 Technical Preview
  • Obtenez l`aperçu de Visual Studio 2015 Community Edition (avec des outils de développement de Windows 10).

Visual Studio est propre environnement de développement de Microsoft que nous allons utiliser pour créer une application Windows C #.

Pourquoi c#? Avec de fortes similitudes avec Java, il est un langage de programmation relativement facile pour les débutants d`obtenir une application de travail et en cours d`exécution, mais assez puissant que vous pouvez continuer à créer des applications étonnantes (même jeux: C # est le langage de script unité de choix - chèque notre livre électronique gratuit, Guide du débutant à la programmation d`un jeu avec l`unité).Programmation d`un jeu avec l`unité: Guide du débutantProgrammation d`un jeu avec l`unité: Guide du débutantDans le paysage en évolution du développement de jeux indépendant, l`unité a émergé comme quelque chose d`une norme de facto: son faible coût, facilité d`utilisation et un large jeu de fonctionnalités le rendent idéal pour le développement de jeux rapide.Lire la suite

Si vous avez pas déjà, téléchargez le Arduino IDE à partir du site officiel Arduino.cc et installer le norme firmata sur la carte. Vous trouverez sous Exemples -gt; firmata -gt; norme Firmata. Cela tourne juste dans un dispositif de série « muet », qui fera tout notre application indique à - il n`y aura pas de logique d`application sur la carte elle-même, juste une interface entre notre application et tous les capteurs ou de sortie connecté à l`Arduino .

En termes de câblage, vous pouvez coller une LED directement à la broche 13 et GND comme ci-dessous, ou utilisez la LED embarquée. Vous aurez également besoin d`une résistance variable (je l`ai utilisé un 10k potentiomètre linéaire) allant dans A0 (avec les jambes appropriées sur GND et + 5v aussi, évidemment).

arduino-Windows 10-demo

Enfin, téléchargez le package de câblage à distance à partir GitHub. Ceci est la couche que nous devons ajouter que notre application permettra de Windows pour parler à l`Arduino.

Créer une application

Allez-y et ouvrez Visual Studio. Si cela est la première fois que vous avez exécuté, vous aurez la possibilité de vous connecter. Ignorer que si vous le souhaitez. Choisir Visual C # comme option de développement et continue- soit, il faut quelques minutes pour préparer Visual Studio pour la première utilisation.

Créer un nouveau projet, en utilisant le modèle Visual C # -gt; App Blank (Windows Universal). J`ai appelé le mien « Test Arduino », mais il n`a pas d`importance.

c nouvelles fenêtres universelles forte application

À ce stade, je rencontrais une erreur d`avoir à passer de Windows 10 en mode développeur si je voulais exécuter effectivement l`application. Allez-y et faire, mais si vous trouvez votre build de Windows 10 se bloque sur ce paramètre, il est un bug connu et vous aurez besoin d`utiliser l`éditeur de stratégie de groupe pour activer le mode développeur.

, Cliquez juste à côté partout dans le Explorateur de solution (C`est la chose à droite) et sélectionnez Ajouter -gt; projet existant.

Explorateur de solutions ajouter des projets

Naviguer à l`endroit où vous avez téléchargé les fichiers de câblage à distance de Github - si elle a été décompressé, il devrait être un dossier appelé Câblage à distance se développer. A l`intérieur, vous trouverez Microsoft.Maker.win10- et à l`intérieur de ce que vous trouverez 3 autres dossiers. À son tour, ajoutez chacun en naviguant à l`intérieur de ces trois dossiers et de trouver le fichier de projet.

Si vous recevez des erreurs de « fichier XAML 8.2 introuvable », vous avez la mauvaise version de Visual Studio ou ne pas les outils de développement encore installé. Revenez au début de cet article et assurez-vous d`avoir téléchargé et installé les deux fichiers Visual Studio liés.

Ces 3 projets que vous venez d`ajouter ne sont que les différentes couches de l`interface Arduino. De l`explorateur de solution, si vous faites un clic droit et sélectionnez dépendances -gt; construire des dépendances, vous pouvez voir quelles couches dépendent de qui (En série ne dépend pas anything- firmata dépend de Série- RemoteWiring dépend à la fois). Le seul changement que vous devez faire ici est de sélectionner votre projet dans la liste déroulante et cochez chaque case pour indiquer que votre projet dépend de tous ces projets.

vérifier les dépendances

Une dernière étape: depuis l`explorateur de solution à nouveau, faites un clic droit sur la Les références article dans votre projet, et sélectionnez Ajouter Référence. De la gauche, accédez à windows Universal, puis cochez la case à côté Microsoft Visual C ++ applocal Package Runtime. Ne fermez pas la boîte de dialogue.

références de projet

Suivant Accédez Projets (Également sur la même boîte de dialogue, dans la liste à gauche), et cochez la case à côté de chacun des trois Microsoft.Maker projets.

références fabricant

C`était plus dur qu`il devrait être, mais il vous suffit de le faire maintenant, nous pouvons à passage unique vous amuser avec la programmation - Je vous promets que ce n`est pas si effrayant.

Video: 3 min pour créer une application Android avec WINDEV Mobile

La programmation

Si vous avez du mal à suivre le long, le code complet est disponible sur Pastebin. Je suggère fortement de lire dans les notes ci-dessous de toute façon, donc je peux expliquer ce que le code ne fait.

Video: [TUTO 1] Faire clignoter une LED avec un Arduino [FR] [HD]

Tout d`abord, nous avons besoin d`ajouter un peu de code qui dit nous avons besoin d`un port USB pour communiquer avec l`Arduino. Trouvez le Package.appxmanifest fichier depuis l`explorateur de solution, et double-cliquez pour le modifier. Nous devons coller du code dans ici - sur le plan technique, nous serons « l`insertion d`un nœud enfant », car il est un fichier XML, mais il suffit de remplacer l`ensemble section avec le code ci-dessous il ressemble à ceci:

capacités

Le code exact varie si vous utilisez Bluetooth, ou si vous ciblez Win8.1 au lieu de 10, mais ce qui suit est pour Windows 10, connexion USB.

lt;capacitésgt;lt;Nom de la capacité="internetClient" /gt;lt;Nom DeviceCapability="serialcommunication"gt;lt;Reference de l`appareil="tout"gt;lt;Type de fonction="Nom: SERIALPORT"gt;lt;/Dispositifgt;lt;/DeviceCapabilitygt;lt;/capacitésgt;

Allez à la Construire Menu -gt; Régénérer la solution, et assurez-vous que vous ne recevez pas d`erreurs.

De l`explorateur de solutions, développez le MainPage.xaml nœud. Double-cliquer sur cette charge le concepteur de formulaire que nous reviendrons plus tard, mais pour l`instant d`ouvrir MainPage.xaml.cs, qui contient la logique principale derrière notre application.

Ajouter deux lignes dans la première section, pour indiquer que nous allons « en utilisant » les bits Arduino.

en utilisant Microsoft.Fabricant.en série-en utilisant Microsoft.Fabricant.RemoteWiring-

J`ai aussi ajouté une ligne à dire que nous allons utiliser Diagnostique du systeme- ce qui nous permet d`utiliser la Debug.WriteLine () fonction des messages de débogage de sortie à l`IDE.

Tout d`abord, nous allons définir quelques variables que nous allons utiliser tout au long. Ajoutez ces lignes juste avant la MainPage publique () déclaration de fonction.

connexion usbserial-RemoteDevice arduino-UInt16 lastvalue-

Ensuite, sauter dans la fonction MainPage () - ce qu`on appelle le constructeur, et il est une fonction qui est appelée immédiatement lorsque notre application est créée, donc nous l`utilisons pour tout mettre en place.

Tout d`abord, ajouter une ligne pour établir la connexion USB série à un périphérique USB spécifique (Arduino).

connexion =Nouveau usbserial("VID_2341", "PID_0043")-

Notez que les ID USB d`une Uno norme Arduino sont codés dans le bloc déjà, mais vous pouvez le vérifier à partir Gestionnaire de périphériques -gt; Ports (COM et LPT) -gt; Arduino Uno -gt; Détails onglet -gt; ID matériel.

vérifier usb caché pid

Ensuite, ajoutez simplement les lignes suivantes après.

arduino = Nouveau RemoteDevice(connexion)-connexion.Connection établie += OnConnectionEstablished-connexion.commencer(57600, SerialConfig.SERIAL_8N1)-

Quelques choses se passent ici. Tout d`abord, nous créons un objet RemoteDevice - rappelez-vous, c`est la couche qui nous donne un tas de commandes Arduino - et en lui donnant le nom de la variable « arduino ». La ligne suivante accorde à l`événement ConnectionEstablished, dire « Une fois la connexion USB a été mis en place avec succès, s`il vous plaît exécuter la fonction appelée OnConnectionEstablish () ».

La finale indique que la connexion à commencer déjà, à une vitesse de transmission de 57600, en utilisant la configuration binaire 8N1.

Vous aurez également besoin de créer cette fonction fonction maintenant se déplacer en dehors de la MainPage () OnConnectionEstablished () et juste faire une fonction vide comme suit.

privé vide OnConnectionEstablished(){// LOGIC ICI}

Retournez au concepteur de formulaire je l`ai mentionné plus tôt (si vous avez oublié comment: double-cliquez sur MainPage.xaml à partir de l`explorateur de solution). Créez deux boutons. Pour ce faire, ouvrez l`onglet Boîte à outils que vous trouverez épinglé verticalement sur le côté gauche de l`écran. Faites glisser deux boutons sur la page, puis étiquetez un Sur et une De.

ajouter le concepteur de formulaire boutons

Sélectionnez le premier bouton, puis dans la zone Propriétés en bas à droite, nommez-le « OnButton ». Cliquez sur la petite icône de l`éclair - voici la liste des événements et des actions qui permet de préciser ce qui se passe lorsque des éléments de formulaire sont interagi avec. Tapez « OnButtonclick » dans la Cliquez champ.

Lorsque vous appuyez sur Entrée, il va créer automatiquement le code pour cet événement bouton particulier et charger la vue de code standard. Revenez au concepteur de formulaire pour l`instant et faire la même chose pour le bouton Off, mais cette fois appeler « OffButton » et « OffButtonclick ». Pendant que vous êtes là, allez-y et nommez la principale forme de fenêtre derrière comme « Page » - nous allons utiliser plus tard. Vous devriez maintenant avoir quelque chose qui ressemble à la capture d`écran ci-dessous:

concepteur crée des événements

Video: Tuto n°1 : Les Bases - Créer une Appli Androïd - MIT App Inventor 2

Revenez au concepteur à nouveau pour un moment, et encore pour chacun des boutons, réglez la est autorisé à la propriété Faux. Soit vous faites cela en tapant la propriété directement dans la vue du code XAML, ou vous pouvez trouver cette case dans la zone Propriétés (cliquez sur la clé si vous êtes toujours sur les possibilités) - il est sous l`expansion Commun catégorie de propriétés.

Ce n`est pas indispensable, mais il est bon de désactiver les boutons jusqu`à ce que nous sommes sûrs que l`Arduino est branché et connecté.

Pour les réactiver, ajouter ce qui suit à la fonction OnConnectionEstablished (). Ne vous inquiétez pas trop sur le sens exact du code pour l`instant, il est juste la façon dont vous êtes censé gérer les mises à jour du formulaire dans les applications Windows modernes pour assurer une bonne performance. Une fois que nous avons connecté à l`Arduino, nous avons mis la Est autorisé propriété des boutons à true.

privé vide OnConnectionEstablished(){// activer les boutons sur offvar action = Dispatcher.RunAsync(les fenêtres.UI.Coeur.CoreDispatcherPriority.Normal, Nouveau les fenêtres.UI.Coeur.DispatchedHandler(() =gt; {OnButton.Est autorisé = vrai-OffButton.Est autorisé = vrai-}))-arduino.pinMode(14, pinMode.ANALOGIQUE)-arduino.AnalogPinUpdatedEvent += MyAnalogPinUpdateCallback-Déboguer.WriteLine(arduino.analogRead(14))-}

Vous verrez également une déclaration pinMode () plus familier, de dire que nous avons une entrée analogique sur la broche 14 (il y a 13 broches numériques, donc A0 commencer à compter du 14). Ensuite, nous avons une autre déclaration de l`événement - lorsque les mises à jour de la valeur des broches analogiques, appelez la fonction MyAnalogPinUpdateCallback.

Enfin, nous devons modifier les événements de clic de bouton et de décider ce qui se passe lorsque les changements d`entrée analogique. Commençons par les boutons. Nous pouvons interagir avec l`Arduino en utilisant des noms de fonction similaire régulière code Arduino, comme suit:

arduino.digitalWrite(13, PinState.HAUTE)-

Coller que pour l`événement onButton, et cela pour la offButton:

arduino.digitalWrite(13, PinState.FAIBLE)-

Simple. L`entrée analogique de l`Arduino est un peu plus délicat, mais voici ce que je suis venu avec.

public vide MyAnalogPinUpdateCallback(octet épingle, UInt16 valeur){si(valeur-lastvalue gt;5 || lastvalue-valeur gt; 5){
Déboguer.WriteLine("Pin A" + épingle + " est maintenant " + valeur)-var action = Dispatcher.RunAsync(les fenêtres.UI.Coeur.CoreDispatcherPriority.Normal, Nouveau les fenêtres.UI.Coeur.DispatchedHandler(() =gt; {octet num = Convertir.ToByte(valeur / 4)-Page.Contexte = Nouveau SolidColorBrush(les fenêtres.UI.Couleur.FromArgb(255, num, num, Convertir.ToByte(255 -num)))-}))-}lastvalue = valeur-}

Notez que je stocker la valeur précédente, nous avons reçu de la broche dans une variable appelée lastValue- cela nous permet de vérifier combien la valeur est modifiée, et ne réagissent que si la différence est significative (une sorte de lissage du signal). Si elle change dans les deux sens plus de 5 (0-1024 est la gamme complète des valeurs), nous réagissons en changeant la valeur de couleur de fond RVB de l`élément de la page.

Étant donné que nous n`avons qu`un seul numéro à travailler avec, et j`étais pressé, je trafiqué les choses un peu ici avec les 3 numéros nécessaires pour faire R, G et B. Vous pouvez probablement trouver quelque chose de beaucoup plus joli.

Fini

fenêtres arduino 10 REMPLI

Ca y est - exécuter le code, et vous devriez voir quelque chose de similaire à la capture d`écran ci-dessus. Les boutons tourneront la LED sur et en dehors, et la résistance variable va changer l`arrière-plan. Si vous avez eu du mal, ne pas oublier le code complet est ici.

Maintenant que vous pouvez écrire vos propres applications Windows 10 qui interagissent avec Arduino, qu`allez-vous faire? peut-être un contrôleur domotique? Faites-moi savoir dans les commentaires.DOMOTIQUE avec Raspberry Pi et ArduinoDOMOTIQUE avec Raspberry Pi et ArduinoLe marché de la domotique est inondé avec des systèmes de consommation coûteux, incompatibles entre eux et coûteux à installer. Si vous avez un Raspberry Pi et un Arduino, vous pouvez en principe obtenir la même chose ...Lire la suite

Articles connexes