Sunday, May 15, 2011

Graphical Waterfall- Last Video

Hi,
This is the last video i made this morning. I added color additives to the water but the camera did not catch the graphics in the waterfall :)...


I am currently involves in too many projects and i am abandoning it for the time being. Following is the micro-controller programming i did:


//Pin connected to ST_CP of 74HC595
int latchPin = 6;
//Pin connected to SH_CP of 74HC595
int clockPin = 13;
////Pin connected to DS of 74HC595
int dataPin = 11;
byte FirstByte;
byte SecondByte;
byte ThirdByte;
byte FourthByte;
byte FifthByte;
int val;
byte serialInArray[5]; // array for storing 5 bytes as they arrive from VB software
int serialCount = 0; // for counting the number of bytes received


void setup() {
  //Start Serial for debuging purposes 
  Serial.begin(9600);
  //set pins to output because they are addressed in the main loop
  pinMode(latchPin, OUTPUT);

}

void loop() {
  
   if (Serial.available() > 0){
       serialInArray[serialCount] = Serial.read(); // read a byte sent by processing
        serialCount++;  // increment number of bytes received

    if (serialCount > 4 ) {  
 FirstByte = serialInArray[0]; 
 SecondByte = serialInArray[1]; 
        ThirdByte = serialInArray[2];
        FourthByte = serialInArray[3];
        FifthByte = serialInArray[4];
Serial.print(FirstByte);
Serial.print(SecondByte);
Serial.print(ThirdByte);
Serial.print(FourthByte);
Serial.print(FifthByte);
Serial.println("");

     digitalWrite(latchPin, 0);
    shiftOut(dataPin, clockPin, FirstByte); 
             shiftOut(dataPin, clockPin, SecondByte);
                 shiftOut(dataPin, clockPin, ThirdByte);
                 shiftOut(dataPin, clockPin, FourthByte);  
       shiftOut(dataPin, clockPin, FifthByte);
     
   
    //return the latch pin high to signal chip that it 
    //no longer needs to listen for information
    digitalWrite(latchPin, 1);
 serialCount = 0;
 delay(20);
   }
}
}
void shiftOut(int myDataPin, int myClockPin, byte myDataOut) {
  // This shifts 8 bits out MSB first, 
  //on the rising edge of the clock,
  //clock idles low

//internal function setup
  int i=0;
  int pinState;
  pinMode(myClockPin, OUTPUT);
  pinMode(myDataPin, OUTPUT);

 //clear everything out just in case to
 //prepare shift register for bit shifting
  digitalWrite(myDataPin, 0);
  digitalWrite(myClockPin, 0);

  //for each bit in the byte myDataOut�
  //NOTICE THAT WE ARE COUNTING DOWN in our for loop
  //This means that 000001 or "1" will go through such
  //that it will be pin Q0 that lights. 
  for (i=7; i>=0; i--)  {
    digitalWrite(myClockPin, 0);

    //if the value passed to myDataOut and a bitmask result 
    // true then... so if we are at i=6 and our value is
    // %11010100 it would the code compares it to %01000000 
    // and proceeds to set pinState to 1.
    if ( myDataOut & (1<
      pinState= 1;
    }
    else { 
      pinState= 0;
    }

    //Sets the pin to HIGH or LOW depending on pinState
    digitalWrite(myDataPin, pinState);
    //register shifts bits on upstroke of clock pin  
    digitalWrite(myClockPin, 1);
    //zero the data pin after shift to prevent bleed through
    digitalWrite(myDataPin, 0);
  }

  //stop shifting
  digitalWrite(myClockPin, 0);
}

Saturday, May 14, 2011

The Graphical Waterfall- First testing

This is first test of graphical waterfall consist 40 solenoid valves. All the things working fine but the graphics are hardly visible due to:
1- I have long tubing downstream the solenoids...If small metallic nozzles directly connected to the solenoid i would have got good results.
2- The Height of the solenoid. The solenoid are installed at about 8feet height, i think to see the graphical effect it must be 20 feet or above.

Any comments to improve will be highly appreciated

Friday, May 13, 2011

Almost there

Did wiring of Solenoids, not that good but if all thing work i will organize the wiring..Tomorrow is D'Day...Hope a good news..

Friday, May 6, 2011

Installation of Hardware for Graphical Waterfall

At last i completed the wiring of Solenoids and made an RC circuit to inject high current for short duration to increase the response time of solenoid. The resistance is 47RJ 5Watt and the capacitors i used are 50V 100mFarad.

 and fabricated the sump from 24gauge galvanized sheet.
Tubing and wiring of solenoid..The most hectic work;)

just installed the Header at its place and the pump:)