Como criar um windows 10 aplicativo arduino (para principiantes)

Microsoft vai all in de Windows 10, finalmente, realizar o sonho de ter aplicativos que rodam cross-platform. Combinado com suporte oficial para Arduino, você tem uma nova e poderosa ferramenta à sua disposição: a capacidade de criar facilmente aplicativos universais do Windows que tenham uma ligação de hardware para o mundo real.

Veja como começar, mesmo que você nunca tenha programado um aplicativo do Windows antes.

Antes de continuar a ler, consulte a demonstração do que vamos fazer.

Devo observar, eu não usei o Visual Studio, ou mesmo tocado C #, uma vez que cerca de 10 anos atrás. Estou chegando neste partir da perspectiva de um Visual Studio nova instalação, e depois de ter esquecido tudo o que sei.

Se você já está bastante experiente com a programação de aplicativo do Windows, ou mesmo procurando uma maneira simples de começar com programação em Windows sem essas coisas Arduino, tente Ryan Guia para fazer um aplicativo simples do Visual Basic. programadores iniciantes absolutos pode querer check out my programação 101 (e parte 2) Artigo primeiro.Como você pode fazer sua própria simples App Com VBAComo você pode fazer sua própria simples App Com VBAPara aqueles de vocês que realmente gostaria de ser capaz de escrever sua própria aplicação, mas nunca ter digitado uma única linha de código antes, eu vou levá-lo através de fazer o seu muito ...consulte Mais informação

Você deve estar familiarizado com alguns projectos Arduino para iniciantes (E talvez até mesmo ler a nossa Guia Arduino), Mas esta será provavelmente a primeira vez que você tentou criar um pouco real do software de computador para interagir com ele.

Video: Install Arduino Software (IDE) on Windows 10

Transferências

Primeiro: você precisa para participar do Programa Insider Windows para obter a mais recente edição de visualização de Visual Studio 2015, e a última versão do Windows 10 Pré-Visualização. Faça isso agora - é grátis. Windows 10 é um preview para desenvolvedores, e não deve ser instalado como seu sistema operacional principal. É de buggy como o inferno.

  • Junte o programa Windows Insider, e baixar o Windows 10 Técnico Pré-Visualização
  • Obter o preview do Visual Studio 2015 Community Edition (completo com ferramentas do Windows 10 desenvolvimento).

Estúdio visual é ambiente de desenvolvimento próprio da Microsoft, que vamos usar para criar um aplicativo do Windows C #.

Por que C #? Com fortes semelhanças com Java, é uma linguagem de programação relativamente fácil para iniciantes para obter um aplicativo de trabalho instalado e funcionando, mas poderoso o suficiente para que você pode ir em criar algumas aplicações impressionantes (até mesmo jogos: C # é a linguagem de script Unidade de escolha - cheque a nossa eBook livre, Guia do Iniciante para Programação de um jogo com Unity).Programação de um jogo com Unity: Guia de um novatoProgramação de um jogo com Unity: Guia de um novatoNo cenário em evolução do desenvolvimento de jogos indie, Unidade emergiu como uma espécie de padrão de fato: seu baixo custo, facilidade de uso e ampla conjunto de características o tornam ideal para o desenvolvimento do jogo rápido.consulte Mais informação

Se você não tiver, baixe o Arduino IDE a partir do site oficial Arduino.cc, e instalar o Firmata padrão na placa. Você vai encontrá-lo sob Exemplos -gt; Firmata -gt; Firmata padrão. Isso só transforma-lo em um dispositivo serial “burro”, que irá fazer o nosso aplicativo informa a ele que - não haverá nenhuma lógica aplicativo no próprio conselho, apenas uma interface entre a nossa aplicação, e quaisquer dispositivos sensores ou de saída conectado ao Arduino .

Em termos de fiação, você pode ficar um LED diretamente ao pino 13 e GND como abaixo, ou usar a onboard LED. Você também vai precisar de um resistor variável (eu usei um potenciômetro linear 10k) entrar em A0 (com as pernas apropriadas no GND e + 5V também, obviamente).

arduino-Windows 10-demo

Finalmente, baixe o pacote de fiação remoto a partir GitHub. Esta é a camada que precisamos de acrescentar que permitirá que nosso aplicativo Windows para falar com o Arduino.

