## Simple Machines Type: Investigation

Theme: Engineering

Grades: 5, 6, 7, 8, 9, 10

Learning Target: Students will collaborate to produce a simple machine with moving parts. Instructions
1. Select one or more partners (you may work alone).
2. Design a plan for your group's simple machine. Collaborate on a detailed sketch. Please take note who will produce which component.
4. Combine all component code into one simple machine. Test and refine with animation turned on (variable \$t must be in your code).
5. Submissions
1. A video or screen recording of your machine in action. If possible, please use Microsoft Stream. You are not required to create a Sway or PowerPoint.
2. A detailed sketch, including a list of who created which part in your group's machine. Each student must create at least one part of the machine. Machine must contain a minimum of two moving parts.
3. Please also submit the code. You must create your own code. However, you may modify existing open-source code for an individual component of your machine.

Variable \$t is reserved for the animation time (\$t).

`//three gears`//to animate > View > Animate. Add a start time, such as 0. Set FPS to 24 or so. Set Steps to desired number, try 100.`\$gear1 = 20;\$gear2=8; //gear 1rotate([0,0,\$t*360])for(i=[1:1:\$gear1]){ rotate([0,0,(360/\$gear1)*i]) translate([\$gear1*.7,0]) linear_extrude(2)  circle(3,\$fn=3);}//gear 2translate([22,4])rotate([0,0,-\$t*360*\$gear1/\$gear2])color("red")for(i=[1:1:\$gear2]){ rotate([0,0,16+(360/\$gear2)*i]) translate([\$gear2*.7,0]) linear_extrude(2)  circle(3,\$fn=3);}//gear 3translate([4,-22])rotate([0,0,-\$t*360*\$gear1/\$gear2])color("red")for(i=[1:1:\$gear2]){ rotate([0,0,16+(360/\$gear2)*i]) translate([\$gear2*.7,0]) linear_extrude(2)  circle(3,\$fn=3);}`
`//square gear 1rotate([0,0,\$t*360])color("green")for(i=[1:1:12]){ rotate([0,0,(360/12)*i]) cube([2,16,2],true); rotate([0,0,(360/24)+(360/12)*i]) cube([2,12,2],true);}//spherical gearrotate([0,0,0])translate([12.2,0,0])rotate([0,0,-\$t*360])color("red") for(i=[1:1:6]){ rotate([90,90,(360/24)+(360/6)*i]) cylinder(h=.7, r1=6, r2=6); //cube([2,18,2],true); }`
`//coil and ball//set Time = 0, FPS = 20, Steps = 20\$coils=4;\$spring=0;\$height = sin(100*3.1415*\$t)+2;\$height_ball = sin(100*3.1415*\$t/2)+2;\$ball_deform = sin(4*3.1415*\$t)+.8;color("red")linear_extrude(height = \$height, center = false, convexity = 2, twist = 360*\$coils, \$fn = 100) translate([1, 0, 0]) circle(r = .3);color("DeepSkyBlue")translate([0, 0, 1.3+\$height_ball])scale([1,1,\$ball_deform])sphere(2.2, \$fn=50);`