Pages: [1]   Go Down
Author Topic: Arduino uses at work  (Read 528 times)
0 Members and 1 Guest are viewing this topic.
0
Offline Offline
Newbie
*
Karma: 0
Posts: 3
Arduino rocks
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

Hello,

Here is a simple project that incorporate communication between the Arduino and vb.net.  I use another Arduino at my work to control a couple of valves and to read a pressure.  This project will break 120VAC power to a hi-pot tester, which will allow the operator to only use the equipment when other conditions are met.

Anyways, here is the Arduino code, vb.net code, and wiring diagram:
//
//
// programmer: Jeremy Jackson
//
// company:    WaterFurnace Intl
//
// date:       23 FEB 10
//
// program:    HiPotOnOff
//
// purpose:    Interface between hi-pot power supply and Line Scanner Software.
//             This program will enable and disable the hi-pot 120VAC power
//            
//
// notes:      Pin 0 and 1 used for USB commo to computer
//            
//             Pins 2 for digital output
//
//

int HiPotPowerControl = 2;                 //Crydom CMD2425 SSR used to turn 120VAC on and off
char incomingByte;                         //Var to store commo between Arduino and Computer


void setup()
{
 pinMode(HiPotPowerControl, OUTPUT);       //set to output mode
 digitalWrite(HiPotPowerControl,LOW);      //set initial output state to Low or OFF
 Serial.begin(9600);                       //start serial commo
}


void loop()
{
    if (Serial.available() > 0)
      {
        // read the incoming byte from Line Scanner:
        incomingByte = Serial.read();
        switch (incomingByte)
           {
             case 'F':// turn off output
               digitalWrite(HiPotPowerControl, LOW);
               break;
             case 'O'://  turn on output
               digitalWrite(HiPotPowerControl, HIGH);
               break;
             case 'S'://  get status of output
               if(digitalRead(HiPotPowerControl)==LOW)
                 {
                   Serial.println("STATUS ->> Power Off");
                 }
                 else
                 {
                   Serial.println("STATUS ->> Power On");
                 }
               break;
           }
      }
}

/*
   'vb.net test code for communicating between Arduino and vb.net program:
   '                   !!!vb project setup instructions!!!
   '                   drop a timer, serial port, two buttons, two picture objects, and a text box
   '                   onto a blank form.  Rename form1 to frmArduinoComTest, and rename
   '                   one picture box to "indOn" and the other to "indOff"
   '                   Change the text property of button1  to "Turn On" and the
   '                   text property of button2 to "Turn Off"
   '                   Finally, past the code below into the project!
                      
Public Class frmArduinoComTest
  Dim data As String 'hold serial data from Arduino

  Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    If SerialPort1.IsOpen = False Then SerialPort1.Open() 'if port is closed then open it
  End Sub

  Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    SerialPort1.WriteLine("S") 'ask for status of output
    TextBox1.Text = data 'display serial data in textbox
  End Sub

  Private Sub SerialPort1_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
    Dim strLen As Integer
    'depending on what you are doing, the 250
    'millisecond delay may need adjusted, for this
    'example, the timer was set to run every
    '750 milliseconds, giving a screen
    'update once a second
    '
    '
    'the only thing the Arduino will output
    'is "STATUS ->> Power Off"
    'or "STATUS ->> Power On"
    '
    System.Threading.Thread.Sleep(250)
    data = SerialPort1.ReadExisting
    If data <> "" Then 'check to make sure something is there
      strLen = Len(data) 'get length of data string
      data = Mid(data, 1, strLen - 2) 'remove 2 carriage returns from the end of the string
    End If
    If InStr(data, "On") Then 'indOn is "on indicator" and indOff is "off indicator"
      indOn.BackColor = Color.Green
      indOff.BackColor = Color.Red
    Else
      indOn.BackColor = Color.Red
      indOff.BackColor = Color.Green
    End If
  End Sub

  Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    SerialPort1.WriteLine("O") 'turn on output
  End Sub

  Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    SerialPort1.WriteLine("F") 'turn off output
  End Sub
End Class


*/







Logged

Pages: [1]   Go Up
Jump to: