Click here to Skip to main content
15,891,777 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
i already develpoed a sketch and c# program to read the serial out of Arduino uno analog pin and control digital pin. Now i am using a shield to connect the Arduino uno through Lan. So how can i convert the sketch and program to use it on lan.

============
sketch
============
C#
int LED= 2;
int LED3= 3;
int LED4= 4;
int LED5= 5;
int LED6= 6;
int LED7= 7;
int LED8= 8;
int LED9= 9;
int LED10= 10;
int LED11= 11;
int LED12= 12;
char k='F';
char a='F';
char b='F';
char c='F';
char d='F';
char e='F';
char f='F';
char g='F';
char h='F';
char i='F';
char j='F';


char data;
char x='f';

char con[80];
int analogpin=3;
void setup() {
  {
    Serial.begin(9600);
    pinMode(LED,OUTPUT);
    pinMode(LED3,OUTPUT);
    pinMode(LED4,OUTPUT);
    pinMode(LED5,OUTPUT);
    pinMode(LED6,OUTPUT);
    pinMode(LED7,OUTPUT);
    pinMode(LED8,OUTPUT);
    pinMode(LED9,OUTPUT);
    pinMode(LED10,OUTPUT);
    pinMode(LED11,OUTPUT);
    pinMode(LED12,OUTPUT);
    pinMode(analogpin,INPUT);
    Serial.begin(9600);
  }

}

void loop() {
  ////////////////
   int value = analogRead(analogpin);
   String stringOne =String(value);

  ////////////////////////////////
 data= Serial.read();

////////////////////////////

  if (data == 'o')
    {
     k='O';
    }
    else if (data == 'p')
      {
       k= 'F';
      }
      else if (data == ' ')
      {
        k= 'F';
      }

       if  (data=='o')
   {
    digitalWrite(LED,HIGH);
    x = data;
    }
    else if (data=='p')
    {
      digitalWrite(LED,LOW);
      x = data;
      }

///////////////////////////////////
/*if (data !='o'||data !='p')
  {
    data=x;
    }*/
//////////////////////////////////////
/////////////////////////////

if  (data=='A')
   {
    digitalWrite(LED3,HIGH);
    a = 'O';
   }
  else if (data=='a')
    {
    digitalWrite(LED3,LOW);
    a  = 'F';
    }
////////////////////////////

    if  (data=='B')
   {
    digitalWrite(LED4,HIGH);
    b = 'O';
   }
  else if (data=='b')
    {
    digitalWrite(LED4,LOW);
    b = 'F';
    }

/////////////////////////////

    if  (data=='C')
   {
    digitalWrite(LED5,HIGH);
    c = 'O';
   }
  else if (data=='c')
    {
    digitalWrite(LED5,LOW);
    c = 'F';
    }

///////////////////////

    if  (data=='D')
   {
    digitalWrite(LED6,HIGH);
    d = 'O';
   }
  else if (data=='d')
    {
    digitalWrite(LED6,LOW);
    d = 'F';
    }
 ///////////////////////

    if  (data=='E')
   {
    digitalWrite(LED7,HIGH);
    e = 'O';
   }
  else if (data=='e')
    {
    digitalWrite(LED7,LOW);
    e = 'F';
    }
 /////////////////////

    if  (data=='F')
   {
    digitalWrite(LED8,HIGH);
    f = 'O';
   }
  else if (data=='f')
    {
    digitalWrite(LED8,LOW);
    f = 'F';
    }
    ////////////////

    if  (data=='G')
   {
    digitalWrite(LED9,HIGH);
    g = 'O';
   }
  else if (data=='g')
    {
    digitalWrite(LED9,LOW);
    g = 'F';
    }
    ////////////

    if  (data=='H')
   {
    digitalWrite(LED10,HIGH);
    h = 'O';
   }
  else if (data=='h')
    {
    digitalWrite(LED10,LOW);
    h = 'F';
    }
    ///////////

    if  (data=='I')
   {
    digitalWrite(LED11,HIGH);
    i = 'O';
   }
  else if (data=='i')
    {
    digitalWrite(LED11,LOW);
    i = 'F';
    }
    //////////////

    if  (data=='J')
   {
    digitalWrite(LED12,HIGH);
    j = 'O';
   }
  else if (data=='j')
    {
    digitalWrite(LED12,LOW);
    j = 'F';
    }

 String sco(k);
String scoa(a);
String scob(b);
String scoc(c);
String scod(d);
String scoe(e);
String scof(f);
String scog(g);
String scoh(h);
String scoi(i);
String scoj(j);


String stringTwo= sco;
String string3=scoa;
String string4=scob;
String string5=scoc;
String string6=scod;
String string7=scoe;
String string8=scof;
String string9=scog;
String string10=scoh;
String string11=scoi;
String string12=scoj;



     stringTwo.concat(string3);
     stringTwo.concat(string4);
     stringTwo.concat(string5);
     stringTwo.concat(string6);
     stringTwo.concat(string7);
     stringTwo.concat(string8);
     stringTwo.concat(string9);
     stringTwo.concat(string10);
     stringTwo.concat(string11);
     stringTwo.concat(string12);
     stringTwo.concat(stringOne);


      Serial.println(stringTwo);
     delay(100);
}


