Popsicle Stick Presto – SCOPES-DF

Lesson Details FLA badge

Subjects *
Age Ranges *
Standards
HS-ETS1-2, MS-ETS1-2, MS-ETS1-1, 5-ETS1-1, 5-ETS1-2, Fab-Programming.2, Fab-Modeling.2, Fab-Fabrication.2, Fab-Design.2, Fab-Safety.1, Fab-Electronics.1, 7.G.A1, MS-PS2-2, 3-PS2-1
Author
Additional Contributors

Author

Joe Cantu
Joe Cantu
K-12 teacher
Joe C Cantu II is an American craftsman, designer, and musician based out of the Lydia Sneed Engineering Lab at Metairie Park Country Day School. A graduate of the Ball State University, He has most recently attended Fab15 in Egypt,… Read More

Summary

This project will lead a group of aspiring drivers through the steps to build a rolling chassis out of popsicle sticks, assemble it with a breadboard, Arduino uno, A motor and a servo, then drive it through some basic pre-programmed shape routes. 

 

In addition to standards reported, this lesson aligns with:

CSTA 2-AP-13: Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs.

CSTA-2-AP-15: “Seek and incorporate feedback from team members and users to refine a solution that meets user needs.”

What You'll Need

Prepare a TinkerCAD Class for students ahead of time, it saves trouble with logins. 

Each phase should be prepped ahead of session, with scaffolded models which help each student start from the same spot. This helps ensure that the 3 major sections can happen in about an hour each.

For the build section, parts can be manufactured from popsicle sticks, and cardboard, easily cuttable with laser. 3D printing can be done with PLA, and it can be up to instructor how much of each to do. It may be necessary to schedule manufacturing outside of class time, but an optional step is included for doing a laser cut with students.

