Skip to Content
Dan k
Chen
DIY Lab Shakers / Incubator shaker
Explorations Dan Chen / May 20, 2015

“A shaker is a piece of laboratory equipment used to mix, blend, or to agitate substances in tube(s) or flask(s) by shaking them, which is mainly used in the fields of chemistry and biology. A shaker contains an oscillating board which is used to place the flasks, beakers, test tubes, etc. Although the magnetic stirrer has came to replace the uses of shaker lately, the shaker is still a preferred choice of equipment when dealing with such large volume substances, or simultaneous agitation is required. ” – WIki

 

DSC04171 DSC04174 DSC04175 DSC04177

The shaker is small enough for you to place it in an incubator.

IMG_3753 IMG_3754

You will Need

A sheet of acrylic.
Laser Cutter
4 sets of nuts and bolts / M4 or M3
A servo
A Microcontroller
USB Cable + Power
Incubator

 

Laser Cutting

 

Screen Shot 2016-05-20 at 12.35.34 PMDownload EPS
https://dankc.com/wp-content/uploads/2016/05/shacker.eps_.zip

Wiring & Coding

Red: VCC
Black: GND
White or Yellow: any analog pin

#include  
 
Servo myservo1; 
                
 
int pos = 0;    // variable to store the servo position 
 
void setup() 
{ 
  myservo1.attach(A3);  // attaches the servo on pin 9 to the servo object 
} 
 
void loop() 
{ 
  for(pos = 70; pos <= 110; pos += 1) // goes from 0 degrees to 180 degrees { float t1 = (float) (pos - 1) / (float) (180 - 1); float t2 = (float) (180 - pos) / (float) (180 - 1); myservo1.write(pos); // tell servo to go to position in variable 'pos' delay( 15+pow (max(t1, t2), 2) * 20); // waits 15ms for the servo to reach the position } for(pos = 110; pos>=70; pos-=1)     // goes from 180 degrees to 0 degrees 
  {     
    //float t = (float) (180 - pos) / (float) (180 - 1);
    float t1 = (float) (pos - 1) / (float) (180 - 1);
    float t2 = (float) (180 - pos) / (float) (180 - 1);
    myservo1.write(pos);              // tell servo to go to position in variable 'pos' 
    delay( 15+pow (max(t1, t2), 2) * 20);                        // waits 15ms for the servo to reach the position 
  }

} 

DAN K CHEN © 2024