PImage img;
PImage[] photo = new PImage[19];

import processing.serial.*;

Serial myPort;  // Create object from Serial class
int val;      // Data received from the serial port
int counter;

void setup() {
  size( 600, 600 ); //screen size
  background(0); //black baground
  smooth();
  photo[0] = loadImage( "frame_00_delay-0.13s.jpg" );
  photo[1] = loadImage( "frame_01_delay-0.13s.jpg" );
  photo[2] = loadImage( "frame_02_delay-0.13s.jpg" );
  photo[3] = loadImage( "frame_03_delay-0.13s.jpg" );
  photo[4] = loadImage( "frame_04_delay-0.13s.jpg" );
  photo[5] = loadImage( "frame_05_delay-0.13s.jpg" );
  photo[6] = loadImage( "frame_06_delay-0.13s.jpg" );
  photo[7] = loadImage( "frame_07_delay-0.13s.jpg" );
  photo[8] = loadImage( "frame_08_delay-0.13s.jpg" );
  photo[9] = loadImage( "frame_09_delay-0.13s.jpg" );
  photo[10] = loadImage( "frame_10_delay-0.13s.jpg" );
  photo[11] = loadImage( "frame_11_delay-0.13s.jpg" );
  photo[12] = loadImage( "frame_12_delay-0.13s.jpg" );
  photo[13] = loadImage( "frame_13_delay-0.13s.jpg" );
  photo[14] = loadImage( "frame_14_delay-0.13s.jpg" );
  photo[15] = loadImage( "frame_15_delay-0.13s.jpg" );
  photo[16] = loadImage( "frame_16_delay-0.13s.jpg" );
  photo[17] = loadImage( "frame_17_delay-0.13s.jpg" );
  photo[18] = loadImage( "frame_18_delay-0.13s.jpg" );
  
  String portName = Serial.list()[0];
  myPort = new Serial(this, portName, 9600);
  
  frameRate( 10 );
  
  counter = 18;

}

void draw() {

  if (mousePressed == true) 
   {                           //if we clicked in the window
   image( photo[counter], 0, 0 );
    counter--;
    if (counter < 0)
     counter = 0;
      
    if (counter == 0)
      myPort.write('1');         //send a 1 

   } else 
   {                           //otherwise
          //send a 0
   image( photo[counter], 0, 0 );
   counter++;
   if (counter > 18)
     counter = 18;
     
   if (counter == 18)
     myPort.write('0');         //send a 0   

   }
println(counter);

}