====
c#
====
C#
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 WindowsFormsApplication3
{
    public partial class Form1 : Form
    {
        
        private DateTime datetime;
        private string in_data;
        private double con;
        string r;
        //string lb;
        public SerialPort myport;

        delegate void SetTextCallback(string text);
        string InputData = String.Empty;
        public Form1()
        {
            InitializeComponent();
            init();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            myport.WriteLine("o");
            on.Enabled = false;
            off.Enabled = true;
        }

        private void Form1_Load(object sender, EventArgs e)
        {
          //////////////////////////////////////////////
            string[] ArrayComPortsNames = null;
            int index = -1;
            string ComPortName = null;



            //Com Ports
            ArrayComPortsNames = SerialPort.GetPortNames();
            do
            {
                index += 1;
                cboPorts.Items.Add(ArrayComPortsNames[index]);


            } while (!((ArrayComPortsNames[index] == ComPortName) || (index == ArrayComPortsNames.GetUpperBound(0))));
            Array.Sort(ArrayComPortsNames);

            if (index == ArrayComPortsNames.GetUpperBound(0))
            {
                ComPortName = ArrayComPortsNames[0];
            }


            try
            {
                myport = new SerialPort();
                myport.BaudRate = 9600;


            }
            catch (Exception)
            {
                MessageBox.Show("Error");
            }
            
        }
        private void init()
        {
            
            on.Enabled = false;
            off.Enabled = false;
        }

        private void off_Click(object sender, EventArgs e)
        {
            myport.WriteLine("p");
            on.Enabled = true;
            off.Enabled = false;
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            r = myport.ReadLine();
            label1.Text = r;
            
            }

        private void button1_Click_1(object sender, EventArgs e)
        {
            try
            {
                myport = new SerialPort();
                myport.BaudRate = 9600;
                myport.PortName = cboPorts.Text;
                myport.Open();
                button1.Enabled = false;

            }
            catch (Exception)
            {
                MessageBox.Show("Error");
            }

            myport.Parity = Parity.None;
            myport.DataBits = 8;
            myport.StopBits = StopBits.One;
            myport.DataReceived += myport_DataReceived;


            try
            {

                textBox1.Text = "";
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "error");

            }

        }
        void myport_DataReceived(object sender, SerialDataReceivedEventArgs e)
        {
            in_data = myport.ReadLine();
            this.Invoke(new EventHandler(displaydata_event));



        }
        private void displaydata_event(object senter, EventArgs e)
        {

            string rd = myport.ReadLine();
            string sub = rd.Substring(0, 1);
            //////////////////////////////////////////////

            if (sub == "F")
            {
                on.Enabled = true;
                off.Enabled = false;
            }
            else if (sub == "O")
            {
                on.Enabled = false;
                off.Enabled = true;
            }
            label1.Text = sub;
            //////////////////////////////////////////////

            ///////////****LABELS******///////////
            label2.Text = rd.Substring(1, 1);
            label3.Text = rd.Substring(2, 1);
            label4.Text = rd.Substring(3, 1);
            label5.Text = rd.Substring(4, 1);
            label6.Text = rd.Substring(5, 1);
            label7.Text = rd.Substring(6, 1);
            label8.Text = rd.Substring(7, 1);
            label9.Text = rd.Substring(8, 1);
            label10.Text = rd.Substring(9, 1);
            label11.Text = rd.Substring(10, 1);

            /////////////////////////////////////
            //string st = rd.Substring(1);
            string st = rd.Remove(0, 11);
            datetime = DateTime.Now;
            string time = datetime.Hour + ":" + datetime.Minute + ":" + datetime.Second;

            con = (Convert.ToDouble(st) * 5 / 1024);

            if (con > 3.5)
            { System.Media.SystemSounds.Beep.Play(); }
            if (con == 0)
            { System.Media.SystemSounds.Asterisk.Play(); }

            textBox1.Text = time + "\t\t\t" + con;
            if (con > 2.9 & con < 3.9)
            { textBox1.BackColor = System.Drawing.Color.Orange; }
            if (con > 3.9)
            { textBox1.BackColor = System.Drawing.Color.Red; }

            if (con < 3)
            { textBox1.BackColor = System.Drawing.Color.Green;}

            

        }

        private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        private void button2_Click(object sender, EventArgs e)
        {
            string[] ArrayComPortsNames = null;
            int index = -1;
            string ComPortName = null;



            //Com Ports
            ArrayComPortsNames = SerialPort.GetPortNames();
            do
            {
                index += 1;
                cboPorts.Items.Add(ArrayComPortsNames[index]);


            } while (!((ArrayComPortsNames[index] == ComPortName) || (index == ArrayComPortsNames.GetUpperBound(0))));
            Array.Sort(ArrayComPortsNames);

            if (index == ArrayComPortsNames.GetUpperBound(0))
            {
                ComPortName = ArrayComPortsNames[0];
            }
        }

        private void D3on_Click(object sender, EventArgs e)
        {
            myport.WriteLine("A");
        }

        private void button4_Click(object sender, EventArgs e)
        {
            myport.WriteLine("a");
        }

        private void D4on_Click(object sender, EventArgs e)
        {
            myport.WriteLine("B");
        }

        private void D4OFF_Click(object sender, EventArgs e)
        {
            myport.WriteLine("b");
        }

        private void D5on_Click(object sender, EventArgs e)
        {
            myport.WriteLine("C");
        }

        private void D50ff_Click(object sender, EventArgs e)
        {
            myport.WriteLine("c");
        }

        private void D6on_Click(object sender, EventArgs e)
        {
            myport.WriteLine("D");
        }

        private void D6off_Click(object sender, EventArgs e)
        {
            myport.WriteLine("d");
        }

        private void D7on_Click(object sender, EventArgs e)
        {
            myport.WriteLine("E");
        }

        private void D7off_Click(object sender, EventArgs e)
        {
            myport.WriteLine("e");
        }

        private void D8On_Click(object sender, EventArgs e)
        {
            myport.WriteLine("F");
        }

        private void D8off_Click(object sender, EventArgs e)
        {
            myport.WriteLine("f");
        }

        private void button11_Click(object sender, EventArgs e)
        {
            myport.WriteLine("j");
        }

        private void button10_Click(object sender, EventArgs e)
        {
            myport.WriteLine("J");
        }

        private void button9_Click(object sender, EventArgs e)
        {
            myport.WriteLine("i");
        }

        private void button8_Click(object sender, EventArgs e)
        {
            myport.WriteLine("I");
        }

        private void label2_Click(object sender, EventArgs e)
        {

        }

        private void label7_Click(object sender, EventArgs e)
        {

        }

        private void D9on_Click(object sender, EventArgs e)
        {
            myport.WriteLine("G");
        }

        private void D9off_Click(object sender, EventArgs e)
        {
            myport.WriteLine("g");
        }

        private void D100n_Click(object sender, EventArgs e)
        {
            myport.WriteLine("H");
        }

        private void D10off_Click(object sender, EventArgs e)
        {
            myport.WriteLine("h");
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {

        }
        }
    }
Posted
Updated 10-Nov-15 23:11pm
v2
Comments
Richard MacCutchan 11-Nov-15 5:26am    
You want someone to analyse your code and explain how it works?

1 solution

you could try something along the lines of this https://www.arduino.cc/en/Tutorial/WebServer[^]
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900