Беспроводная последовательная связь

Я создал этот эскиз Arduino, который связывается с моим компьютером через консольную библиотеку и использует последовательный монитор в моей сети. По сути, когда я ввожу цифру 1, мой шаговый двигатель Arduino перемещается на 30 шагов и т. Д. Однако вводить последовательный монитор неудобно. Я надеялся, что кто-нибудь узнает, как я могу создать исполняемую форму Windows или что-то, что можно подключить через мою сеть к консоли Arduino Yun.

#include <Stepper.h>
#include <Console.h>

char incomingByte;      
Stepper stepper(64,8,9,10,11);
int stepCount = 1;

void setup() {

  Bridge.begin();  
  Console.begin(); 
  while (!Console);
  stepper.setSpeed(60);

}

void loop() {
  if (Console.available() > 0) 
  {    

incomingByte = Console.read();

    if (incomingByte == '1') 
    {
    stepCount += 30;
     if (stepCount > 0 && stepCount < 4096)
     {
     stepper.step(30);
     Console.println(stepCount);
     }
    else{stepCount = stepCount - 30;}
    }

    if (incomingByte == '2') 
    {
    stepCount = stepCount - 30;
     if (stepCount > 0 && stepCount < 4096)
     {
     stepper.step(-30);
     Console.println(stepCount);
     }
    else{stepCount += 30;}
    }

    if (incomingByte == '3') 
    {
    stepCount += 200;
     if (stepCount > 0 && stepCount < 4096)
     {
     stepper.step(200);
     Console.println(stepCount);
     }
    else{stepCount = stepCount - 200;}
    }

    if (incomingByte == '4') 
    {
    stepCount = stepCount - 200;
     if (stepCount > 0 && stepCount < 4096)
     {
     stepper.step(-200);
     Console.println(stepCount);
     }
    else{stepCount += 200;}
    }
  }
}

Вот приложение Windows Form, которое я надеялся, будет работать:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO.Ports;


namespace Remote_Focuser
{
    public partial class Form1 : Form
    {
        private SerialPort myPort;
        public Form1()
        {
            Console.Read();
            InitializeComponent();
            Init();
        }

        private void Fwd_30_Button_Click(object sender, EventArgs e)
        {
            myPort.WriteLine("1");
        } 

        private void Backward_30_Button_Click(object sender, EventArgs e)
        {
            myPort.WriteLine("2");
        }

        private void Forward_200_Button_Click(object sender, EventArgs e)
        {
            myPort.WriteLine("3");
        }

        private void Backward_200_Button_Click(object sender, EventArgs e)
        {
            myPort.WriteLine("4");
        }
        private void Init()
        {
            myPort = new SerialPort();
            myPort.BaudRate = 9600;
            myPort.PortName = "10.1.1.211";

            myPort.Open();
        }
    }
}

Заранее большое спасибо, и да, я, вероятно, совершил большую ошибку, я еще не очень опытный...:)

0 ответов

Другие вопросы по тегам