Circuitry components:

  • Arduino Uno (or NANO Every or similar) 
  • Medium Breadboard
  • N20 Motors for wheels (often these are sold with insubstantial wire connections, For best results replace those with some using solid core 18G.
  • Wheels can either be purchased or printed depending on temporal/monetary capacity.
  • L298N Motor control board, or similar (L293N looks promising, and slightly cheaper)
  • 14 Dupont wires in colors, 4 must be male-female to be compatible with L298N terminal, the rest should be Male-male.
  • M-type barrel receiver for power-supply hookup-May be substituted if desired. 9v battery will work, if briefly.

 

Optional additions:

  • Joystick, dual potentiometer or similar
  • Power supply for motors and Arduino. 
  • 4 LED’s for indicators (or one RGB Led where color can be used as status display)
  • 220 Ω resistors for LEDs 

 

Learning Objectives

Students will apply geometric measurement to define shapes in TinkerCAD to match real world components.

Students will arrange geometric shapes in TinkerCAD to create 5 parts which might be laser-cut from popsicle sticks. 

Students will assemble the car with provided wheels, motors, a cardboard body and electrical parts. 

Students will program the circuit to manipulate their car along intentional paths. 

Students will test their program with the car, and adjust for deviations from intention. 

Students will evaluate the results of the test, and collaborate to compare results and troubleshoot issues, communicating reasoning to peers.

Students will describe the relationship between motor direction signals and physical car motion using cause and effect reasoning.

Students will propose an iterative change to their assembly in order to address the structural needs they discover.

Reflection

Colleague participation embraced a perspective of someone who had limited knowledge of Engineering design, and approached the challenges of the project very much like one of the students, with the distinction of having more than adequate vocabulary to describe the ways in which the content proposed could be adjusted to meet the students from their level of understanding.

 

During the Lesson delivery, learners struggled with handling tools, admittedly because some of those tools were poorly matched to the scale of the parts in question (not all precision screwdrivers are as precise as needed for a 1.6 mm screw.) I had anticipated more problems during design, but those seemed less than they have for previous iterations of Dig-Fab lessons. Nevertheless, the activity is built around “Checkpoints” where on a periodic basis, a student who has fallen behind in a task or two can be directed to just open the next file, where a model that snaps the student’s progress to align with everyone else in the group.

 

In testing, there is an uncomfortable degree of joint relationships which need resolving. I mean to reach a point where hardware is no longer necessary, and the interlocking relationship already in use, it seems like it solid improvement to make.

The Instructions

Modeling with Popsicle sticks

In this project, we will be creating with popsicle sticks, but in a different way than normal. To use as few parts as possible, we will create a series of modular joints to allow these parts to be assembled without even needing glue or hardware, with enough stability to hold our electronics aloft for a light and nimble ride. TinkerCAD already has a popsicle stick, which we can bring in as a shape, finding them in "Everyday Objects > Wood Stock" or just by searching in the panel for "popsicle stick" But what about our jumbo-stick? No problem, we can make our own.

Measure the physical jumbo stick to get its length, width and height 

Make your own jumbo stick by combining a box and two cylinders. 

  • Use your dimensions to set the length, width and height of the box to match the jumbo stick. 
  • Use the width and height to set size of the cylinder, repeating the width to make it round. 
  • Duplicate the cylinder by holding the “alt” key on the keyboard, and dragging to a new location. 

Hold the “Shift” key and click the box and one of the cylinders, then press “L” to use the align tool. 

  • Once the Align tool is selected, click the box to tell the tool you want to align there, then align the cylinder to the center of the box across its width side, and to one end of its length side. 
  • Do the same to align the other cylinder to the opposite end of the length. 
  • Next, edit the box to subtract its width from the length. The cylinders should stay where they are, with the ends of the box now meeting them at each of their centers as the box contracts inward. 

Select all three shapes, then hold “Ctrl” and “G” to use the Union Group tool, joining them into a new Jumbo Popsicle stick! 

  • (optional: you can change its color if you want, and yes, there is a nice woody brown available) 

 

Add slots for joining

This step will add a series of specific holes to the standard sized stick, turning it into the first of our 3 modular parts.

To start, drag in the box hole and set its size so that 

  • Its length is equal to the height of the standard stick
  • Its width is equal to the width of a standard stick
  • Its height is a little more than the height of a standard stick. 

Use the align tool to align the hole to the forward and right of the stick. 

Hold the “alt” key and click and drag the hole to create a copy. Align it with the back right of the stick.

Repeat the “alt” drag to create another copy, and align it to the center, center of the stick. 

  • Click this last box-hole and change its width to 5 mm. 

Then “alt” drag this hole once more, but don’t align it just yet. 

  • Instead, Rotate it so that its longer side reaches from front to back of the stick. 

Hold the “Shift” key and click each of the holes that was aligned, then “Ctrl” + “B” will Bundle Group the holes.

Now, Shift click to include the unaligned hole, and center it within the others. 

  • “Ctrl” + “Shift” + “G” will break the bundle group. 

Click and drag across the stick and all the holes except the one at its center. 

  • “Ctrl” + “D” to duplicate and repeat. Nothing will happen yet. 
  • Press the “M” key to activate the Mirror tool, then click double ended arrow across the front, 
  • The stick now has 7 holes in specific, balanced spots. 

Click somewhere in the stick, then click and drag it stick to move the copy we didn’t know we created in the last step, without any of the holes. It will be needed it in a later step. 

 

Click and drag to select the first stick with all the holes, then “Ctrl” + “G” to Union Group which will create a new part out of all the selected ones, allowing the holes to really look like holes. 

 

Hold the “Alt” key and click and drag the grouped stick to make a copy WITH its holes.

Add a box hole at either end. Don’t worry about changing its dimensions, the 25.4 mm cube will do fine here.

Align them to the ends, and so that it covers thoroughly where it overlaps.

Select the stick and both Box Hole ends, and “Ctrl”+G to group them into a shortened version of our first stick.

Designing the motor mounting stick

This stick needs some holes in precise places to accommodate the small motor that will drive this car.

Recreate the first box hole on the new stick, but set it with different length and width. 

  • The new length will be 2.5 mm (overall stick width minus 5 mm, then divided by 2), 
  • The new width will be 4.2 mm (thickness of the standard stick, doubled).
  • Duplicate it to the other side. 

Next drag in a box hole that is matches the front to back and top to bottom sizes of the stick, with a side to side length of 68.6 mm. 

  • Align it to the center left of the stick, and select JUST the stick and this large hole together, using “Ctrl”+”G” to create a shorter stick, but note that the cuts at the other end are not included here. 
  • Now duplicate those box holes to the other side of the short stick. 

Drag in a Cylinder hole, and size it to have width and length of 3.5 mm, and height to 3 mm

Drag it into position where it is centered in the short stick, 9.5 mm from an end.

Add two more cylinder holes, on either side of the primary.

  • The heights will be the same as the first, but the width and length (in circular terms, we can also call it “diameter”) will be 1.6 mm.
  • Drag them to be 1.7 mm from the larger hole in between them.
  • Then align so that all cylinder holes are centered within the width of the stick.

 

The Jumbo Stick

The last set of cuts will be made on the jumbo stick.

Finally, create one more box hole, and put it into the jumbo stick. 

  • It should be as wide as the standard stick is thick, and 6.8 mm tall.

It should be centered across the width, and far enough from one end to not overlap any of the round part. 

Duplicate it to the other end, then group the two holes and use the align tool to balance them within the length of the Jumbo Stick. 

Select the jumbo stick and both of its holes, then hold the alt key while clicking and dragging to the right to duplicate-place a new copy right next to the original.

select each box-hole, and change its dimensions to be the stick-thickness from front to back, and standard stick width from side to side.

Realign them to the center of the jumbo stick, and balanced with the original holes still present on the previous jumbo stick.

 

Group them into the final stick. 

Export for Laser-cut

These parts will need to be exported to be laser-cut. This section includes a scaffolding measure: Guiding the students through setting up their own individual laser files is of course noble, but runs into a bottleneck if there is only one terminal that can facilitate that. Students go as far as downloading their SVG part files, then submit them to be reviewed for dimensional accuracy. When they step up to the laser cutter terminal, they are executing on a pre-loaded file that has already been laid out for the goal at hand.

Click the Export button at the top right of the workspace

  • It will say “download and 3D print” … Close enough.

When the menu pops up, go all the way to the bottom and click the button for “.SVG”

  • It’s the only one in the Laser cutting section.

Assessment check!

Part files are to be reviewed for dimensional consistency before students can operate the Laser Cutter to make parts.

 

Laser Cutting

To accomplish this, the included SVG file sets up a template for popsicle stick cutting. Apply a layer of masking tape to the laser bed, then run the first layer as a vector cut, with high speed and VERY low power. Ideally, it should not cut through the tape. The second layer sets up enough parts to make one batch for a car, omitting unnecessary edges which are already present in the popsicle sticks. The third and forth layers allow you to do the same, but run batches of parts, if you want to run this outside of class time, and let the class focus on build and circuits, for time efficiency. In that case, skip this step with students. A separate template is for cardboard body plates. These could also be designed custom by students, but this version simply includes it for expediency.

Open the Laser Cutter and lay each of four standard popsicle sticks and 2 jumbo sticks into the template markings provided in the blue tape.

  • Be very careful with aligning these, or else your parts will come out crooked!

Check the Job settings to make sure they are ready for the cut.

  • In this activity, we used an Epilog Helix, so this was done within print settings, or in the Epilog Job Manager
  • We used 86% power, at 24% speed.

Confirm the job by clicking print, then watch the LCD screen on the machine to make sure the new job arrives.

Check stick alignment ONE last time, then close the lid

Turn on the Dust collector and Air assist pump

Start the job by pressing the green “Go” Button

Watch the job to its completion to ensure no fires.

The machine will beep when done. Wait until the carriage stops moving before opening the lid.

Remove ALL parts, including those which will now be scrap.

Assembling the cut parts.

Start by orienting to the parts themselves: The shortest part with three round holes clustered near one end is the motor-riser. The next shortest piece with 3 slots is the bottom-brace. The full length standard stick with 3 slots and 4 notches is the top-brace The jumbo-stick with slots along its axis is the side-panel The jumbo-stick with slots across its width is the belly-pan The included .SVG incorporates these names, which could be used as a reference for students, or etched directly on the parts if preferred.

View a TinkerCAD Codeblocks animation that shows this process!

Drivetrain Sub-assembly

  • Bolt a motor on to each of two of the “motor-riser” parts, using the 1.6mm screws.
  • Install a wheel on each motor.
  • Insert each of those motor risers into the perpendicular slots in a top brace, making sure that the wheels face away from the center of the top-brace.
  • Then add an empty motor riser into the remaining slot,
  • Slide the belly pan past the notches in the empty motor riser.
  • Add the bottom brace, mimicking the joints in the top brace.

Front wheel Sub-assembly

  • Install a wheel on each motor-riser, using the the #6 machine screw through the larger hole.
  • Do not make it so tight that the wheel doesn’t move.
  • Insert each of those motor risers into the perpendicular slots in a top brace, making sure that the wheels face away from the center of the top-brace.
  • Then add an empty motor riser into the remaining slot,
  • Slide the belly pan past the notches in the empty motor riser. (this will join the two subassemblies)
  • Add the bottom brace, mimicking the joints in the top brace.

Add the Side panels.

  • Insert the tabs from each top brace into the corresponding slot in a side panel
  • Mirror this action with the other side panel.

 

Circuit Building on Top.

Bringing the circuit parts together... mechanically!

Insert the wires from the motors into the 2-position screw-block terminals on L298N Motor Driver.

  • It technically doesn’t matter what color goes where, for the first one.
  • The second one should mirror the first. Even this, though, can be corrected by programming later.

Add wires to connect the motor driver to the breadboard power row.

  • Insert Dupont ends into the 3-position screw-block terminal. The other end should insert to the breadboard holes.
  • In the included diagram, this uses a red wire for the 12v connection, and a black wire for the GND connection.

Add wires to connect the motor driver control terminal to the breadboard

  • This will need female to male Dupont wires, with the female ends for the motor driver, and the male ends to the breadboard.
  • In the included diagram, these will be colored as follows.
  • In1 – Yellow – 10
  • In2 – Orange – 8
  • In3 – Green – 7
  • In4 – Purple – 5

Add wires for power supply

  • These route from the M-type socket to the board, and then from the power row to VIN and GND respectively on the Arduino Uno shown.
  • These are red and black on the diagram

The Breadboard used in this diagram may seem superfluous. It is intended to scaffold future lessons, and may be omitted if no other components are expected.

If desired, LED’s and resistors may be included, to fit alongside motor signal wires.

Programming

This phase can be inverted with the build phases, if more time for parts is needed. Arduino code for motor driving: includes Halt, Forward, Reverse, Left and Right functions.

Add the following code to an Arduino sketch:

 

// lights to be included, if used. 
int red = 13;
int yellow = 12;
int green = 11;
int blue = 9; 

//motor pins
const int in1 = 10;
const int in2 = 8;
const int in3 = 7;
const int in4 = 5;


void setup() {
  // put your setup code here, to run once:
  Serial.begin(9600);
  pinMode(red, OUTPUT);
  pinMode(yellow, OUTPUT);
  pinMode(green, OUTPUT);
  pinMode(blue, OUTPUT);
  pinMode(in1, OUTPUT);
  pinMode(in2, OUTPUT);
  pinMode(in3, OUTPUT);
  pinMode(in4, OUTPUT);

  //ensure the car starts from a halt, to allow user to set it down
  halt(3000);
  //These lines should be varied in order and duration to 
  //create the routines the car will move through. 
  forward(200);
  left(200);
  forward(200);
  right(200);
  reverse(200);
  halt(200);
  }
      
      
void loop() {
       //use the loop only for things that would repeat. 
       //In this case, once is probably enough. 
  }
  
  
void halt(int wait) {
  Serial.println("Full Stop");
  digitalWrite(red, HIGH);
  digitalWrite(yellow, LOW);
  digitalWrite(green, LOW);
  digitalWrite(in1, LOW);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, LOW);
  foreServo.write(90);
  aftServo.write(90);
  delay(wait);
  digitalWrite(red, LOW);
}

