Add Arduino Sketch
This commit is contained in:
parent
a92ce493dc
commit
f7e85f6e73
72
arduino-thorlabs-ledd1b/arduino-thorlabs-ledd1b.ino
Normal file
72
arduino-thorlabs-ledd1b/arduino-thorlabs-ledd1b.ino
Normal file
@ -0,0 +1,72 @@
|
|||||||
|
/**
|
||||||
|
* Matthias Quintern, 2025
|
||||||
|
*
|
||||||
|
* Simple Arduino program that listens via serial for single byte commands to control a ThorLabs LEDD1B
|
||||||
|
* Commands:
|
||||||
|
* - 'i': Identify - Prints "Arduino Nano CPD <version>"
|
||||||
|
* - '0': Turn the LED off
|
||||||
|
* - '1': Turn the LED on
|
||||||
|
*/
|
||||||
|
const int LEDPIN = 11;
|
||||||
|
const int VERSION = 1;
|
||||||
|
|
||||||
|
void setup() {
|
||||||
|
pinMode(LED_BUILTIN, OUTPUT);
|
||||||
|
digitalWrite(LED_BUILTIN, HIGH);
|
||||||
|
delay(500);
|
||||||
|
Serial.begin(9600, SERIAL_8N1); //USB-Prog. Port
|
||||||
|
while (!Serial) {
|
||||||
|
; // wait for serial port to connect. Needed for native USB port only
|
||||||
|
}
|
||||||
|
pinMode(LEDPIN, OUTPUT);
|
||||||
|
}
|
||||||
|
|
||||||
|
void loop() {
|
||||||
|
digitalWrite(LED_BUILTIN, LOW);
|
||||||
|
|
||||||
|
if (Serial.available() <= 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
char command = Serial.read();
|
||||||
|
digitalWrite(LED_BUILTIN, HIGH);
|
||||||
|
switch (command) {
|
||||||
|
case 'i':
|
||||||
|
identify();
|
||||||
|
break;
|
||||||
|
case '1':
|
||||||
|
Serial.println("LED ON");
|
||||||
|
led_on();
|
||||||
|
break;
|
||||||
|
case '0':
|
||||||
|
Serial.println("LED OFF");
|
||||||
|
led_off();
|
||||||
|
break;
|
||||||
|
case '\n':
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
blink_internal_led(5);
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void blink_internal_led(unsigned N) {
|
||||||
|
unsigned long duration = 100;
|
||||||
|
for (unsigned i = 0; i < N; i++) {
|
||||||
|
digitalWrite(LED_BUILTIN, HIGH);
|
||||||
|
delay(duration);
|
||||||
|
digitalWrite(LED_BUILTIN, LOW);
|
||||||
|
delay(duration);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void led_on() {
|
||||||
|
digitalWrite(LEDPIN, HIGH);
|
||||||
|
}
|
||||||
|
void led_off() {
|
||||||
|
digitalWrite(LEDPIN, LOW);
|
||||||
|
}
|
||||||
|
|
||||||
|
void identify() {
|
||||||
|
Serial.print("Arduino Nano CPD ");
|
||||||
|
Serial.print(VERSION);
|
||||||
|
Serial.println("");
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user