Control an Arduino Uno from Igor

A proof of concept to control an Arduino Uno from Igor using the VDT2 XOP on Macintosh.

Arduino code:
int incomingByte = 0;<br />
boolean space = false;<br />
<br />
void setup() {                <br />
  // initialize the digital pin as an output.<br />
  // Pin 13 has an LED connected on most Arduino boards:<br />
  pinMode(13, OUTPUT);<br />
  Serial.begin(9600);<br />
<br />
}<br />
<br />
void loop() {<br />
  if (Serial.available() > 0) {<br />
    incomingByte = Serial.read();<br />
    if (incomingByte == 32) {<br />
      space = true;<br />
      digitalWrite(13, HIGH);   // set the LED on<br />
    }<br />
    else {<br />
      space = false;<br />
      digitalWrite(13, LOW);    // set the LED off<br />
    }<br />
  }<br />
}


- Load the code to the Arduino Uno.
- Put a link to the VDT2 XOP in the Igor Extensions folder.
- Having the Arduino connected via USB to your Mac (re)start Igor.

Then you can use VDTGetPortList2; print S_VDT to show a list of all available serial ports. Choose the one that is provided by the Arduino board (it starts with 'usbmodem'), e.g. VDTOperationsPort2 usbmodemfa131.
You can then switch the LED at Pin 13 on with VDTWrite2 /O=2 " " and off again by some other character than space (VDTWrite2 /O=2 "x").

A