// ============ PicStrobe ============== // //wave it around and see pictures! yay! int button = 0; int state = 0; //--------------------- paste first lines from processing here int ledArray[11][9]; int numFrames = 1; int ledArray2[11][9]; int numFrames2 = 1; //--------------------- void setup() { Serial.begin(9600); // --------------------- the arrays from processing go here. ledArray[0][0] = 0;ledArray[1][0] = 0;ledArray[2][0] = 1;ledArray[3][0] = 1;ledArray[4][0] = 1;ledArray[5][0] = 1;ledArray[6][0] = 1;ledArray[7][0] = 0;ledArray[8][0] = 0;ledArray[9][0] = 0; ledArray[0][1] = 0;ledArray[1][1] = 1;ledArray[2][1] = 0;ledArray[3][1] = 0;ledArray[4][1] = 0;ledArray[5][1] = 0;ledArray[6][1] = 0;ledArray[7][1] = 1;ledArray[8][1] = 0;ledArray[9][1] = 0; ledArray[0][2] = 1;ledArray[1][2] = 0;ledArray[2][2] = 1;ledArray[3][2] = 1;ledArray[4][2] = 0;ledArray[5][2] = 1;ledArray[6][2] = 1;ledArray[7][2] = 0;ledArray[8][2] = 1;ledArray[9][2] = 0; ledArray[0][3] = 1;ledArray[1][3] = 0;ledArray[2][3] = 1;ledArray[3][3] = 0;ledArray[4][3] = 0;ledArray[5][3] = 0;ledArray[6][3] = 1;ledArray[7][3] = 0;ledArray[8][3] = 1;ledArray[9][3] = 0; ledArray[0][4] = 1;ledArray[1][4] = 0;ledArray[2][4] = 0;ledArray[3][4] = 0;ledArray[4][4] = 1;ledArray[5][4] = 0;ledArray[6][4] = 0;ledArray[7][4] = 0;ledArray[8][4] = 1;ledArray[9][4] = 0; ledArray[0][5] = 0;ledArray[1][5] = 1;ledArray[2][5] = 0;ledArray[3][5] = 0;ledArray[4][5] = 0;ledArray[5][5] = 0;ledArray[6][5] = 0;ledArray[7][5] = 1;ledArray[8][5] = 0;ledArray[9][5] = 0; ledArray[0][6] = 0;ledArray[1][6] = 1;ledArray[2][6] = 0;ledArray[3][6] = 1;ledArray[4][6] = 1;ledArray[5][6] = 1;ledArray[6][6] = 0;ledArray[7][6] = 1;ledArray[8][6] = 0;ledArray[9][6] = 0; ledArray[0][7] = 0;ledArray[1][7] = 1;ledArray[2][7] = 0;ledArray[3][7] = 0;ledArray[4][7] = 0;ledArray[5][7] = 0;ledArray[6][7] = 0;ledArray[7][7] = 1;ledArray[8][7] = 0;ledArray[9][7] = 0; ledArray[0][8] = 0;ledArray[1][8] = 0;ledArray[2][8] = 1;ledArray[3][8] = 1;ledArray[4][8] = 1;ledArray[5][8] = 1;ledArray[6][8] = 1;ledArray[7][8] = 0;ledArray[8][8] = 0;ledArray[9][8] = 0; ledArray2[0][0] = 0;ledArray2[1][0] = 0;ledArray2[2][0] = 1;ledArray2[3][0] = 1;ledArray2[4][0] = 0;ledArray2[5][0] = 0;ledArray2[6][0] = 0;ledArray2[7][0] = 1;ledArray2[8][0] = 1;ledArray2[9][0] = 0;ledArray2[10][0] = 0; ledArray2[0][1] = 0;ledArray2[1][1] = 1;ledArray2[2][1] = 1;ledArray2[3][1] = 1;ledArray2[4][1] = 1;ledArray2[5][1] = 0;ledArray2[6][1] = 1;ledArray2[7][1] = 1;ledArray2[8][1] = 1;ledArray2[9][1] = 1;ledArray2[10][1] = 0; ledArray2[0][2] = 1;ledArray2[1][2] = 1;ledArray2[2][2] = 1;ledArray2[3][2] = 1;ledArray2[4][2] = 1;ledArray2[5][2] = 1;ledArray2[6][2] = 1;ledArray2[7][2] = 1;ledArray2[8][2] = 1;ledArray2[9][2] = 1;ledArray2[10][2] = 1; ledArray2[0][3] = 1;ledArray2[1][3] = 1;ledArray2[2][3] = 1;ledArray2[3][3] = 1;ledArray2[4][3] = 1;ledArray2[5][3] = 1;ledArray2[6][3] = 1;ledArray2[7][3] = 1;ledArray2[8][3] = 1;ledArray2[9][3] = 1;ledArray2[10][3] = 1; ledArray2[0][4] = 0;ledArray2[1][4] = 1;ledArray2[2][4] = 1;ledArray2[3][4] = 1;ledArray2[4][4] = 1;ledArray2[5][4] = 1;ledArray2[6][4] = 1;ledArray2[7][4] = 1;ledArray2[8][4] = 1;ledArray2[9][4] = 1;ledArray2[10][4] = 0; ledArray2[0][5] = 0;ledArray2[1][5] = 0;ledArray2[2][5] = 1;ledArray2[3][5] = 1;ledArray2[4][5] = 1;ledArray2[5][5] = 1;ledArray2[6][5] = 1;ledArray2[7][5] = 1;ledArray2[8][5] = 1;ledArray2[9][5] = 0;ledArray2[10][5] = 0; ledArray2[0][6] = 0;ledArray2[1][6] = 0;ledArray2[2][6] = 0;ledArray2[3][6] = 1;ledArray2[4][6] = 1;ledArray2[5][6] = 1;ledArray2[6][6] = 1;ledArray2[7][6] = 1;ledArray2[8][6] = 0;ledArray2[9][6] = 0;ledArray2[10][6] = 0; ledArray2[0][7] = 0;ledArray2[1][7] = 0;ledArray2[2][7] = 0;ledArray2[3][7] = 0;ledArray2[4][7] = 1;ledArray2[5][7] = 1;ledArray2[6][7] = 1;ledArray2[7][7] = 0;ledArray2[8][7] = 0;ledArray2[9][7] = 0;ledArray2[10][7] = 0; ledArray2[0][8] = 0;ledArray2[1][8] = 0;ledArray2[2][8] = 0;ledArray2[3][8] = 0;ledArray2[4][8] = 0;ledArray2[5][8] = 1;ledArray2[6][8] = 0;ledArray2[7][8] = 0;ledArray2[8][8] = 0;ledArray2[9][8] = 0;ledArray2[10][8] = 0; // ------------------------- for (int i=3; i<14; i++) { // Sets each of the digital pins as output pinMode (i, OUTPUT); } pinMode (2, INPUT); // reading from the button } void loop() { Serial.println(state); button = digitalRead(2); if (button == HIGH && state == 0) // pressing the button will wake the device and enter the arouse state. state = 1; else if (button == LOW) state = 0; if (state == 0) { sleep(); Serial.println("sleeping"); } else if (state == 1) { arouse(); Serial.println("arouse!"); } else if (state == 2) { attract(); Serial.println("attract!"); } else if (state == 3) { reward(); Serial.println("reward!"); } } void sleep() { // While sleeping, the yellow led pulses. for (int i=3; i<14; i++) { digitalWrite (i, LOW); } for(int i = 0 ; i < 150; i++) { analogWrite(5, i); delay(10); } for(int i = 150 ; i > 0; i--) { analogWrite(5, i); delay(10); } } void arouse() { // The first state in just a wave pattern, to "calibrate" your swing. for (int t=0; t<20; t++) wavePattern(); state = 2; } void attract() { // The second state draws the first array of leds. for (int t=0; t<10; t++) picStrobe(); state = 3; } void reward() { // The third state draws the second array and loops infinately. picStrobe2(); } void wavePattern() { int p; for (int i=0; i<9; i++) { if (i==0) p = 4; else p = i+5; digitalWrite(p, HIGH); delay(10); digitalWrite(p, LOW); } delay(120); } void picStrobe() { // The function for drawing the first array int p; for (int f=0; f=0+10*f; t--) { for (int i=0; i<9; i++) { if (i==0) p = 4; else p = i+5; if (ledArray[t][i] == 1) { digitalWrite(p, HIGH); } else { digitalWrite(p, LOW); } } delay(10); } delay(120); } } void picStrobe2() { // The function for drawing the second array int p; for (int f=0; f=0+10*f; t--) { for (int i=0; i<9; i++) { if (i==0) p = 4; else p = i+5; if (ledArray2[t][i] == 1) { digitalWrite(p, HIGH); } else { digitalWrite(p, LOW); } } delay(10); } delay(120); } }