Criar um aplicativo

Vá em frente e abrir Visual Studio. Se esta é a primeira vez que você executá-lo, você vai ser dada a opção de login. Ignorar que, se você gosta. Escolher Visual C # como a opção de desenvolvimento e continue- de qualquer forma, que leva alguns minutos para preparar Visual Studio para a primeira utilização.

Criar um novo projeto, usando o modelo Visual C # -gt; Em branco App (Windows Universal). Eu chamei o meu “Test Arduino”, mas não importa.

novos c sharp aplicativo janelas universais

Neste ponto, I encontrou um erro em ter que mudar o Windows 10 em modo de desenvolvedor se eu queria realmente executar o aplicativo. Vá em frente e fazer isso, mas se você encontrar sua compilação do Windows 10 está falhando nessa configuração, é um bug conhecido e você vai precisar usar o editor política de grupo para ativar o modo de desenvolvedor.

Em seguida, clique direito em qualquer lugar do Solution Explorer (Essa é a coisa na direita) e selecione Adicionar -gt; Projeto existente.

Video: Aprenda a PROGRAMAR PARA ARDUINO e CRIAR APPS Grátis!

Solution Explorer adicionar projetos

Navegue até onde você baixou os arquivos fiação remota de Github - se ele foi descompactado, ele deve ser uma pasta chamada -Fiação remoto desenvolver. Dentro de lá você encontrará Microsoft.Maker.win10- e dentro de que você vai encontrar mais 3 pastas. Por sua vez, adicione cada um por navegar dentro dessas três pastas e encontrar o arquivo de projeto.

Video: Arduino Instalação e Exemplo de Aplicativo com ArduBlock

Se você receber erros sobre “XAML 8.2 arquivo não encontrado”, você tem a versão errada do Visual Studio ou não têm as ferramentas de desenvolvedor instalado ainda. Voltar ao início deste artigo e garantir que você tenha baixado e instalado ambos os arquivos do Visual Studio vinculados.

Estes 3 projetos que você acabou de adicionar são apenas diferentes camadas da interface Arduino. A partir do gerenciador solução, se você clique direito e selecione dependências -gt; construir Dependências, você pode ver quais camadas dependem de quais (Serial não depende de nada- Firmata depende Serial- RemoteWiring depende tanto). A única mudança que você precisa fazer aqui é selecionar seu projeto a partir do menu suspenso, e verificar cada caixa para indicar que o seu projeto depende de todos esses outros projetos.

verificar dependências

Um último passo: a partir do gerenciador solução novamente, clique direito sobre o Referências item sob o seu projeto, e selecione add Reference. A partir da esquerda, navegue até janelas Universal, em seguida, marque a caixa ao lado de Pacote Microsoft Visual C ++ Runtime AppLocal. Não fechar o diálogo ainda.

referências do projeto

Em seguida navegar para projetos (Também na mesma caixa de diálogo, na lista à esquerda), e marque a caixa ao lado de cada um dos três Microsoft.Maker projetos.

Video: Arduino Software download and use || I did it in Windows 10 ||

referências fabricante

Isso foi mais difícil do que deveria ser, mas você só precisa fazê-lo uma vez- agora podemos ter algum divertimento com a programação - Eu prometo que não é tão assustador.

Programação

Se você tiver problemas para seguir adiante, o código completo está disponível no Pastebin. Eu sugiro fortemente a leitura através das notas abaixo de qualquer maneira, porém, para que eu possa explicar o que o código realmente faz.

Primeiro, precisamos adicionar um pouco de código que diz que precisamos de uma porta USB para se comunicar com o Arduino. Encontre o package.appxmanifest o arquivo do Explorer solução, e dê um duplo clique para editá-lo. Precisamos colar algum código em aqui - tecnicamente, nós será “a inserção de um nó filho” porque é um arquivo XML, mas apenas substituir a toda seção com o código abaixo para que ele se parece com isso:

capacidades

O código exato irá variar se você estiver usando Bluetooth, ou se você está alvejando Win8.1 em vez de 10, mas a seguir é para uma conexão Windows 10 USB.