void forward(int wait) {
  Serial.println("forward");
  digitalWrite(green, HIGH);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  delay(wait);
  halt(0);
  }
    
void reverse(int wait) {
  Serial.println("reverse");
  digitalWrite(red, HIGH);
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  delay(wait);
  halt(0);
  }
    
void left(int wait) {
  Serial.println("left turn");
  digitalWrite(yellow, HIGH);
  digitalWrite(in1, HIGH);
  digitalWrite(in2, LOW);
  digitalWrite(in3, LOW);
  digitalWrite(in4, HIGH);
  delay(wait);
  halt(0);
}

void right(int wait) {
  Serial.println("right turn");
  digitalWrite(blue, HIGH);
  digitalWrite(in1, LOW);
  digitalWrite(in2, HIGH);
  digitalWrite(in3, HIGH);
  digitalWrite(in4, LOW);
  delay(wait);
  halt(0);
}

 

Once the code is complete, compile to check for errors, then upload to the Arduino.

NOTE:

USB power may be insufficient to see real motor movement. Don’t be discouraged, disconnect computer, and use included connector for a battery.

Test and Evaluate

Before testing with Code, inspect the vehicle to know if there will be any issues with mechanics. (spoiler alert, there is ONE that everyone will have, but other than that) ensure that cars have been built ready to roll.

