Control an Arduino Uno from Igor
awirsing
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 />
}
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