lt;capacidadesgt;lt;Nome Capability="internetclient" /gt;lt;Nome DeviceCapability="serialcommunication"gt;lt;ID de dispositivo="qualquer"gt;lt;Tipo de função="Nome: serialport"gt;lt;/Dispositivogt;lt;/DeviceCapabilitygt;lt;/capacidadesgt;

Vou ao Construir Menu -gt; reconstruir solução, e certifique-se de não obter quaisquer erros.

A partir do gerenciador de soluções, expandir o MainPage.xaml nó. Clicando duas vezes sobre que irá carregar o designer de formulário que vamos voltar mais tarde, mas por agora abrir MainPage.xaml.cs, que contém a lógica principal por trás da nossa aplicação.

Adicione duas linhas na primeira seção, para indicar que vai ser “usando” os bits Arduino.



utilização Microsoft.criador.serial-utilização Microsoft.criador.RemoteWiring-

Eu também adicionei uma linha para dizer que vamos estar usando System.Diagnostics- o que nos permite usar o Debug.WriteLine () função para mensagens de depuração de saída para o IDE.

Primeiro, vamos definir algumas variáveis ​​que usaremos todo. Adicione estas linhas pouco antes da MainPage pública () declaração da função.

conexão usbserial-RemoteDevice arduino-UInt16 lastvalue-

Em seguida, saltar para a função MainPage () - isso é chamado o construtor, e é uma função que é chamado imediatamente quando nosso aplicativo é criado, por isso usá-lo para configurar tudo.

Primeiro, adicione uma linha para estabelecer a conexão serial USB para um dispositivo USB específico (o Arduino).

conexão =Novo usbserial("VID_2341", "PID_0043")-

Observe que os IDs USB de um Arduino Uno padrão são codificados no bloco já, mas você pode verificar isso Gerenciador de Dispositivos -gt; Portas (COM e LPT) -gt; Arduino Uno -gt; detalhes guia -gt; IDs de hardware.

verifique usb escondeu pid

Em seguida, adicione as seguintes linhas logo após isso.

arduino = Novo RemoteDevice(conexão)-conexão.Conexão estabelecida += OnConnectionEstablished-conexão.início(57600, SerialConfig.SERIAL_8N1)-

Algumas coisas estão acontecendo aqui. Em primeiro lugar, estamos criando um objeto RemoteDevice - lembre-se, que é a camada que nos dá um monte de Arduino comandos - e dando-lhe o nome da variável “arduino”. A linha seguinte é anexar ao evento ConnectionEstablished, para dizer “Uma vez que a conexão USB com sucesso foi estabelecida, por favor executar a função chamada OnConnectionEstablish ()”.

A final apenas diz a conexão para começar já, a uma taxa de transmissão de 57600, usando o padrão de bits 8N1.

Você também vai precisar para criar função que OnConnectionEstablished () agora, para mover fora da função MainPage () e apenas fazer uma função em branco como se segue.