ASSESSMENT!

Each vehicle should be submitted for visual inspection to ensure that all parts have been assembled correctly, and relevant connections have been joined.

 

Then, load code if not already complete, and attach power.

Set the bot on a clear open surface, preferably the ground, and let it go.

  • If more time is needed, it can be added in code.

Take note of the vehicle movements.

  • Does it move in the expected directions, in the order they were programmed?
  • Are there any differences?
  • What would be needed to give the car more ability to move around?

 

Standards

  • (HS-ETS1-2): Design a solution to a complex real-world problem by breaking it down into smaller, more manageable problems that can be solved through engineering.
  • (MS-ETS1-2): Evaluate competing design solutions using a systematic process to determine how well they meet the criteria and constraints of the problem.
  • (MS-ETS1-1): Define the criteria and constraints of a design problem with sufficient precision to ensure a successful solution, taking into account relevant scientific principles and potential impacts on people and the natural environment that may limit possible solutions.
  • (5-ETS1-1): Define a simple design problem reflecting a need or a want that includes specified criteria for success and constraints on materials, time, or cost.
  • (5-ETS1-2): Generate and compare multiple possible solutions to a problem based on how well each is likely to meet the criteria and constraints of the problem.
  • (Fab-Programming.2): I can create a program with more than one instruction.
  • (Fab-Modeling.2): I can construct compound shapes and multi-part components ready for physical production using multiple representations.
  • (Fab-Fabrication.2): I can develop workflows across four or more of the following: modeling softwares, programming environments, fabrication machines, electronic components, material choices, or assembly operations.
  • (Fab-Design.2): I can participate in design reviews with prepared presentation materials as well as give and receive feedback from peers.
  • (Fab-Safety.1): I can safely conduct myself in a Fab Lab and observe operations under instructor guidance.
  • (Fab-Electronics.1): I can follow instructions to build a simple electrical circuit using conductive material, basic components, and power.
  • (7.G.A1): Solve problems involving scale drawings of geometric figures, including computing actual lengths and areas from a scale drawing and reproducing a scale drawing at a different scale.
  • (MS-PS2-2): Plan an investigation to provide evidence that the change in an object?s motion depends on the sum of the forces on the object and the mass of the object.
  • (3-PS2-1): Plan and conduct an investigation to provide evidence of the effects of balanced and unbalanced forces on the motion of an object.

Lesson Feedback

Contact us

Having trouble? Let us know by completing the form below. We'll do our best to get your issues resolved quickly.

"*" indicates required fields

This field is for validation purposes and should be left unchanged.
Name*
Email*
?