char preview; // for incoming serial data
/* PREVIEW */
char cam1; //variable for camera 1 preview led
char cam2; //variable for camera 2 preview led
char cam3; //variable for camera 3 preview led
char cam4; //variable for camera 4 preview led
/* PROGRAM */
char prgm1; //variable for camera 1 program led
char prgm2; //variable for camera 2 program led
char prgm3; //variable for camera 3 program led
char prgm4; //variable for camera 4 program led
void setup() {
Serial.begin(9600); // opens serial port, sets data rate to 9600 bps
pinMode(9, OUTPUT);
digitalWrite(9, LOW);
pinMode(10,OUTPUT);
digitalWrite(10, LOW);
pinMode(11, OUTPUT);
digitalWrite(11, LOW);
pinMode(12, OUTPUT);
digitalWrite(11, LOW);
// preview
pinMode(6, OUTPUT);
digitalWrite(6, LOW);
pinMode(5, OUTPUT);
digitalWrite(5, LOW);
pinMode(4, OUTPUT);
digitalWrite(4, LOW);
pinMode(3, OUTPUT);
digitalWrite(3, LOW);
pinMode(A1, INPUT);
pinMode(A2, INPUT);
pinMode(A3, INPUT);
}
void loop() {
// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
preview = Serial.read();
// say what you got:
;
Serial.println(preview);
}
//Everything that is greyed out is to control the program led which is now not needed, if you decide to enable manual control
//of the program leds, change either the preview call number(which number you press to turn on the led)
/* LED 1 */
/* if (preview == '1' || preview == 'g' || preview == 'G') //change this number (preview == '1')
{
digitalWrite(12, HIGH); //sets camera 1 led to program
digitalWrite(11, LOW); //sets camera 2 led to off
digitalWrite(10, LOW); //sets camera 3 led to off
digitalWrite(9, LOW); //sets camera 4 led to off
}
/* LED 2 */
/* if (preview == '2' || preview == 'h' || preview == 'H')
{
digitalWrite(11, HIGH);
digitalWrite(12, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
}
/* LED 3 */
/* if (preview == '3' || preview == 'j' || preview == 'J')
{
digitalWrite(10, HIGH);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
digitalWrite(9, LOW);
}
/* LED 4 */
/* if (preview == '4' || preview == 'k' || preview == 'K')
{
digitalWrite(9, HIGH);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(12, LOW);
}
// PREVIEW
/* LED 1 */
if (preview == '1') //change this number if you enable manual control of program led
{
cam1 = '1'; //manually sets camera 1 to preview state
cam2 = '0'; //manually sets camera 2 to off or no preview
cam3 = '0'; //manually sets camera 3 to off or no preview
cam4 = '0'; //manually sets camera 4 to off or no preview
}
/* LED 2 */
if (preview == '2')
{
cam1 = '0';
cam2 = '1';
cam3 = '0';
cam4 = '0';
}
/* LED 3 */
if (preview == '3')
{
cam1 = '0';
cam2 = '0';
cam3 = '1';
cam4 = '0';
}
/* LED 4 */
if (preview == '4')
{
cam1 = '0';
cam2 = '0';
cam3 = '0';
cam4 = '1';
}
if (cam4 == '1'){ //waits for variables state to be changed
digitalWrite(6, HIGH); //turns on camera 4s preview led and turns off the rest
digitalWrite(4, LOW);
digitalWrite(5, LOW);
digitalWrite(3, LOW);
}
if (cam3 == '1'){
digitalWrite(5, HIGH);
digitalWrite(3, LOW);
digitalWrite(4, LOW);
digitalWrite(6, LOW);
}
if (cam2 == '1'){
digitalWrite(5, LOW);
digitalWrite(3, LOW);
digitalWrite(4, HIGH);
digitalWrite(6, LOW);
}
if (cam1 == '1'){
digitalWrite(6, LOW);
digitalWrite(5, LOW);
digitalWrite(4, LOW);
digitalWrite(3, HIGH);
}
if (cam1 == '0'){
digitalWrite(3, LOW);
}
if (cam2 == '0'){
digitalWrite(4, LOW);
}
if (cam3 == '0'){
digitalWrite(5, LOW);
}
if (cam4 == '0'){
digitalWrite(6, LOW);
}
if (prgm1 == '1'){
digitalWrite(9, HIGH); //turns on live camera led
digitalWrite(10, LOW);
digitalWrite(11, LOW);
digitalWrite(12, LOW);
}else{
digitalWrite(9, LOW); //turns off when not in use
}
if (prgm2 == '1'){
digitalWrite(10, HIGH);
digitalWrite(12, LOW);
digitalWrite(11, LOW);
digitalWrite(9, LOW);
}else{
digitalWrite(10, LOW);
}
if (prgm3 == '1'){
digitalWrite(12, LOW);
digitalWrite(11, HIGH);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
}else{
digitalWrite(11, LOW);
}
if (prgm4 == '1'){
digitalWrite(12, HIGH);
digitalWrite(11, LOW);
digitalWrite(10, LOW);
digitalWrite(9, LOW);
}else{
digitalWrite(12, LOW);
}
if (preview == 'c'){
if (cam1 == '1'){
if (prgm2 == '1'){
prgm1 = '1'; //turns on camera 1s live LED
prgm2 = '0'; //turns off camera 2s live LED
cam1 = '0'; //turns off camera 1s preview LED
cam2 = '1'; //turns on camera 2s preview LED
}else if (prgm3 == '1'){
prgm1 = '1';
prgm3 = '0';
cam3 = '1';
cam1 = '0';
}else if (prgm4 == '1'){
prgm1 = '1';
prgm4 ='0';
cam1 = '0';
cam4 = '1';
}
}else if (cam2 == '1'){
if (prgm1 == '1'){
prgm2 = '1';
prgm1 = '0';
cam1 = '1';
cam2 = '0';
}else if (prgm3 == '1'){
prgm2 = '1';
prgm3 = '0';
cam3 = '1';
cam2 = '0';
}else if (prgm4 == '1'){
prgm2 = '1';
prgm4 = '0';
cam4 = '1';
cam2 = '0';
}
}else if (cam3 == '1'){
if (prgm1 == '1'){
prgm3 = '1';
prgm1 = '0';
cam3 = '0';
cam1 = '1';
}else if (prgm2 == '1'){
prgm3 = '1';
prgm2 = '0';
cam2 = '0';
cam3 = '1';
}else if (prgm4 == '1'){
prgm3 = '1';
prgm4 = '0';
cam4 = '1';
cam3 = '0';
}
}else if (cam4 == '1'){
if (prgm1 == '1'){
prgm4 = '1';
prgm1 = '0';
cam1 = '1';
cam4 = '0';
}else if (prgm2 == '1'){
prgm4 = '1';
prgm2 = '0';
cam2 = '1';
cam4 = '0';
}else if (prgm3 == '1'){
prgm4 = '1';
prgm3 = '0';
cam3 = '1';
cam4 = '0';
}
}
}else if (preview == 's'){
prgm2 = '1';
}
}