temperature chapter (#654)

* temperature chapter

* adding missing radio

* added drag fresh hex file to drive
This commit is contained in:
Peli de Halleux 2018-02-16 07:05:16 -08:00 committed by GitHub
parent 9cdf0078a7
commit dca6dba74c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
10 changed files with 255 additions and 5 deletions

View File

@ -139,6 +139,10 @@
* [Overview](/courses/ucp-science/electricity/overview)
* [Setup and procedure](/courses/ucp-science/electricity/setup-procedure)
* [Resources](/courses/ucp-science/electricity/resources)
* [Temperature](/courses/ucp-science/temperature)
* [Overview](/courses/ucp-science/temperature/overview)
* [Setup and procedure](/courses/ucp-science/temperature/setup-procedure)
* [Resources](/courses/ucp-science/temperature/resources)
* [Gravity, Motion and Waves](/courses/ucp-science/gravity)
* [Overview](/courses/ucp-science/gravity/overview)
* [Setup and procedure](/courses/ucp-science/gravity/setup-procedure)

View File

@ -13,7 +13,7 @@ Structured courses for teaching science and technology in the classroom.
"url":"/courses/csintro",
"imageUrl": "/static/courses/csintro.jpg"
}, {
"name": "micro:bit Science Experiments",
"name": "Science Experiments",
"description": "Science experiment lessons with measurements and data analysis activites",
"url":"/courses/ucp-science",
"imageUrl": "/static/courses/plonk.jpg"

View File

@ -1,6 +1,6 @@
# micro:bit Science Experiments
# Science Experiments
The micro:bit Science Experiments are lessons geared for students in middle school and early high school grades. The lessons are designed help the student gain a greater understanding of the forces and behavior of the physical world. This is done using methods of observation, measurement, and data analysis. By incorporating the micro:bit in the experiments, the lessons are a great way to teach both science and computing in the same activity.
The **Science Experiments** are lessons geared for students in middle school and early high school grades. The lessons are designed help the student gain a greater understanding of the forces and behavior of the physical world. This is done using methods of observation, measurement, and data analysis. By incorporating the micro:bit in the experiments, the lessons are a great way to teach both science and computing in the same activity.
These lessons guide the student in hands-on, practical measurement activities along with using the micro:bit to control and record data for the experiments. Each lesson provides an overview of the activity, outlines expected results, explains the setup of the experiment, and the gives a coding activity to measure and collect the data.
@ -16,13 +16,13 @@ The lesson series includes:
* [Data Collection Methods](/courses/ucp-science/data-collection)
* [Population Trait Data Counter](/courses/ucp-science/population)
* Temperature Data
* [Temperature Data](/courses/ucp-science/temperature)
* Soil Moisture Tester
* [Gravity, Motion and Waves](/courses/ucp-science/gravity)
* Body Electrical & Waves
* Magnetic Forces
* [Electricity - Battery Tester](/courses/ucp-science/electricity)
The [micro:bit 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).
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).
[![CC BY-NC-SA](https://licensebuttons.net/l/by-nc-sa/4.0/88x31.png)](https://creativecommons.org/licenses/by-nc-sa/4.0/)

View File

@ -0,0 +1,23 @@
# Temperature
```sim
basic.forever(() => {
led.plotBarGraph(
input.temperature(), 50
)
})
```
This lesson give students real world experience with coding, collecting temperature data, analyzing data, and reporting results using MakeCodes block programming and a microbit with its sensors.
## Contents
* [Overview](/courses/ucp-science/temperature/overview)
* [Setup and procedure](/courses/ucp-science/temperature/setup-procedure)
* [Resources](/courses/ucp-science/temperature/resources)
<br/>
| | | |
|-|-|-|
| Adapted from "[Temperature](https://drive.google.com/open?id=1X6FeANka2qcMC2ZFQgSSxEoHxsQc--6a0Pk9xxMOwE8)" 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/) |

View File

@ -0,0 +1,41 @@
# Overview
## Science Concept
### Temperature & Climate
```sim
basic.forever(() => {
led.plotBarGraph(
input.temperature(), 50
)
})
```
When heat flows into an object, its thermal energy increases and so does its temperature. The amount of temperature increase depends on three things: 1) how much heat was added, 2) the size of the object, and 3) the material of which the object is made. Thermal energy and temperature are closely related. Both reflect the amount of moving particles of matter as energy. However, temperature is the average measure of that energy, whereas thermal energy is the total energy within a system. Does this mean that matter with a lower temperature has less thermal energy than matter with a higher temperature? Not necessarily. (ck12.org, Sixth Grade Science, p 64)
...various processes work to moderate Earth's temperature across the globe. Atmospheric circulation brings warm air towards the poles and cold polar air towards the Equator. If the Earths atmosphere didnt move the temperature differences would be much greater. (ck12.org, Sixth Grade Science, p 91)
## Project Goal
Give students real world experience with coding, collecting temperature data, analyzing data, and reporting results using MakeCodes block programming and a microbit with its sensors.
## Prior Knowledge
Students need to have a basic knowledge of how to code using block style programming ([Microbit using the Windows 10 MakeCode app](https://www.microsoft.com/store/productId/9PJC7SV48LCX))) and download a program to a microbit.
## Student Outcomes
Students will:
* create experiments to collect data using microbits and the temperature sensor on them.
* setup different experiments to observe temperature in different environments.
* code the microbits to collect data remotely over the microbit radios.
* analyze the data collected.
## Materials Needed
* 2 microbits with batteries connected
* A longer USB microbit cable
* [MakeCode for @boardname@ Windows 10 app](https://www.microsoft.com/store/productId/9PJC7SV48LCX))
* Spreadsheet for data analysis and a word processor for reporting the findings

View File

@ -0,0 +1,26 @@
# Resources
## Utah Science with Engineering Education (SEEd)
* Utah Science Website
https://schools.utah.gov/curr/science
* Utah Grades 6-8 SEEd Standards
https://schools.utah.gov/file/265a0b53-b6a7-48fb-b253-b6a5f38ffe19
* Sixth grade OER Science text
https://eq.uen.org/emedia/items/dae58176-b839-4b26-87e4-09ca5ed98875/1/Grade6RS.pdf
* Seventh grade OER Science text
https://eq.uen.org/emedia/items/afd89ff1-054c-4ac5-a712-67f4c6029644/1/Grade7RS.pdf
* Eighth grade OER Science text
https://eq.uen.org/emedia/items/e5219302-32b9-4c2f-ad65-38f303da6654/1/Grade8RS.pdf
## NGSS - Utah SEEd
* Strand 6.3: Earths Weather Patterns and Climate
All Earth processes are the result of energy flowing and matter cycling within and among the planets systems. Heat energy from the Sun, transmitted by radiation, is the primary source of energy that affects Earths weather and drives the water cycle. Uneven heating across Earths surface causes changes in density, which result in convection currents in water and air, creating patterns of atmospheric and oceanic circulation that determine regional and global climates.
* Standard 6.3.2
Investigate the interactions between air masses that cause changes in weather conditions. Collect and analyze weather data to provide evidence for how air masses flow from regions ... Examples of data collection could include field observations, laboratory experiments, weather maps, or diagrams.
* Standard 6.3.3
Develop and use a model to show how unequal heating of the Earths systems causes patterns of atmospheric and oceanic circulation that determine regional climates. Emphasize how warm water and air move from the equator toward the poles. Examples of models could include Utah regional weather patterns such as lake-effect snow and wintertime temperature inversions.
* Strand 8.4 Interactions with Natural Systems and Resources
* Standard 8.4.4
Analyze and interpret data on the factors that change global temperatures and their effects on regional climates. Examples of factors could include agricultural activity, changes in solar radiation, fossil fuel use, and volcanic activity. Examples of data could include graphs of ... global and regional temperatures.

View File

@ -0,0 +1,146 @@
# Setup & Procedure
## Setup
Plan and design the experiments. (What environment will the data be collected in? Does the microbit need to be protected in a ziplock bag? What is the purpose of the experiment?)
Plan and design data collection documents.
Program the microbits.
Experiment with different data collections scenarios.
## Code
This project will start with one microbit and program it to use the microbits temperature sensor to collect and display the current temperature in Celsius on the microbits LED display. The data collected can be recorded manually on a paper with a pencil.
### MakeCode Programming Environment
* Open the MakeCode Microbit environment in a browser at: http://makecode.org and select Microbit.
* Or download and use the Windows 10 MakeCode app. The Windows 10 MakeCode app can be downloaded from the following link.
https://www.microsoft.com/store/apps/9PJC7SV48LCX
### Temperature Project 1 - LED display
### on Start event
1. Name the project, ``“Temperature Collection”``.
2. The “on Start” event will display the title and purpose of the microbit in all caps, “TEMPERATURE”. The text is put in the “show string” block. (The title is put in the “on start” event so when the microbit is started up it will show what it is programmed to do. It is done in all CAPS because it is easier to read as it is displayed in the LED display.)
```blocks
basic.showString("TEMPERATURE COLLECTION")
```
### forever event
In the “forever” event temperature data can be continually collected from the microbits temperature sensor. The data can be sent to the display on the LEDs using a “show number ()” block from the Basic toolbox..
```blocks
basic.forever(() => {
basic.showNumber(input.temperature())
});
```
As data is displayed it can then be recorded on a paper for further analysis.
Data can also be displayed graphically using the “plot bar graph of ( )” block from the LED toolbox.
```blocks
basic.forever(() => {
led.plotBarGraph(
input.temperature(), 0
)
});
```
**Variation.** Instead of using a forever loop, the “A” and “B” buttons could be programmed display the temperature in Celsius and in Fahrenheit.
### Temperature Project 2 - Microbit Windows 10 MakeCode app & a USB connection
The Windows 10 MakeCode app allows data to directly read serial data from your microbit for data logging and other fun experiments. This allow the collection of data in real time which can be downloaded in a CSV file for additional analysis in a spreadsheet.
The Windows 10 MakeCode app can be downloaded from the following link.
https://www.microsoft.com/store/apps/9PJC7SV48LCX
With the program downloaded from the MakeCode app to the microbit and the USB cable left connected and using the “serial write value” block from the Serial toolbox in the Advanced tool section.
```blocks
basic.forever(() => {
serial.writeValue("Celsius", input.temperature())
});
```
When the program is running, a purple “Show data Device” button shows up under the Simulator. By clicking on the button the data being observed can monitored and graphed in the “Show data Device” window.
![show device button](/static/courses/ucp-science/temperature/show-device.png)
Graph is highlighted with the blue box. The “Download” button in the red highlighted box allows the downloading of the recorded data as a CSV file which can be opened in a spreadsheet and analyzed.
![export data](/static/courses/ucp-science/temperature/export.png)
### Temperature Project 3 - Remote radio collecting to receiving radio displaying
Two microbits can be used to collect and record data using the radio commands. One microbit can be setup remotely and the other microbit can be used to observe the data. The first microbit can send the data it observes to the second microbit for the observer to record. To set up 2 microbits so they can communicate over the radio they need to be on the same radio group.
#### Radio Sending Code
In the starting of the code the title is displayed, radio group 99 is setup, and the initial “temperature” variable is set to 0.
In the forever loop the temperature is collected from the microbit sensor and stored in the “temperature” variable. The temperature is displayed on the LED display. A radio signal is sent to all microbit radios in group 99. The program pauses for 1000 milliseconds and then loops again.
```blocks
let temperature = 0
basic.showString("TEMPERATURE RADIO REMOTE")
radio.setGroup(99)
basic.forever(() => {
temperature = input.temperature()
basic.showNumber(temperature)
radio.sendNumber(temperature)
basic.pause(1000)
})
```
#### Radio Receiver Code
In the starting of the code the title is displayed, radio group 99 is setup, and the initial “temperature” variable is set to 0.
In the radio received event, the temperature is received from sending the microbit radio. The receive temperature is then displayed on the LED display. This is repeated whenever a radio signal is received.
```blocks
let temperature = 0
basic.showString("TEMPERATURE RADIO RECEIVER")
radio.setGroup(99)
let temperature = 0
radio.onDataPacketReceived( ({ receivedNumber: temperature }) => {
basic.showNumber(temperature)
})
```
#### Radio Receiver Code with Serial Write
This code is the same as above but one additional line of code is added to write to the word “Celisus” and the temperature to the MakeCode app to the USB serial connection. This is the same as described in the previous “Microbit Windows 10 MakeCode app & a USB connection” section.
```blocks
let temperature = 0
basic.showString("TEMPERATURE RADIO RECEIVER SERIAL")
radio.setGroup(99)
radio.onDataPacketReceived( ({ receivedNumber: temperature }) => {
basic.showNumber(temperature)
serial.writeValue("Celisus", temperature)
})
```
## Extensions
**Fahrenheit Conversion.** Modify the code so it returns temperature values in Fahrenheit. Formula: ``C = (F - 32) / (9/5)``
**Outdoor Weather Station.** Use a radio connection to collect and record the outside temperature.
**Fridge or Deep Freeze Temperature Monitor.** Use a radio connection to collect and record the outside temperature. It could be set up so it only detects and reports the temperature every minute or a few times an hour. It could be setup to sound an alarm (play a musical sound) if the temperature were to rise above a certain level.
**Temperature at Different Elevations.** Several students could use micorbits to observe the temperature at different elevations where the live at set times to see if there are patterns in temperatures at different elevations or regions.
<br/>
| | | |
|-|-|-|
| Adapted from "[Electricity - Battery Tester](https://drive.google.com/open?id=15Xry9jFsIzHHG7RpaIomLodl9pBjTiKDvtjkd227b7Y)" 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/) |
```package
radio
```

View File

@ -53,3 +53,13 @@ If you want to know more about connecting the board, MAINTENANCE Mode, and upgra
## Step 4: Wait for the driver updates
Once you've updated the firmware, Windows will detect the updated device and install the drivers necessary to enable communication with the @boardname@. This step happens in the background and may take a minute or two.
## Step 5: drag and drop a fresh .hex file
If you have used different editors with this board, it might require to be reseted by dragging a ``.hex`` into the drive. Click on the **Download** icon below the blocks and drag&drop the file into the @drivename@ drive.
```blocks
basic.forever(() => {
basic.showString("OK")
})
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB