initial checkin
This commit is contained in:
178
UARTBridge3dDrucker.ino
Normal file
178
UARTBridge3dDrucker.ino
Normal file
@@ -0,0 +1,178 @@
|
||||
/*
|
||||
Blink
|
||||
|
||||
Turns an LED on for one second, then off for one second, repeatedly.
|
||||
|
||||
Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
|
||||
it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
|
||||
the correct LED pin independent of which board is used.
|
||||
If you want to know what pin the on-board LED is connected to on your Arduino
|
||||
model, check the Technical Specs of your board at:
|
||||
https://www.arduino.cc/en/Main/Products
|
||||
|
||||
modified 8 May 2014
|
||||
by Scott Fitzgerald
|
||||
modified 2 Sep 2016
|
||||
by Arturo Guadalupi
|
||||
modified 8 Sep 2016
|
||||
by Colby Newman
|
||||
|
||||
This example code is in the public domain.
|
||||
|
||||
http://www.arduino.cc/en/Tutorial/Blink
|
||||
*/
|
||||
|
||||
#define RELAY1 2
|
||||
#define RELAY2 3
|
||||
#define RELAY3 4
|
||||
#define RELAY4 5
|
||||
unsigned int relay[4] = { RELAY1, RELAY2, RELAY3, RELAY4 };
|
||||
|
||||
#define BUTTON1 6
|
||||
#define BUTTON2 7
|
||||
#define BUTTON3 8
|
||||
#define BUTTON4 9
|
||||
unsigned int button[4] = { BUTTON1, BUTTON2, BUTTON3, BUTTON4 };
|
||||
|
||||
#define OPTO1 10
|
||||
|
||||
|
||||
boolean relayState[4];
|
||||
boolean buttonState[4];
|
||||
boolean buttonLastState[4];
|
||||
boolean buttonPressed[4];
|
||||
boolean optoState;
|
||||
|
||||
|
||||
|
||||
String inString;
|
||||
|
||||
// the setup function runs once when you press reset or power the board
|
||||
void setup() {
|
||||
// initialize digital pin LED_BUILTIN as an output.
|
||||
pinMode(LED_BUILTIN, OUTPUT);
|
||||
|
||||
pinMode(RELAY1, OUTPUT);
|
||||
pinMode(RELAY2, OUTPUT);
|
||||
pinMode(RELAY3, OUTPUT);
|
||||
pinMode(RELAY4, OUTPUT);
|
||||
|
||||
pinMode(OPTO1, OUTPUT);
|
||||
|
||||
pinMode(BUTTON1, INPUT_PULLUP);
|
||||
pinMode(BUTTON2, INPUT_PULLUP);
|
||||
pinMode(BUTTON3, INPUT_PULLUP);
|
||||
pinMode(BUTTON4, INPUT_PULLUP);
|
||||
|
||||
digitalWrite(RELAY1, HIGH);
|
||||
digitalWrite(RELAY2, HIGH);
|
||||
digitalWrite(RELAY3, HIGH);
|
||||
digitalWrite(RELAY4, HIGH);
|
||||
|
||||
digitalWrite(OPTO1, LOW);
|
||||
|
||||
Serial.begin(9600);
|
||||
while (!Serial) {
|
||||
; // wait for serial port to connect. Needed for native USB port only
|
||||
}
|
||||
|
||||
|
||||
optoState = false;
|
||||
for (int i=0;i<4;i++){
|
||||
buttonState[i] = digitalRead(button[i]);
|
||||
buttonLastState[i] = buttonState[i];
|
||||
|
||||
relayState[i] = false;
|
||||
}
|
||||
}
|
||||
|
||||
// the loop function runs over and over again forever
|
||||
void loop() {
|
||||
|
||||
|
||||
for (int i=0;i<4;i++){
|
||||
|
||||
//generate the button states...
|
||||
//Button i press
|
||||
buttonState[i] = digitalRead(button[i]);
|
||||
if ((buttonState[i] != buttonLastState[i]) && (buttonState[i] == LOW)){
|
||||
buttonPressed[i] = true;
|
||||
} else {
|
||||
buttonPressed[i] = false;
|
||||
}
|
||||
buttonLastState[i] = buttonState[i];
|
||||
|
||||
//invert relay if button i is pressed:
|
||||
|
||||
if (buttonPressed[i]){
|
||||
if (relayState[i] == false){
|
||||
Serial.print("Command executed: RELAY");Serial.print(i+1);Serial.println("=ON");
|
||||
digitalWrite(relay[i], LOW);
|
||||
relayState[i] = true;
|
||||
} else {
|
||||
Serial.print("Command executed: RELAY");Serial.print(i+1);Serial.println("=OFF");
|
||||
digitalWrite(relay[i], HIGH);
|
||||
relayState[i] = false;
|
||||
}
|
||||
delay(250);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
//check for new command...
|
||||
if (Serial.available() > 0) {
|
||||
// get incoming byte:
|
||||
inString = Serial.readString();
|
||||
Serial.print("Command executed: ");
|
||||
Serial.print(inString);
|
||||
|
||||
if (inString.indexOf("LED=ON") >= 0){
|
||||
digitalWrite(LED_BUILTIN, HIGH);
|
||||
} else
|
||||
if (inString.indexOf("LED=OFF") >= 0){
|
||||
digitalWrite(LED_BUILTIN, LOW);
|
||||
} else
|
||||
if (inString.indexOf("RELAY1=ON") >= 0){
|
||||
digitalWrite(RELAY1, LOW);
|
||||
relayState[0] = true;
|
||||
} else
|
||||
if (inString.indexOf("RELAY1=OFF") >= 0){
|
||||
digitalWrite(RELAY1, HIGH);
|
||||
relayState[0] = false;
|
||||
} else
|
||||
if (inString.indexOf("RELAY2=ON") >= 0){
|
||||
digitalWrite(RELAY2, LOW);
|
||||
relayState[1] = true;
|
||||
} else
|
||||
if (inString.indexOf("RELAY2=OFF") >= 0){
|
||||
digitalWrite(RELAY2, HIGH);
|
||||
relayState[1] = false;
|
||||
} else
|
||||
if (inString.indexOf("RELAY3=ON") >= 0){
|
||||
digitalWrite(RELAY3, LOW);
|
||||
relayState[2] = true;
|
||||
} else
|
||||
if (inString.indexOf("RELAY3=OFF") >= 0){
|
||||
digitalWrite(RELAY3, HIGH);
|
||||
relayState[2] = false;
|
||||
} else
|
||||
if (inString.indexOf("RELAY4=ON") >= 0){
|
||||
digitalWrite(RELAY4, LOW);
|
||||
relayState[3] = true;
|
||||
} else
|
||||
if (inString.indexOf("RELAY4=OFF") >= 0){
|
||||
digitalWrite(RELAY4, HIGH);
|
||||
relayState[3] = false;
|
||||
} else
|
||||
if (inString.indexOf("OPTO1=ON") >= 0){
|
||||
digitalWrite(OPTO1, HIGH);
|
||||
optoState = true;
|
||||
} else
|
||||
if (inString.indexOf("OPTO1=OFF") >= 0){
|
||||
digitalWrite(OPTO1, LOW);
|
||||
optoState = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user