Scratch for Data Logging and Graphing

48
http://sfe.io/r74 @sparkfun #nsta14 Using graphing / data visualization as a Playground for Literacy and Mathematics

description

Scratch is an open-source application developed at MIT to teach students as young as five years old to program using drag and drop blocks. Your students can quickly create interactive animations, games, or presentations for school. We will uncover an often overlooked feature of Scratch and integrate external sensors and inputs through our PicoBoard. Learn to build data collection, graphing, and visualization in Scratch!

Transcript of Scratch for Data Logging and Graphing

Page 1: Scratch for Data Logging and Graphing

http://sfe.io/r74 @sparkfun #nsta14

Using graphing / data visualization as a Playground for Literacy and Mathematics

Page 2: Scratch for Data Logging and Graphing

Scratch-ing the Surface of Programming and Enhancing Science

Using graphing as a Playground for Literacy and

Mathematics

Page 3: Scratch for Data Logging and Graphing

Brian Huang, Linz Craig, Derek Runberg

[email protected]@bri_huang @sparkfun

Page 4: Scratch for Data Logging and Graphing

Pause…

Before we move any further, let’s make sure that we all know each other in this room?

Please introduce yourself to the person(s) sitting in your general vicinity. Tell them a few things about yourself, maybe:

– where you’re from– what you teach– why you’re here– what you hope to get out of this….

Page 5: Scratch for Data Logging and Graphing

Schedule

• Introduction to Scratch, History• A few basic functions• Draw and graph• PicoBoard• Adding more functions

Page 6: Scratch for Data Logging and Graphing

About Us

At SparkFun, our focus is all about creation, innovation, and sharing information.

Open Source Hardware is at the core of our business. We emphasize researching, re-mixing, adapting, making improvements, and sharing with the world!

Page 7: Scratch for Data Logging and Graphing
Page 8: Scratch for Data Logging and Graphing
Page 9: Scratch for Data Logging and Graphing
Page 10: Scratch for Data Logging and Graphing

“Teachers that make… Make great teachers”

-Anonymous

Page 11: Scratch for Data Logging and Graphing

Scratch?• MIT Media Lab / Life-long

Kindergarten Lab• Out growth of Seymour Papert

Page 12: Scratch for Data Logging and Graphing

A few things..

• Free, http://scratch.mit.edu– Download version 1.4

• Open source• Create games, animations, & interactive environments• Interfaces with hardware: Picoboard, Makey Makey

Page 13: Scratch for Data Logging and Graphing

Elements \ Vocabulary

• Sprite / Costume• Stage / Background• Script / Blocks

Page 14: Scratch for Data Logging and Graphing
Page 15: Scratch for Data Logging and Graphing
Page 16: Scratch for Data Logging and Graphing

The stage is a background or a “back-drop” for your project..

You can paint, import, or take a photo as your background.

Multiple backgrounds may be used to create different scenes for a story or levels in a game.

Page 17: Scratch for Data Logging and Graphing

Grid space for the stage is setup with a standard Cartesian coordinate system.

The origin - (0,0) is in the center.

Extents are:

X: -240 to +240

Y: -180 to +180

Page 18: Scratch for Data Logging and Graphing

Attributes of the sprite and the stage can be manipulated using a script or set of instructions.

A script consists of a set of blocks that are “strung” together.

Blocks are organized into 8 separate “bins” by how it affects the sprite →

Page 19: Scratch for Data Logging and Graphing

1. Modify your Sprite / Costume and the Stage / Background.

2. Use any of the 8 blocks (or copies of the blocks) to introduce yourself to the class.

3. Right-click on any block and select duplicate to make a copy.

Page 20: Scratch for Data Logging and Graphing

General Usage Tips

Page 21: Scratch for Data Logging and Graphing

A basic function

Page 22: Scratch for Data Logging and Graphing

Cloning..

Page 23: Scratch for Data Logging and Graphing

Creating a sprite

The paint tools in Scratch are standard

Page 24: Scratch for Data Logging and Graphing

Pretty neat, eh?

Page 25: Scratch for Data Logging and Graphing

Hat Blocks

Hat blocks all start with the key word “when”

Hat blocks define the beginning of a script.

Any blocks attached to this will execute (run) when the event XXXX occurs.

Page 26: Scratch for Data Logging and Graphing

So, why Scratch? What else can it do?

• Presentations• Animations / Simulations

And...

Page 27: Scratch for Data Logging and Graphing

GRAPHING!

Page 28: Scratch for Data Logging and Graphing

Paint a simple sprite – just for data

Page 29: Scratch for Data Logging and Graphing

Initialize the position of the sprite

Recall: Grid space is X: -240 to +240, Y: -180 to +180

Page 30: Scratch for Data Logging and Graphing

Introduce a loop or “forever”

Blocks can be placed inside the “forever” bracket.

Any and all code blocks inside this will repeat over and over… forever…

Page 31: Scratch for Data Logging and Graphing

Pen feature(s)

As the sprite moves across the screen, it can place a “pen” down to trace it’s motions.

This feature can be used to sketch simple shapes, plan out maps, or graph data…

Page 32: Scratch for Data Logging and Graphing

Setting up the pen to draw

Rationale / pseudo-code:•Start / go to origin•Clear screen•Pen down

– Increase x– Repeat

Page 33: Scratch for Data Logging and Graphing

Adding a “y” control

For fun, let’s tie the y-axis to the mouse (notice that the blocks are of different colors…)

Page 34: Scratch for Data Logging and Graphing

Reset when it hits the end“If this, then that…”

Page 35: Scratch for Data Logging and Graphing

“If this, then that…”

Page 36: Scratch for Data Logging and Graphing

Adding Sensors (PicoBoard)

Page 37: Scratch for Data Logging and Graphing

Using the sensors

• Right click or ctl click for the menu

Page 38: Scratch for Data Logging and Graphing

A little math…Sensor readings range: 0 – 100.

Scale the number to fit our widow using two points: sensor = 0, y = -180 ; sensor = 100, y = +180

Page 39: Scratch for Data Logging and Graphing

Math operators / order of operations:

Page 40: Scratch for Data Logging and Graphing

Explore other sensors…Add a second sprite & second line?

Page 41: Scratch for Data Logging and Graphing

Advanced – Timing and data output

Introduce timer object reports # of seconds from start of program or since the “reset timer” block was called.

Page 42: Scratch for Data Logging and Graphing

Advanced – Timing and data output

Scaling the timer 480 pixels (points) in the x-direction.

Page 43: Scratch for Data Logging and Graphing

Creating a data list

Page 44: Scratch for Data Logging and Graphing

Creating a data list

Page 45: Scratch for Data Logging and Graphing

Finale

Page 46: Scratch for Data Logging and Graphing

Right-click on the data list and…

Page 47: Scratch for Data Logging and Graphing

Now what?

• Interested in professional development? Want to learn more?– Check-out our SparkFun Inventor’s Kit (SIK)– Also sold as a lab-pack for schools– 15 complete circuits with a full-color experiment guide.– Guide is available as a PDF.

• Teacher Prof. Dev Workshops available:– Contact: [email protected]

Page 48: Scratch for Data Logging and Graphing

Questions?

email: [email protected]: @bri_huang, @sparkfun, #nsta14

Interested in any of this? E-mail us about our 20% educator discount – [email protected]