privado vazio OnConnectionEstablished(){// lógica aqui}

Ir de volta para o designer de formulário já referi anteriormente (se você esqueceu como: clique duas vezes sobre MainPage.xaml a partir do gerenciador de solução). Criar dois botões. Para fazer isso, abra a guia Toolbox que você encontrará preso verticalmente no lado esquerdo da tela. Arraste dois botões para a página, em seguida, rotular um Em e um Fora.

form designer adicionar botões

Selecione o primeiro botão, em seguida, na caixa de Propriedades na parte inferior direita, o nome “OnButton”. Clique no pequeno ícone relâmpago - esta é a lista de eventos e ações que usado para especificar o que acontece quando elementos de formulário são interagiu com. Digite “onButtonclick” no Clique campo.

Ao pressionar Enter, ele vai automaticamente criar o código para esse evento determinado botão e carregar a visualização de código padrão. Volte para o designer de formulário para agora e fazer o mesmo para o botão Off, mas desta vez chamá-lo de “OffButton”, e “OffButtonclick”. Enquanto estiver lá, vá em frente e nomeie o formulário janela principal por trás dele como “principal” - vamos usar isso mais tarde. Agora você deve ter algo parecido com a imagem abaixo:

designer cria eventos

Volte para o designer novamente por um momento, e novamente para cada um dos botões, definir o está ativado propriedade para Falso. Você quer fazer isso, digitando a propriedade diretamente para a visualização de código XAML, ou você pode achar que caixa na caixa Propriedades (clique na chave inglesa se você ainda está nas ações Ver) - é sob a expandida Comum categoria de propriedades.

Isso não é essencial, mas é uma boa prática para desativar os botões até que temos a certeza que o Arduino está conectado e ligado.

Para reativá-los, adicione o seguinte para a função OnConnectionEstablished (). Não se preocupe muito com o significado exato do código por enquanto, é apenas a forma como você deveria lidar com as atualizações de formulário em aplicações modernas do Windows para garantir um bom desempenho. Uma vez que tenhamos ligado ao Arduino, vamos definir o Está ativado propriedade dos botões para true.

privado vazio OnConnectionEstablished(){// permitir que o on off botõesvar açao = Expedidor.RunAsync(janelas.UI.Testemunho.CoreDispatcherPriority.Normal, Novo janelas.UI.Testemunho.DispatchedHandler(() =gt; {OnButton.Está ativado = verdade-OffButton.Está ativado = verdade-}))-arduino.pinMode(14, pinMode.ANALOG)-arduino.AnalogPinUpdatedEvent += MyAnalogPinUpdateCallback-Depurar.WriteLine(arduino.analogRead(14))-}

Você também verá uma declaração mais familiarizados pinMode (), para dizer que temos uma entrada analógica no pino 14 (há 13 pinos digitais, então A0 começar a contar a partir de 14). Então nós temos uma outra declaração de evento - quando as atualizações de valor pin analógicos, chame a função MyAnalogPinUpdateCallback.

Finalmente, precisamos editar os eventos de clique de botão e decidir o que acontece quando a entrada analógica muda. Vamos começar com os botões. Podemos interagir com o Arduino usando nomes de funções semelhantes como o código Arduino regular, como segue:

arduino.digitalWrite(13, PinState.ALTO)-

Colar que para o evento onButton, e este para o offButton:

arduino.digitalWrite(13, PinState.BAIXO)-

Simples. A entrada analógica do Arduino é um pouco complicado, mas aqui está o que eu vim acima com.

público vazio MyAnalogPinUpdateCallback(byte PIN, UInt16 valor){E se(valor-lastvalue gt;5 || lastvalue-valor gt; 5){
Depurar.WriteLine("Pin A" + PIN + " é agora " + valor)-var açao = Expedidor.RunAsync(janelas.UI.Testemunho.CoreDispatcherPriority.Normal, Novo janelas.UI.Testemunho.DispatchedHandler(() =gt; {byte num = Converter.ToByte(valor / 4)-Página.fundo = Novo SolidColorBrush(janelas.UI.Cor.FromArgb(255, num, num, Converter.ToByte(255 -num)))-}))-}lastvalue = valor-}

Note que eu estou armazenando o valor anterior recebemos do pino em uma variável chamada lastValue- isso nos permite verificar o quanto o valor é alterado, e só reagir se a diferença é significativa (uma espécie de suavização de sinal). Se ele muda em qualquer direção mais de 5 (0-1024 é toda a gama de valores), então reagimos, alterando o valor cor de fundo RGB do elemento da página.

Como temos apenas um número para trabalhar com, e eu estava com pressa, eu falsificado as coisas um pouco aqui com os 3 números necessários para fazer R, G e B. Você provavelmente pode chegar a algo muito mais bonita.

Acabado

janelas arduino 10 concluídas

É isso - executar o código, e você deve ver algo semelhante à captura de tela acima. Os botões vai virar o LED on e off, eo resistor variável irá mudar o fundo. Se você teve problemas, não se esqueça o código completo está aqui.

Agora que você pode escrever seus próprios do Windows 10 aplicativos que interagem com Arduino, o que você vai fazer? talvez um controlador de automação residencial? Deixe-me saber nos comentários.Home Automation com Raspberry Pi e ArduinoHome Automation com Raspberry Pi e ArduinoO mercado de automação residencial é inundado com sistemas de consumo caros, incompatíveis um com o outro e caro para instalar. Se você tem um Raspberry Pi e um Arduino, basicamente você pode conseguir a mesma coisa no ...consulte Mais informação


Artigos relacionados