Add the 'body electrical' lesson to science exp (#658)

This commit is contained in:
Galen Nickel 2018-02-15 20:43:28 -08:00 committed by Peli de Halleux
parent 11c3ac80b2
commit 5845ae71b8
11 changed files with 285 additions and 1 deletions

View File

@ -0,0 +1,17 @@
# Body electrical and waves
![Body electrical waves graph](/static/courses/ucp-science/body-electrical/body-waves.jpg)
Electrical impulses in the body can be observed, measured, and recorded as waves to show that there is a relationship between the circulatory, respiratory, muscular, and nervous systems. The @boardname@ can measure and record these waves, then send them to a to another @boardname@ which serves as the data collection device. The data can then be downloaded and anaylzed in a spreadsheet.
## Contents
* [Overview](/courses/ucp-science/body-electrical/overview)
* [Setup and procedure](/courses/ucp-science/body-electrical/setup-procedure)
* [Resources](/courses/ucp-science/body-electrical/resources)
<br/>
| | | |
|-|-|-|
| Adapted from "[Body Electrical & Waves](https://drive.google.com/open?id=1KofuOt0v1lmQhQyJux1XWDVoCDeslcjDFysjStFmo1w)" 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,46 @@
# Overview
## Science Concept
### The Nervous System Communicates with Muscles through Electrical Waves
Electrical impulses from the brain to the muscles can be observed, measured, and recorded as waves to show that there is a relationship between the circulatory, respiratory, muscular, and nervous systems of the human body.
#### Sample micro:bit body electrical data graph
![Graph of body electrical waves](/static/courses/ucp-science/body-electrical/body-electrical-waves.jpg)
## Project Goal
Give students real world experience with coding, collecting data, analyzing data, and reporting results using [MakeCodes](https://makecode.com) block programming and a [micro:bit](http://microbit.org) with its sensors.
## Prior Knowledge
Students need to have a basic knowledge of how to code using block style programming (micro:bit 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 voltage in the human body.
* Setup different experiments to observe the bodies electrical effect.
* 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
![Two micro:bits together](/static/courses/ucp-science/body-electrical/two-microbits.jpg)
* A longer USB microbit cable
* Spreadsheet for data analysis
* 2 long (36-48” or 100-130 cm) thin wires for electrical body sensors (wire from an old network cable works quite well).
* Painters tape to tape the wires to the skin on the body.
<br/>
| | | |
|-|-|-|
| Adapted from "[Body Electrical & Waves](https://drive.google.com/open?id=1KofuOt0v1lmQhQyJux1XWDVoCDeslcjDFysjStFmo1w)" 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,87 @@
# 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,
## 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.4: Stability and Change in Ecosystems
* Standard 6.4.3
>Develop a model to describe the cycling of matter and flow of energy among living and nonliving parts of an ecosystem...
### Strand 7.1: Forces are Interactions between Matter
* Standard 7.1.3
>Construct a model using ...the cause and effect relationship between properties of objects (such as ...electrically-charged objects)....
* Standard 7.1.4
>Collect and analyze data to determine the factors that affect the strength of electric ... forces…
### Strand 7.3: Structure and Function of Life
* Standard 7.3.3
>Construct an explanation using evidence to explain how body systems have various levels of organization. Emphasize understanding that cells form tissues, tissues form organs, and organs form systems specialized for particular body functions. Examples could include relationships between the circulatory, ....respiratory, muscular, ... and nervous systems. ...
### Strand 8.2: Energy is Stored and Transferred in Physical Systems
* Standard 8.2.4
>Use computational thinking to describe a simple model for waves that shows the pattern of wave amplitude being related to wave energy (the brain sends electrical signal to the body and muscles in a wave format). Emphasize describing waves with both quantitative and qualitative thinking. Examples could include using graphs, charts, computer simulations, or physical models to demonstrate amplitude and energy correlation.
* Standard 8.2.6
>Obtain and evaluate information to communicate the claim that the structure of digital signals are a more reliable way to store or transmit information than analog signals. Emphasize the basic understanding that waves can be used for communication purposes. Examples could include using vinyl record vs. digital song files, film cameras vs. digital cameras, or alcohol thermometers vs. digital thermometers.
## 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)
<br/>
| | | |
|-|-|-|
| Adapted from "[Body Electrical & Waves](https://drive.google.com/open?id=1KofuOt0v1lmQhQyJux1XWDVoCDeslcjDFysjStFmo1w)" 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,133 @@
# Setup and procedure
## Setup
1. Plan and design the experiments.
2. Connect the wires to the microbit with connections at pin **0** and the ground pin (**GND**). Pin **0** will detect any electrical current flowing between it and the ground. The human body is always sending out electrical current from the nervous system to the muscles.
3. Coil the stripped ends of the copper wires and tape them to the skin in different areas of the body with the painters tape.
4. Plan and design data collection documents.
5. Program the @boardname@s.
6. Experiment with different data collections scenarios (this experiment could try several different areas of the body. It could also monitor the body sitting or during movements or exercise to observe any differences).
7. Report on the findings and observations in the experiments.
![Micro:bit connected to body wires](/static/courses/ucp-science/body-electrical/body-wires-connect.jpg)
## Code and data collection
This project will use to microbits to collect and record data using the Windows 10 MakeCode app as described in the [Data Collection](/courses/ucp-science/data-collection/setup-procedure) lesson.
## Option 2 — Microbit Windows 10 MakeCode app and a USB connection
The Windows 10 MakeCode app allows data to be directly read from the microbit when it is attached using USB cable. Data can be sent from the microbit to the Windows 10 MakeCode app using serial data connection. The data collected over the serial connection can be graphed and the data can be downloaded. A limit of only about the last 20 seconds of 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.
### on Start event
1. Code the first @boardname@ using Windows 10 MakeCode app for @boardname@.
2. Name the project, "Body Electricity Sender".
3. The ``||basic:on start||`` event will display the title and function of the @boardname@ in all caps, ``"BODY ELECTRICAL"``.
4. Set up a variable ``ekg`` or ``bodyElectricity`` and initialize its starting value to `0`.
### forever event
1. Set the ``ekg`` or ``bodyElectricity`` variable to get its value from the “analog read pin (0)”. This detects and electrical current that is sent through the body between the 2 taped wires connected to the body and the microbit. This is an analog reading that gets converted to a digital number between 0 - 1024.
2. The next line uses a ``||basic:serial write value||`` (``"EKG"`` and the value stored in the ``ekg`` variable) to send the value back to the Windows 10 MakeCode app through the USB connection to the computer and @boardname@.
```blocks
// Body Electricity
let ekg = 0
basic.showString("EKG")
// forever loop reading data on pin(0)
basic.forever(() => {
ekg = pins.analogReadPin(AnalogPin.P0)
serial.writeValue("EKG", ekg)
})
```
### Analyze
Here's a sample of some of the graphed data:
![Sample of data graphed in the data view](/static/courses/ucp-science/body-electrical/sample-graph.jpg)
Download the data collected and observed using the purple **Download** button.
The same data from the ``"data.csv"`` file might look like this in a spreadsheet:
![View of EKG data in spreadsheet](/static/courses/ucp-science/body-electrical/spreadsheet-view.jpg)
Do some more meaurements:
1. Try graphic the data in different ways in the spreadsheet.
2. Try collecting data for another area on the body.
## Option 3 — Remote radio collecting to receiving radio displaying
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. To set up 2 @boardname@s so they can communicate over the radio they need to be on the same radio group. For additional information look at the [Data Collection](/courses/ucp-science/data-collection/setup-procedure) lesson.
By using 2 @boardname@ to collect the data on one and send it to the second @boardname@ which is connect to the Windows 10 MakeCode app using a USB cable the experiment can collect and record data remotely. This would allow the collection of body electrical data while a person is exercising or moving.
### micro:bit radio sending code
This sender @boardname@ uses the ``||basic:on start||`` event to set up the title on the @boardname@ when started, the radio group, and the ``bodyElectricity`` variable so it can collect and store the data received from the pin **0**.
The ``||basic:forever||`` event read the electricity on pin **0** and stores it in the variable ``bodyElectricity``. It's then sent over the radio to the receiver @boardname@.
```blocks
// Body Electricity Project
basic.showString("EKG")
let bodyElectricty = 0
radio.setGroup(99)
// forever loop that collects body electricity and send it over the radio
basic.forever(() => {
bodyElectricty = pins.analogReadPin(AnalogPin.P0)
radio.sendNumber(bodyElectricty)
})
```
### micro:bit radio receiving code
This receiver @boardname@ uses the “on start” event to set up the title on the @boardname@ when started, the radio group, and the ``bodyElectricity`` variable to collect and store the data received.
The ``||radio:on radio received||`` event reads the number value sent from the sending @boardname@. The number is then stored in the ``bodyElectricity`` variable. the electricity on pin **0** and stores it in the variable ``bodyElectricity``. The last line uses the serial write command to send the text `"Body Electricity"` label and the value of ``bodyElectricity`` variable back to the Windows 10 MakeCode app. The data is sampled and send from 10 to 20 times per second.
```blocks
// Body Electricity Receiver
basic.showString("BODY ELEC")
let bodyElectricty = 0
radio.setGroup(99)
// Radio Receiver event
radio.onDataPacketReceived( ({ receivedNumber }) => {
bodyElectricty = receivedNumber
serial.writeValue("Body Electricty", bodyElectricty)
})
```
## Questions
1. Can you observe relationships with a heart rate? With breathing?
2. Is there a difference when connected to muscle and skin with limited muscles underneath?
3. When is the strength of the signal stronger?
4. What is the relationship between the analog reading and the digital output?
5. In a spreadsheet, does graphing few seconds compared to several seconds give a different picture of what is happening?
## Extensions
### Monitoring Exercise
Set up the experiment to collect data while someone is exercising.
### Develop other hypotheses and experiments
Research what about EKG and other body electrical signals.
<br/>
| | | |
|-|-|-|
| Adapted from "[Body Electrical & Waves](https://drive.google.com/open?id=1KofuOt0v1lmQhQyJux1XWDVoCDeslcjDFysjStFmo1w)" 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

@ -15,11 +15,12 @@ Give students real world experience with coding, collecting data, analyzing data
## Prior Knowledge
Students need to have a basic knowledge of how to code using block style programming (micro:bit using the Windows 10 MakeCode app) and download a program to a micro:bit.
Students need to have a basic knowledge of how to code using block style programming (micro:bit using the Windows 10 MakeCode app) and download a program to a @boardname@.
## Student Outcomes
Students will:
* Create experiments to collect data using micro:bits and the pins to measure electrical voltage.
* Setup different experiments to observe the electricity, voltage, and other electrical effects.
* Code the micro:bits to collect data.

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB