diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 90d91910..0ceae0fd 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -166,6 +166,11 @@ * [Overview](/courses/ucp-science/electricity/overview) * [Setup and procedure](/courses/ucp-science/electricity/setup-procedure) * [Resources](/courses/ucp-science/electricity/resources) + * [Rocket Acceleration](/courses/ucp-science/rocket-acceleration) + * [Overview](/courses/ucp-science/rocket-acceleration/overview) + * [Build](/courses/ucp-science/rocket-acceleration/build) + * [Setup and procedure](/courses/ucp-science/rocket-acceleration/setup-procedure) + * [Resources](/courses/ucp-science/rocket-acceleration/resources) ## #reference diff --git a/docs/courses/ucp-science.md b/docs/courses/ucp-science.md index 34536770..a31116cb 100644 --- a/docs/courses/ucp-science.md +++ b/docs/courses/ucp-science.md @@ -38,6 +38,7 @@ The lesson series includes: * [Gravity, Motion and Waves](/courses/ucp-science/gravity) * [Body Electrical & Waves](/courses/ucp-science/body-electrical) * [Electricity - Battery Tester](/courses/ucp-science/electricity) +* [Rocket Acceleration](/courses/ucp-science/rocket-acceleration) The [Science Experiments](https://sites.google.com/view/utahcodingproject/csta/microbit-science-experiments) lesson series is generously provided by the [Utah Coding Project](https://sites.google.com/view/utahcodingproject/home) and is developed by [Carl Lyman](mailto:utahcoding@outlook.com). diff --git a/docs/courses/ucp-science/SUMMARY.md b/docs/courses/ucp-science/SUMMARY.md index 0f7f243f..de39adc1 100644 --- a/docs/courses/ucp-science/SUMMARY.md +++ b/docs/courses/ucp-science/SUMMARY.md @@ -50,3 +50,11 @@ * [Overview](/courses/ucp-science/electricity/overview) * [Setup and procedure](/courses/ucp-science/electricity/setup-procedure) * [Resources](/courses/ucp-science/electricity/resources) + +## Rocket Acceleration + +* [Rocket Acceleration](/courses/ucp-science/rocket-acceleration) + * [Overview](/courses/ucp-science/rocket-acceleration/overview) + * [Build](/courses/ucp-science/rocket-acceleration/build) + * [Setup and procedure](/courses/ucp-science/rocket-acceleration/setup-procedure) + * [Resources](/courses/ucp-science/rocket-acceleration/resources) diff --git a/docs/courses/ucp-science/gravity/overview.md b/docs/courses/ucp-science/gravity/overview.md index a1fb77c8..d82cbdf2 100644 --- a/docs/courses/ucp-science/gravity/overview.md +++ b/docs/courses/ucp-science/gravity/overview.md @@ -29,7 +29,7 @@ Students will: * Code the @boardname@s to collect data remotely over the @boardname@ radios. * Analyze the data collected. -### Materials Needed +## Materials Needed * 2 @boardname@s with batteries connected diff --git a/docs/courses/ucp-science/rocket-acceleration.md b/docs/courses/ucp-science/rocket-acceleration.md new file mode 100644 index 00000000..98a5cef3 --- /dev/null +++ b/docs/courses/ucp-science/rocket-acceleration.md @@ -0,0 +1,18 @@ +# Rocket Acceleration + +![two liter bottle rocket launches](/static/courses/ucp-science/rocket-acceleration/blast-off-header.jpg) + +The Earth exerts a gravitational force on all objects. A rocket must have a force greater than gravity to lift off. This force, acceleration, can be measured with a @boardname@ in 3 different directions or as a combined force of all three. A rocket made from a two liter soda bottle is made as a test vehicle to measure changes in acceleration as it lifts off and falls back to the earth. + +## Contents + +* [Overview](/courses/ucp-science/rocket-acceleration/overview) +* [Build](/courses/ucp-science/rocket-acceleration/build) +* [Setup and procedure](/courses/ucp-science/rocket-acceleration/setup-procedure) +* [Resources](/courses/ucp-science/rocket-acceleration/resources) + +
+ +| | | | +|-|-|-| +| Adapted from "[Rocket Acceleration z Radios](https://drive.google.com/open?id=1IyhCPdYQevKh3kHNgukSxlgdvZIKuzmIBjLSRnFS36o)" by [C Lyman](http://utahcoding.org) | | [![CC BY-NC-SA](https://licensebuttons.net/l/by-nc-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/) | diff --git a/docs/courses/ucp-science/rocket-acceleration/build.md b/docs/courses/ucp-science/rocket-acceleration/build.md new file mode 100644 index 00000000..51942346 --- /dev/null +++ b/docs/courses/ucp-science/rocket-acceleration/build.md @@ -0,0 +1,44 @@ +# Build + +## Building a Two Liter Soda Bottle Rocket + +The steps here show how to build a two liter soda bottle rocket. The @boardname@ rides inside a nose cone to protect it during flight. Also, you need to make a rocket launch system. + +### Rocket construction + +| | | +|-|-| +| **(1)** Find two 2-liter pop bottles to build the rocket and nose cone.| | ![two liter bottles](/static/courses/ucp-science/rocket-acceleration/two-liter-bottles.jpg) | +| **(2)** Attach the fins cut from a plastic strawberry container.| | ![rocket fins](/static/courses/ucp-science/rocket-acceleration/rocket-fins.jpg)| +| **(3)** Paint the 2-liter rocket after the fins are attached.| | ![Painted rocket](/static/courses/ucp-science/rocket-acceleration/painted-rocket.jpg)| +| **(4)** Cut the nose cone from the bottom of a 2-liter pop bottle.
It slides over the top of the rocket with the @boardname@ packaged inside.| | ![Nose cone](/static/courses/ucp-science/rocket-acceleration/nose-cone.jpg)| +| **(5)** Put the @boardname@ inside the protective wrapping.| | ![Wrapping for micro:bit](/static/courses/ucp-science/rocket-acceleration/microbit-wrap.jpg)| +| **(6)** Place the microbit inside the nose cone.| | ![micro:bit inside nose](/static/courses/ucp-science/rocket-acceleration/microbit-in-nose.jpg)| +| **(7)** The complete rocket with nose cone attached.| | ![Completed rocket](/static/courses/ucp-science/rocket-acceleration/completed-rocket.jpg)| +| **(8)** Set the rocket on the launcher.| | ![Rocket on the launcher](/static/courses/ucp-science/rocket-acceleration/rocket-on-launcher.jpg)| +| **(9)** Pump up the pressure and release the rocket.| | ![Rocket blasting off](/static/courses/ucp-science/rocket-acceleration/blast-off.jpg)| + +### Launch system + +In order to launch the rocket, you need to deliver compressed air to the rocket. There are several ways to make the rocket launcher. Here are some instructions and videos describing ways to do this. + +#### ~ hint + +**Caution!** + +The bottle rocket is launched when enough pressure builds up to push it off the launcher base. You don't always know when exaclty enough pressure exists to push the rocket up. To avoid being hit by the rocket, don't stand too close (you and anyone watching, and especially, don't stand directly over the rocket!) to it while you're adding pressure to the launcher. + +It may launch with enough force to hurt you if you're hit by it! + +#### ~ + +* [Air Command Water Rocket instructions](http://www.aircommandrockets.com/rocket_launcher.htm) (shows a variety of instructions) +* [How To Build The Simplest Water Bottle Rocket Launcher](https://www.youtube.com/watch?v=gyOzvqmUs4c) +* [Making a Water Bottle Rocket Launcher](https://www.youtube.com/watch?v=gDN9lxgzPlo) +* [Weekend Project: Compressed Air Rocket](https://www.youtube.com/watch?v=eNFfK5uo6D0) + +
+ +| | | | +|-|-|-| +| Adapted from "[Rocket Acceleration z Radios](https://drive.google.com/open?id=1IyhCPdYQevKh3kHNgukSxlgdvZIKuzmIBjLSRnFS36o)" by [C Lyman](http://utahcoding.org) | | [![CC BY-NC-SA](https://licensebuttons.net/l/by-nc-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/) | diff --git a/docs/courses/ucp-science/rocket-acceleration/overview.md b/docs/courses/ucp-science/rocket-acceleration/overview.md new file mode 100644 index 00000000..c7a95160 --- /dev/null +++ b/docs/courses/ucp-science/rocket-acceleration/overview.md @@ -0,0 +1,37 @@ +# Overview + +## Science Concept + +The Earth exerts a gravitional force on all objects. A rocket must have a force greater than gravity to lift off. This force, acceleration, can be measured with a @boardname@ in 3 different directions or as a combined force of all three. A two liter soda bottle rocket can be made and then changes in acceleration can be measured as it lifts off and falls back to the earth. + +## Project Goal + +Give students real world experience with coding, collecting data, analyzing data, and reporting results using MakeCode’s block programming and a @boardname@ with its sensors.(MakeCode.org and @boardname@.org) + +## Prior Knowledge + +Students need to have a basic knowledge of how to code using block style programming (@boardname@ using the Windows 10 MakeCode app) and download a program to a @boardname@. + +## Student Outcomes + +Students will: + +* Create experiments to collect data using @boardname@s and measure acceleration of a 2 liter pop bottle water rocket. +* Code the @boardname@s to collect data remotely over the @boardname@ radios. +* Analyze the data collected. +* Report on the findings of the experiments. + +## Materials Needed + +* 2 @boardname@s with batteries connected +* A 2 liter pop bottle rocket with nosecone +* A 2 liter pop bottle rocket launcher +* A longer USB @boardname@ cable +* Spreadsheet for data analysis + +
+ +| | | | +|-|-|-| +| Adapted from "[Rocket Acceleration z Radios](https://drive.google.com/open?id=1IyhCPdYQevKh3kHNgukSxlgdvZIKuzmIBjLSRnFS36o)" by [C Lyman](http://utahcoding.org) | | [![CC BY-NC-SA](https://licensebuttons.net/l/by-nc-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/) | + diff --git a/docs/courses/ucp-science/rocket-acceleration/resources.md b/docs/courses/ucp-science/rocket-acceleration/resources.md new file mode 100644 index 00000000..0fc6ccb6 --- /dev/null +++ b/docs/courses/ucp-science/rocket-acceleration/resources.md @@ -0,0 +1,66 @@ +# Resources + +## CSTA Standards + +Computer Science Teachers Association (CSTA) Standards 2017. + +http://www.csteachers.org/page/standards. + +### Level 2 (Grades 6-8) + +#### Computing Systems + +* 02 — Design projects that combine hardware and software components to collect and exchange data. +* 03 — Systematically identify and fix problems with computing devices and their components. + +#### Networks & the Internet + +* 04 — Model the role of protocols in transmitting data across networks and the Internet. + +#### Data & Analysis + +* 07 — Represent data using multiple encoding schemes. +* 08 — Collect data using computational tools and transform the data to make it more useful and reliable. +* 09 — Refine computational models based on the data they have generated. + +#### Algorithms & Programming + +* 11 — Create clearly named variables that represent different data types and perform operations on their values. +* 12 — Design and iteratively develop programs that combine control structures, including nested loops and compound conditionals. +* 13 — Decompose problems and subproblems into parts to facilitate the design, implementation, and review of programs. +* 17 — Systematically test and refine programs using a range of test cases. +* 19 — Document programs in order to make them easier to follow, test, and debug. + +## NGSS - Utah SEEd + +### Strand 6.1: Structure and Motion within the Solar System +The solar system consists of the Sun, planets, and other objects within Sun’s gravitational influence. Gravity is the force of attraction between masses. + +* Standard 6.1.2 + +>Develop and use a model to describe the role of gravity and inertia in ... motions of objects … + +* Standard 6.1.3 + +>Use computational thinking to analyze data and determine the scale and properties of objects in the solar system... Data sources could include Earth ...-based instruments ... Types of data could include graphs, data tables, ... + +### Strand 7.1: Forces are Interactions between Matter + +Forces are push or pull interactions between two objects. Changes in motion, balance and stability, and transfers of energy are all facilitated by forces on matter. Forces, including electric, magnetic, and gravitational forces, can act on objects that are not in contact with each other. Scientists use data from many sources to examine the cause and effect relationships determined by different forces. + +* Standard 7.1.1 + +>Carry out an investigation which provides evidence that a change in an object’s motion is dependent on the mass of the object ... Various experimental designs should be evaluated to determine how well the investigation measures an object’s motion. + +## micro:bit + +* [Microbit.org](http://microbit.org) +* [MakeCode.com](https://makecode.com) +* [Utah Coding Project](http://utahcoding.org) +* [Blog entry on Windows 10 MakeCode app](https://sites.google.com/view/utahcodingproject/blog/2018-jan-makecode-app) + +
+ +| | | | +|-|-|-| +| Adapted from "[Rocket Acceleration z Radios](https://drive.google.com/open?id=1IyhCPdYQevKh3kHNgukSxlgdvZIKuzmIBjLSRnFS36o)" by [C Lyman](http://utahcoding.org) | | [![CC BY-NC-SA](https://licensebuttons.net/l/by-nc-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/) | diff --git a/docs/courses/ucp-science/rocket-acceleration/setup-procedure.md b/docs/courses/ucp-science/rocket-acceleration/setup-procedure.md new file mode 100644 index 00000000..c27936b7 --- /dev/null +++ b/docs/courses/ucp-science/rocket-acceleration/setup-procedure.md @@ -0,0 +1,128 @@ +# Setup and procedure + +## Setup + +1. Plan and design the experiments. +2. Use the radio and the [MakeCode app][makecode-app] for the data collection method. +3. Plan and design data collection documents. +4. Program the @boardname@s. +5. Experiment with different data collection scenarios. +6. Report on the findings and observations in the experiments. + +## Code and Data Collection + +This project will explore 2 different methods of data collection. The first uses a single @boardname@ with the [Windows 10 MakeCode app][makecode-app] to record the data over a serial connection. The second uses the radio on the @boardname@ in the nose cone to transmit the acceleration values back to another @boardname@ connected to the computer to collect and record data using the Windows 10 MakeCode app. + +### Option 1: Windows 10 MakeCode app and a USB connection + +The [Windows 10 MakeCode app][makecode-app] allows data to be directly read from the @boardname@ when it is attached using USB cable. Data can be sent from the @boardname@ to the Windows 10 MakeCode app using a serial data connection. The data collected over the serial connection can be graphed and the data can be downloaded. The data can be downloaded as a _data.csv_ file. This allows the collection of data in real time. This file can be opened in a spreadsheet for further analysis. Many different kinds of experiments can be performed using this data logging technique. + +### Option 2: Remote collecting unit sending to receiving unit over radio + +Two @boardname@s can be used to collect and record data using the radio commands. One @boardname@ can be setup remotely and the other @boardname@ can be used to observe the data. The first @boardname@ can send the data it observes to the second @boardname@ for the observer to record. Setup 2 @boardname@s so they can communicate over the radio they need to be on the same radio group. For additional information see the [Data Collection](/courses/ucp-science/data-collection) lesson. + +Use 2 @boardname@s to collect the data on one and send it to another that is connect to the Windows 10 MakeCode app using a USB cable the experiment to collect and record data remotely. This allows the collection of acceleration data at a distance. + +## Coding the Radios Method + +### Sender @boardname@ Code + +The sender @boardname@ uses the ``||basic:on start||`` event to set up the title on the @boardname@ when started and the radio group. + +1. Code the first @boardname@ using Windows 10 MakeCode app. +2. Name the project, “Rocket Launch Sender”. +3. The ``||basic:on start||`` event will display the title and function of the @boardname@ in all caps, “ACCEL Z”. +4. Add comments to the ``||basic:on start||`` event: name of the project, creator, and date created. +5. Set up a radio group by giving it a number, or channel, to work on (group `10` is used in this example). + +```blocks +// Rocket Acceleration z sender +// by C Lyman +// May 2018 +basic.showString("Z ACCEL SENDER") +radio.setGroup(10) +``` + +Inside the ``||basic:forever||`` loop, the acceleration of ``z`` is recorded and sent as a number over the radio to the receiver @boardname@. + +The ``||radio:radio send number||`` block is used to send the acceleration sensed in the ``z`` direction. When the @boardname@ is face up the ``z`` direction is up and down. The ``x`` direction is right and left. The ``y`` direction is forward and backward. The number is sent to all @boardname@s on the same channel or group. + +```blocks +// forever loop to read z acceleration +basic.forever(() => { + radio.sendNumber(input.acceleration(Dimension.Z)) +}) +``` + +### Reciever @boardname@ Code + +This receiver @boardname@ uses the ``||basic:on start||`` event to set up the title on the @boardname@ when started, the radio group. + +1. Code the first @boardname@ using Windows 10 MakeCode app for @boardname@s. +2. Name the project, "Rocket Launch Receiver". +3. The ``||basic:on start||`` event will display the title and function of the @boardname@ in all caps, "ACCEL Z RECEIVER". +4. Add comments to the ``||basic:on start||`` event: Name the project, creator, and date created. +5. Set up a radio group by giving it a number or channel to work on. (Group 10 is used in this example.) +6. A ``||serial:serial write line||`` is used to send the text ``"Acceleration"``. This opens up the serial port in the Windows 10 MakeCode app so the purple **Show Data Device** button shows up below the simulator in the MakeCode app. Clicking this button allows the observation and downloading of the collected data. + +```blocks +basic.showString("ACCEL Z RECEIVER") +radio.setGroup(10) +serial.writeLine("Acceleration") +``` + +The ``||radio:on radio received||`` event reads the number value from the sending @boardname@. The number is then stored in the variable ``receivedNumber``. The last line uses the serial write command to send the text ``"z"`` label and the value of ``receivedNumber`` variable back to the Windows 10 MakeCode app. The data is sampled and send from 10 to 20 times per second. + +```blocks +// onRadio receive & write z value to serial +radio.onDataPacketReceived(({ receivedNumber }) => { + serial.writeValue("z", receivedNumber) +}) +``` + +## Data Analysis + +Sample Graphed data in the Windows MakeCode app: + +![Graphed data in data viewer](/static/courses/ucp-science/rocket-acceleration/graphed-data.jpg) + +Download the data collected and observed using the purple download button. +Sample data from the downloaded _data.csv_ file: + +![Spreadsheet view](/static/courses/ucp-science/rocket-acceleration/spreadsheet-view.jpg) + +Try graphing the data in different ways in the spreadsheet. + +## Rocket Launch Video + +Watch the demostration [rocket launch](https://drive.google.com/open?id=10h-uL7ajoS4_M7vZWW5LqdqSgt7PCj7Q) video. + +## Questions + +1. Can you observe relationships between the different forces of acceleration? +2. Is there a difference between the ``x``, ``y``, and ``z`` acceleration forces measured by a @boardname@? +3. When is the strength of the signal stronger? +4. What is micro gravity unit of measurement. +5. In a spreadsheet, does graphing few seconds compared to several seconds give a different picture of what is happening? + +## Extensions + +### Monitoring Freefall + +Set up the experiment to collect data when a @boardname@ is drown several feet or meters. + +### Develop Other Hypotheses and Experiments + +Research what acceleration on a skateboard at a skatepark or other types of movement as in a car. What about a ride at an amusement park? + +```package +radio +``` + +
+ +| | | | +|-|-|-| +| Adapted from "[Rocket Acceleration z Radios](https://drive.google.com/open?id=1IyhCPdYQevKh3kHNgukSxlgdvZIKuzmIBjLSRnFS36o)" by [C Lyman](http://utahcoding.org) | | [![CC BY-NC-SA](https://licensebuttons.net/l/by-nc-sa/4.0/80x15.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/) | + +[makecode-app]: https://www.microsoft.com/store/productId/9PJC7SV48LCX \ No newline at end of file diff --git a/docs/static/courses/ucp-science/rocket-acceleration/blast-off-header.jpg b/docs/static/courses/ucp-science/rocket-acceleration/blast-off-header.jpg new file mode 100644 index 00000000..0c450633 Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/blast-off-header.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/blast-off.jpg b/docs/static/courses/ucp-science/rocket-acceleration/blast-off.jpg new file mode 100644 index 00000000..ac8069a3 Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/blast-off.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/completed-rocket.jpg b/docs/static/courses/ucp-science/rocket-acceleration/completed-rocket.jpg new file mode 100644 index 00000000..fae8cb4d Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/completed-rocket.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/graphed-data.jpg b/docs/static/courses/ucp-science/rocket-acceleration/graphed-data.jpg new file mode 100644 index 00000000..eea743c5 Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/graphed-data.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/microbit-in-nose.jpg b/docs/static/courses/ucp-science/rocket-acceleration/microbit-in-nose.jpg new file mode 100644 index 00000000..2e48d046 Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/microbit-in-nose.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/microbit-wrap.jpg b/docs/static/courses/ucp-science/rocket-acceleration/microbit-wrap.jpg new file mode 100644 index 00000000..acd7eaa0 Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/microbit-wrap.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/nose-cone.jpg b/docs/static/courses/ucp-science/rocket-acceleration/nose-cone.jpg new file mode 100644 index 00000000..d75859fa Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/nose-cone.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/painted-rocket.jpg b/docs/static/courses/ucp-science/rocket-acceleration/painted-rocket.jpg new file mode 100644 index 00000000..d2b5c66a Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/painted-rocket.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/rocket-fins.jpg b/docs/static/courses/ucp-science/rocket-acceleration/rocket-fins.jpg new file mode 100644 index 00000000..ee995217 Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/rocket-fins.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/rocket-on-launcher.jpg b/docs/static/courses/ucp-science/rocket-acceleration/rocket-on-launcher.jpg new file mode 100644 index 00000000..1b53866d Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/rocket-on-launcher.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/spreadsheet-view.jpg b/docs/static/courses/ucp-science/rocket-acceleration/spreadsheet-view.jpg new file mode 100644 index 00000000..f603deab Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/spreadsheet-view.jpg differ diff --git a/docs/static/courses/ucp-science/rocket-acceleration/two-liter-bottles.jpg b/docs/static/courses/ucp-science/rocket-acceleration/two-liter-bottles.jpg new file mode 100644 index 00000000..fa99535c Binary files /dev/null and b/docs/static/courses/ucp-science/rocket-acceleration/two-liter-bottles.jpg differ