all | frequencies |
|
|
exhibits | applications |
---|---|---|---|---|---|
manuals |
app s | submitted / available | |||||||
---|---|---|---|---|---|---|---|---|
1 |
|
User Manual Part 1 | Users Manual | 5.79 MiB | ||||
1 |
|
User manual Part 2 | Users Manual | 5.95 MiB | ||||
1 | Cover Letter(s) | |||||||
1 | Cover Letter(s) | |||||||
1 |
|
External Photos | External Photos | 1.72 MiB | ||||
1 | Internal Photos | |||||||
1 | ID Label/Location Info | |||||||
1 | Cover Letter(s) | |||||||
1 | RF Exposure Info | |||||||
1 | Test Setup Photos | |||||||
1 | Test Report |
1 | User Manual Part 1 | Users Manual | 5.79 MiB |
1 Table Of Contents Scratch Introduction Hardware Introduction Rotating Motor Project Motion Sensor Motor Project Emoji Robot Project Single Axis Steadicam Project Airbag Project Wired RC car Project Safety Car Project Delivery Truck Project Obstacle Course Project Edge Avoidance Car Project Line Finding Car 1 Project Line Finding Car 2 Project A Guide Book For MIXC104E 3-25 26-46 47-68 69-88 89-108 109-127 128-147 148-167 168-187 188-208 209-229 230-250 251-271 272-294 2 Your students can use Scratch to code their own interactive stories, animations, and games. In the process, they learn to think creatively, reason systematically, and work collaboratively essential skills for everyone in todays society. With Scratch, you can program your own interactive stories, games, and animations and share your creations with others in the online community. Scratch helps young people learn to think creatively, reason systematically, and work collaboratively essential skills for life in the 21st century. 3 Introduction The Microduino MIX guide will show guide will walk you through an introduction in the use of Arduinos Scratch editor and then a number of projects. With each project the challenge level increases so as to expand your knowledge of coding and code thinking. The process of coding also involves how to organize in your thinking the process and sequence of events that will result in the correct oper-
ation of your project. In our projects we use the Arduino Scratch editor to construct and ex-
ecute code to drive the hardware of projects. Scratch has become one of, if not the, most popular coding tool today. As you read the introduction of Scratch keep in mind that the basic ar-
eas of the scratch editor uses many similar terms used in the parts of a stage play. It refers to stages, scripts, costumes, backdrops and so on. This is meant to help us create a mental image of what we doing. Beyond this we get into the more technologial terms of technology. 4 Installation 5 The Interface Toolbar Palettes &
Panes Stage Scripts Area Sprites & Backdrop 6 Toolbar The Tool Bar in Scratch provides many useful functions and configuration options. Below is a quick overview of each menu item. Some terms and phrases will be explain later. New Project - creates a new blank project. Open Project - open a saved project. Save / Save As - save / save as the current project. Undo - undo the most recent change in the project. Redo - redo the most recent undo in the project. Serial Port - select serial port for usage or program-
ming of MIX hardware. Mode Selection - select different control modes for Scratch:
Scratch / Live mode - control MIX hardware in real time using Scratch blocks. MIX hardware requires a constant connection to a PC in order to function. Arduino Mode - compiles and uploads codes onto MIX hardware. Once a program is uploaded, MIX hardware can run independently without a PC connection. Text Coding Mode - text based programming. Currently under development. 7 Settings - various configuration settings for Scratch. Kit - select a Microduino kit, which shows enables different blocks. Flash firmware - flash the required firmware onto the hardware to use Scratch / Live mode. Language - select language. Check update - check for and update to the latest Scratch version. Issue report - submit a bug report. About - information on the version of Scratch. Stage Scratch can be thought as a school play. The Stage is where the viewer sees the play. Sprites can be thought as actors or characters in a play. Backdrop is the background. Together they make the Stage. Below is a quick overview. Some terms and phrases will be explained later. Green Flag:
When clicked, all When Green Flag Click blocks activates. Stop Sign:
When clicked, stops all Scripts that are running. Backdrop:
Is the background of the stage. There can only be one Backdrop. It can be change and you can also design your own. Sprite:
Sprites can be thought as actors or characters. There can be multi-
ple Sprites on the Stage. You can also design your own. The Stage includes Sprite(s) and a Backdrop. 8 Sprites & Backdrop This section allows you to select, edit and create Sprites and Backdrops. Select-
ing a Sprite or Backdrop is done by clicking on it from this section. Below is a quick overview. Some terms and phrases will be explained later. When a sprite is selected. Edit the sprite name, sprite position on the stage, visibility, size of the sprite and the angle of the sprite. Sprites in your project are located here. There can be multiple sprites in a project. New projects automatically have one Sprite included. Its name is Corey. Current backdrop. Add a new sprite from the sprite library. Add a new backdrop from the backdrop library. 9 Palettes & Panes This section of the interface contains the Sprite Pane, Costume Pane / Backdrop Pane, and Sound Pane. You can switch between the panes by clicking on the appropiate tabs. Click to activate Script pane. Click to activate Sound pane. Click to activate Costumes or Backdrops Pane. 10 Script Pane The Script Pane contains the tools you need to make your Sprite or Backdrop do things. A Script can be thought of as the instructions that your Sprite or Back-
drop follows, similar to a school plays script which instructs the actor what to do. Some terms and phrases will be explained later. Block Categories:
Blocks are sorted to different categories for quicker access. Each category has its own color and the Blocks contained within are the same color. For example, Motion Blocks are all purple. Blocks:
Blocks are instructions for your Sprite or Backdrop to follow. There are many Blocks each with their own type. Blocks are cate-
gorized into different categories. 11 Scripts Area The Scripts Area is one of the most important parts of the Scratch interface. It allows you to create and assemble the Script for your currently selected Sprite or Backdrop. You can drag Blocks from the Scripts Pane into the Scripts Area to assemble your Script. Each Sprite or Backdrop has its own personal Scripts Area. A Script can be thought of as the in-
structions that your Sprite or Backdrop follows. Assemble Scripts by dragging Blocks into the Script Area. Scripts Area:
Assemble your Script for your currently selected Sprite or Backdrop. 12 Exercise: First Steps Lets create your very first project! Let make Corey take its very first steps. Assemble the Script below by dragging the Blocks you need from the Sprite Pane into the Scripts Area. The Block Locator sidebar is there to aid you in finding the blocks you need you need quickly. Use it for your convenience!
Block Locator Motion Assemble Scripts by dragging Blocks into the Script Area. 13 Exercise: First Steps Now click on the Block you just added to the Scripts Area. What happens to Corey on the stage? It moved 10 steps to the right!
Click on any colored part of the block to activate it. 14 Types of Blocks There are different types of Blocks which have different shapes. Each shape has a different purpose and is intended to aid in assembling Scripts. Hat blocks are the blocks that start every script. They are shaped with a rounded top and a bump at the bottom this is so you can only place blocks below them. Stack blocks are the blocks that perform the main commands. They are shaped with a notch at the top and a bump on the bottom this is so blocks can be placed above and below them. Boolean blocks are the conditions they are either true or false. Its like asking your friend: Does 2 + 2 = 4?, and they would either tell you Yes or No. Boolean blocks have a hexagonal shape. Reporter blocks are the values. Shaped with rounded edges, Reporter blocks can hold numbers and strings. It is like asking a friend, for example, What is 2 + 2?, and they would answer 4. It is not just equations however, it can report a variable, for example, What is your age?. They may answer: 15. C blocks are blocks that take the shape of Cs. Also known as Wrap blocks, these blocks loop the blocks within the Cs or check if a condition is true. Cap blocks are the blocks that end scripts. They are shaped with a notch at the top and a flat bottom this is so you cannot place any blocks below them. Source: https://wiki.scratch.mit.edu/wiki/Blocks 15 Costume Pane When a Sprite is currently selected, the middle tab becomes the Costume Pane. This section allows you to design Costumes for your currently selected Sprite. Costumes can be thought of as a different image /
appearance for your Sprite. It is useful to use Costumes when creating animations for your Sprite or if you want your Sprite to change its appearance. Costumes name. Editing tools. Costumes for the currently selected Sprite. Add a new costume for the currently select-
ed Sprite. Costumes Appearance When a Sprite is selected. 16 Exercise: Second Steps How can we animate Corey to look like it is walking?
We change Coreys costume to look like it is taking steps. Assemble the Script below:
Block Locator Motion Looks Control 17 Exercise: Second Steps Click on any color portion of the Script. What does Corey do?
Corey walks with an animation! Click repeatedly to make Corey perform the animation over and over again. Click on any colored part of the block to activate it. 18 Backdrop Pane When Backdrop is currently selected, the middle tab becomes the Backdrops Pane. This section allows you to design Backdrops. It is useful to have multiple Backdrops if you want to change the background for your project. Backdrops name. Editing tools. Backdrops in the current project. Add a new Backdrop to the project. Backdrops Appearance When a Back-
drop is selected. 19 Creating a Backdrop Corey doesnt like walking in a blank white space. Corey wants to walk in the park!
How can we make Corey walk in a park?
We can change the Backdrop to a scenery of a park. But first we need to create a Backdrop of a park. Add a new backdrop from the backdrop library. 20 Creating a Backdrop Select a backdrop for the park. 21 Exercise: A Walk in the Park 2. Click to switch to Switch Pane. Dont forget to switch back to Corey by selecting Corey and then switching to the Scripts Pane. Block Locator Motion Once you have created your new Backdrop, assemble the blocks below:
Looks 1. Click to select Corey. Control Set to your newly Created Backdrop. 22 Exercise: A Walk in the Park Click and Corey will start walking forever. Click to change the Backdrop to the default white one. Click to change the Backdrop to your custom one. 23 Sound Pane Click to activate Sound pane. Sounds name. Sound wave appearance. List of sounds for the currently selected Sprite or Backdrop. New sound creating options. Editing and playback tools. 24 Further Learning This chapter is intended to give a basic understanding of how to use Scratch when creating projects in the MIX kits. There are a vast amount of topics to learn about Scratch which are outside the scope of this product. Many resources can be found online to learn more about Scratch!
Links https://scratch.mit.edu/
25 Hardware Mix 4 26 Trinkets Buzzer Color LED Motor Servo 1x 1x 2x 2x MIX 4 Kit Contents Sensors 1x 1x 4x 1x 2x 1x IR Receiver Joystick Line Finder Motion Potentiometer Touch Button 1x 1x 1x 2x 1x 1x 2x 1x mCenter+
OLED Motor Controller IO Splitter Servo Connector Remote Control Wheel USB Cable 24x Hub Connector Cables Building Blocks 27 Scratch and mCookie The Microduino version of Scratch contains special added features which enables the use of mCookie modules. The Blocks under the Category Block called Arduino and mCookie, adds support to use mCookie modules. Blocks can be found under the category Arduino and mCookie. 28 Scratch and mCookie You can use the Blocks under the Arduino and mCookie category in your Scripts as you would use any other Block. Arduino and mCookie Blocks. 29 mCookie Series Microduinos mCookie series is designed for ease of use. The series is modular, stackable, magnetized, easily connect-
able and building blocks compatible. It makes assembling a project quick and easy. Modular Stackable and Magnetized Building Block Compatible 30 mCenter+
Is a five-in-one module which contains:
Li-ion Battery: battery pack to power your projects which can be recharged via the USB port. mCookie Core+: a tiny central processing unit (CPU), which is the brains of your projects. USB Programmer: programs the Core+ module and acts as a serial communication bridge between your computer and Core+ module. Bluetooth Upload: similar to the USB programmer, but works wirelessly over Bluetooth communication. Hub: connects various modules such as sensors, trinkets, and other modules to your projects. These modules can then be accessed by the Core+ module. Hub Connectors:
Connect sensors or trinkets to mCenter+ with a Hub Connector Cable. Module Pad: Stack modules to mCenter+. Power Switch: Turn on or off the battery to supply power to the modules. LED Power Indicator: Indicates if mCenter is on or off. MicroUSB Port: To charge the battery and upload programs to a embedded Core+ module when connected to a computer. IMPORTANT: When uploading programs, make sure the red LED is on, which means the modules are receiving power. 31 Embedded Core+ Module mCenter+ contains an embedded Core+ module. The Core+ module is the brains of your projects. It is a tiny central pro-
cessing unit (CPU) that you can program or control. It is capable of controlling or sensing information from other modules. It is programmable when connected to a computer. 32 mCenter+s Hub mCenter+ incorporates a Hub. The Hub connects various modules such as sensors, trinkets, and other modules to a project. These modules can then be accessed by the embedded Core+ module. The Hub has 10 connection header ports. Each connection header has support for different sets of features. Some headers may support a feature, while another may not. 2/3 2/3 4/5 4/5 I2C I2C I2C I2C I2C I2C 6/7 6/7 8/9 8/9 A6/A7 A6/A7 A2/A3 A2/A3 A0/A1 A0/A1 Digital signals produce only a off (LOW) or on (HIGH) state. There is no middle state between the two. Analog signals are continuous and fea-
ture many middle points. They look like smooth curves. IIC is a type of serial communication interface. It is more ad-
vanced than digital and analog signals. Under IIC, messages are exchanged and understood between communicating mod-
ules. Modules such as the OLED screen, temperature & humid-
ity sensor, real time clock (RTC) module and other modules use this method of communication. 33 Color LED The Color LED is a LED composed of 3 smaller LEDs which emit red, green, and blue. Each colors brightness value can be configured individually. This can produce a wide variety of colors. It is controlled over a special communication protocol which is differ-
ent from the basic Digital Output (used by Single-Color LED). Indexing 2/3 4/5 I2C I2C I2C 6/7 8/9 A6/A7 A2/A3 A0/A1 IN OUT ColorLED Index: 0 IN OUT ColorLED Index: 1 The Color LED connected directly to the Hub is index 0. The Color LED connected next in the chain is index 1. And so on. Usage Hub pin the 1st Color LED is connected. Index of the Color LED to configure. Color to change the Color LED to. Hub pin the 1st Color LED is connected. Transition to this color. Color LED - Color Select block This block configures what color a particular Color LED displays. Color LED - Color Transition block This block causes a particular Color LED to transition from one color to another color under a time span. (Note: This block must complete its transition before proceeding to the next block in the script.) Index of the Color LED to configure. Transition from this color. Set duration (in milliseconds) for the transition. 34 Potentiometer A Potentiometer is a input module which can be turned or rotated right or left. Based on the position of the knob, it produces a different signal value for the Core module to read. It must be connected to an analog port (ports denoted with A). Analog Read block This block returns the value from the Potentiometer. A value between 0 and 1023 is returned. If the potentiometer is turned all the way to the left, it produces a 0 value. If it is turned all the way tot the right, it produces a 1023 value. In the middle it produces a value around 512. Pin the Potentiometer is connected to. 0 1023 35 Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 36 Motion The Motion module is a triple axis accelerometer and gyroscope. It is capable of measuring on the X, Y & Z axis the:
Angle Acceleration Angular velocity It uses the I2C communication protocol and must be connected to and I2C port on mCenter+. Motion - Read block This block reads data from the Motion module. It is capable of retrieving the angle, acceleration and angular velocity on the X, Y or Z axis. Angle, acceleration, or angular velocity to read. On the X, Y or Z axis. 37 Servo A Servo is an actuator which consist of a motor and other electronic components which allows for precise angle adjustments of the attached horn. The servo included in the kit has an adjustable angle range between 0 and 180 degrees. Servo - Set Angle block Sets the angle of the Servo. Quickly moves (as fast as possible) to the desired angle. Pin the Servo is connected to. Angle to set Servo to. Servo - Move From-To Angle block Sets the angle from the starting angle to the target angle. This move-
ment is performed in the specified duration time. Pin the Servo is connected to. Starting angle of Servo. Target angle for Servo. Time in millisecond to move from starting angle to target angle. 38 Joystick A Joystick is an input module (sensor) which can sense if the stick is in the up, down, left or right positions. In addition, it can sense if it being pressed (pressing directly on stick). Up Left Right Press Down Usage The Joystick must be connected to an Analog Read compatible pin. These are the pins prefixed with an A (pins A0 to A7). Joystick State block On the defined Joystick pin, if the sticks position (up, down, left, right or center (pressed)) matches the state (released, pressed or pressing), then this block returns TRUE. Pin Joystick is connected to. Stick position to check. Stick positions state to match. Otherwise, this block returns FALSE. 39 Line Finder The Line Finder module is able to detect reflectivity or gray level of a surface. In gen-
eral, darker or less reflective surfaces produces a higher value. While a lighter or more reflective surface produces a lower value. It must be connected to a pin with an A prefix (A0/A1, A2/A3, A6/A7). Surface Reflectivity Lighter, more reflective surfaces. 0 Value Returned Darker, less reflective surfaces. 1023 Analog Read block This block returns the value that the Line Finder detects. A value between 0 and 1023 is returned. Pin that Line Finder is connected to. 40 Hardware Connectivity Stacking Modules Stacking module is done simply by stacking them on the mCenter+
or upon themselves as shown. Ensure pins line up correctly. Stack modules, ensure gold pins align. Connecting Modules to the Hub Connecting sensors, trinkets, and other modules to the Hub is done with the Hub Connector Cable. Connect one side of the cable to the module and the other to a port on the Hub. As shown. Sensor, Trinket, or other module Hub Connector Cable mCenter+s Hub 41 Setup for Scratch Using the mCookie modules with Scratch can be accomplished in two ways: Live mode and Arduino mode. The projects in this MIX Kit will use Scratch in Live mode. Arduino mode is an advanced mode and will not be covered in this Kit. Select Live Mode here. Select Arduino Mode here. Live Mode Arduino Mode 42 Live Mode Live Mode is the default mode when using Scratch. It allows you to use Scratch as normal, but with the ability to use mod-
ules included in the MIX Kit. You must upload a special firmware onto the Core module to use this mode. In this mode, to control the modules, you will need to have your project connected to your computer sending commands in real time. If you disconnected the project from your computer, your project will no longer be receiving commands. Select Live Mode here. 43 Live Mode A firmware is a program that runs on the Core module. Live Mode requires a special firmware to be upload onto the Core module. This special firmware allows the Core module to perform commands sent from your computer in real time. Uploading this special firmware only needs to be done once, unless it is overwritten with another firmware (such as when using Arduino mode). Computer send or receives commands with mCenter+ over USB. mCenter+ acts as a communi-
cation bridge with the Comput-
er and the embedded Core+
module. Core+ module receives or sends commands with mCenter+. 44 Live Mode Uploading the Special Firmware In Hardware Ensure drivers are install. Connect mCenter+ to your computer using a MicroUSB cable. A LED near the power switch should be on. If not, turn on mCenter+ with the power switch. In Scratch:
Select the port mCenter+ is connected to. Select it again to disconnect. It should show disconnected before attempting to upload the firmware. Under Settings select Flash firmware and select mCookie to upload the special firmware. Uploading will start. Select the port mCenter+ is connected to again to begin using Scratch with MIX hardware. Select Serial Port. Flash firmware 45 Arduino Mode Arduino Mode is a special mode which can be enabled. It acts as a drag and drop editor for programming. The Stage is disabled and many Block Categories cannot be used. The main advantage of using Arduino Mode is that code is generated, compiled, and uploaded. This means that you can disconnect your project from your computer and it can still work. Whereas, during Live Mode, you need to have your project connected to your computer to instruct your project what to do. Arduino Mode can be accessed by clicking on the Arduino Mode button. Select Arduino Mode here. mCenter+ runs its own program without needing to be connected to a Computer. 46 Revolutions Indicator MIX4 - Project 1
(Old Cards: MIX4A-01) 47 About Revolutions Per Minutes (RPM) Revolutions per minute (abbreviated rpm, RPM, rev/min, r/min) is a measure of the frequency of rotation, specifically the number of rotations around a fixed axis in one minute. It is used as a measure of rotation-
al speed of a mechanical component. Source: https://en.wikipedia.org/wiki/Revolutions_per_minute 48 Review of Modules mCenter+
Is a five-in-one module which contains:
Li-ion Battery: battery pack to power your projects which can be recharged via the USB port. mCookie Core+: a tiny central processing unit (CPU), which is the brains of your projects. USB Programmer: programs the Core+ module and acts as a serial communication bridge between your computer and Core+ module. Bluetooth Upload: similar to the USB programmer, but works wirelessly over Bluetooth communication. Hub: connects various modules such as sensors, trinkets, and other modules to your projects. These mod-
ules can then be accessed by the Core+ module. 49 Review of Modules Color LED The Color LED is a LED composed of 3 smaller LEDs which emit red, green, and blue. Each colors brightness value can be configured individually. This can produce a wide variety of colors. It is controlled over a special communication protocol which is differ-
ent from the basic Digital Output (used by Single-Color LED). Indexing 2/3 4/5 I2C I2C I2C 6/7 8/9 A6/A7 A2/A3 A0/A1 IN OUT ColorLED Index: 0 IN OUT ColorLED Index: 1 The Color LED connected directly to the Hub is index 0. The Color LED connected next in the chain is index 1. And so on. Usage Hub pin the 1st Color LED is connected. Index of the Color LED to configure. Color to change the Color LED to. Hub pin the 1st Color LED is connected. Transition to this color. Color LED - Color Select block This block configures what color a particular Color LED displays. Color LED - Color Transition block This block causes a particular Color LED to transition from one color to another color under a time span. (Note: This block must complete its transition before proceeding to the next block in the script.) Index of the Color LED to configure. Transition from this color. Set duration (in milliseconds) for the transition. 50 Review of Modules Potentiometer A Potentiometer is a input module which can be turned or rotated right or left. Based on the position of the knob, it produces a different signal value for the Core module to read. It must be connected to an analog port (ports denoted with A). Analog Read block This block returns the value from the Potentiometer. A value between 0 and 1023 is returned. If the potentiometer is turned all the way to the left, it produces a 0 value. If it is turned all the way tot the right, it produces a 1023 value. In the middle it produces a value around 512. Pin the Potentiometer is connected to. 0 1023 51 Introduction of New Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 52 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 53 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 54 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 55 The Problem How can we create a motor controller with a revolutions indicator?
56 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use a Potentiometer to control the speed of the Motor. Use a Color LED to indicate the revolutions per minute. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 57 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 2x 1x 1x 1x 1x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - motor to control the speed of. Potentiometer - used as an input to control the speed of the motor. Color LED - indicate the revolutions per minute of the motor. 58 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use a Potentiometer as an input to adjust the speed of the Motor. Use a Color LED to indicate the current revolutions per minute. Read in the value of the Potentiometer (between 0 and 1023). Map the Motors speed based on the Potentiometer value (accepts values between 0 and 255). Map the Color LEDs brightness level based on the Potentiometer value (accepts values between 0 and 255). 59 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Read and store the Potentiometer value Scale the Color LED brightness based on the Potentiometer value Loop forever. Scale the Motor speed based on the Potentiometer value Short delay 60 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 1. Stack the Motor Controller onto the mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Color LED (IN port) to pin 4/5. 4. Connect a Potentiometer to pin A0/A1. 5. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 61 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Read and store the Potentiometer value Scale the Color LED brightness based on the Potentiometer value Loop forever. Scale the Motor speed based on the Potentiometer value Short delay 62 The Script
(Create input variable first in the variable tab.) Click Green Flag to activate script. Read and store the value of the Potentiometer (pin A0). Indicated the RPM with the Color LED (pin 4). Set Motor (1) speed based on Potentiometer value. Short delay before looping. Loop. Block Locator Events Control Operators Data Arduino mCookie 63 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Testing:
Click the green flag to activate the script. The Motor and Color LED will react to the position of the Potentiometer. Select Serial Port Flash firmware 1. Rotate the Potentiometer to adjust the speed of the Motor. 64 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 65 Project Challenge Scale the Potentiometer input so that the values between 0 and 511 causes the Scale the Potentiometer input so that the values between 512 and 1023 causes Motor to rotate backwards (-255~0). the Motor to rotate forwards (0~255). When the Motor is rotating backwards, make the Color LED red. When the Motor is rotating forwards, make the Color LED green. 66 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Motor - Set Speed block - set the speed of a motor. Potentiometer - input module with an adjustable knob. Analog Read block - reads the value from the potentiometer. Returns a value between 0 and 1023. Color LED - configurable to display a wide range of colors. Color LED - Color Select block - configures what color a particular Color LED displays. 67 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about revolutions per minute (RPM). List 5 contexts where this term is commonly used. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 68 Motion Sensor Motor MIX 4 - Project 2
(Old Cards: MIX4A-02) 69 About Roll, Pitch and Yaw An aircraft in flight is free to rotate in three dimensions: pitch, nose up or down about an axis running from wing to wing;
yaw, nose left or right about an axis running up and down; and roll, rotation about an axis running from nose to tail. The axes are alternatively designated as lateral, vertical, and longitudinal. These axes move with the vehicle and rotate relative to the Earth along with the craft. These definitions were analogously applied to spacecraft when the first manned space-
craft were designed in the late 1950s. These rotations are produced by torques (or moments) about the principal axes. On an aircraft, these are intentionally produced by means of moving control surfaces, which vary the distribution of the net aerodynamic force about the vehicles center of mass. Elevators (moving flaps on the horizontal tail) produce pitch, a rudder on the vertical tail produces yaw, and ailerons (flaps on the wings that move in opposing directions) produce roll. On a spacecraft, the moments are usually produced by a reaction control system consisting of small rocket thrusters used to apply asymmetrical thrust on the vehicle. Source: https://en.wikipedia.org/wiki/Aircraft_principal_axes 70 Yaw AxisRoll AxisPitch Axis Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 71 Introduction of New Modules Motion The Motion module is a triple axis accelerometer and gyroscope. It is capable of measuring on the X, Y & Z axis the:
Angle Acceleration Angular velocity It uses the I2C communication protocol and must be connected to and I2C port on mCenter+. Motion - Read block This block reads data from the Motion module. It is capable of retrieving the angle, acceleration and angular velocity on the X, Y or Z axis. Angle, acceleration, or angular velocity to read. On the X, Y or Z axis. 72 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 73 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 74 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 75 The Problem How can we control a motor using a motion module?
76 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use a Motion module to detect the pitch angle. Change the speed and direction of the Motor based on the pitch angle. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 77 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 1x 1x 1x 1x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - motor to control the speed of. Motion - detect motion. 78 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use a Motion module to detect the pitch. Read and store the X angle (pitch). Constrain the value between -90 and 90. Multiple the value by 2.8 and use that to set the speed of the motor:
-90 * 2.8 = -252 90 * 2.8 = 252 Produces a value between -252 and 252 for speed of the motor. 79 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Read and store the raw pitch value from the Motion module Is the raw pitch value < -90?
True Constrain the value to -90 and store it False Loop forever. Is the raw pitch value > 90?
True Constrain the value to 90 and store it False Store the raw value Set Motor speed based on constrained value Short delay 80 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 1. Stack the Motor Controller onto the mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect the Motion module to a I2C pin. 4. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 81 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Read and store the raw pitch value from the Motion module Is the raw pitch value < -90?
True Constrain the value to -90 and store it False Loop forever. Is the raw pitch value > 90?
True Constrain the value to 90 and store it False Store the raw value Set Motor speed based on constrained value Short delay 82 The Script Click Green Flag to activate script. Read and store the X angle from the Motion module. Check if the pitch (raw) value is < -90. Constrain it to -90. Check if the pitch (raw) value is > 90. Constrain it to 90. If between -90 and 90. Then accept the raw value. Set the Motor (1) speed based on the constrained X angle value. Short delay before looping. Loop.
(Create pitch_raw and pitch_constrained variables first in the variable tab.) Block Locator Events Control Operators Data mCookie 83 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Testing:
Click the green flag to activate the script. 1. Rotate the Motion module along the X axis (pitch). 2. The Motor will turn accordingly. Select Serial Port Flash firmware 84 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 85 Project Challenge Constrain the X angle to -20 and 20. How does the motor react to this new constrained angle?
86 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Motor - Set Speed block - set the speed of a motor. Motion - module which detects motion such as roll, paw and yaw. Motion - Read block - returns various motion readings from the Motion module. 87 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about roll, pitch and yaw. Why is this information important to aircrafts?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 88 Motion Sensitive Emoticon MIX 4 - Project 3
(Old Cards: MIX4A-03) 89 About Vision Stabilization The vestibulo-ocular reflex (VOR) is a reflex, where activation of the vestibular system causes eye movement. This reflex functions to stabilize images on the retinas during head movement by producing eye movements in the direction opposite to head movement, thus preserving the image on the center of the visual field(s). For example, when the head moves to the right, the eyes move to the left, and vice versa. Since slight head movement is present all the time, the VOR is very important for stabilizing vision: patients whose VOR is impaired find it difficult to read using print, because they cannot stabilize the eyes during small head tremors, and also because damage to the VOR can cause vestibular nystagmus. Source: https://en.wikipedia.org/wiki/Vestibulo%E2%80%93ocular_reflex 90 Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 91 Review of Modules Motion The Motion sensor is a triple axis accelerometer and gyroscope. It is capable of measuring on the X, Y & Z axis the:
Angle Acceleration Angular velocity It uses the I2C communication protocol and must be connected to and I2C port on mCenter+. Motion - Read block This block reads data from the Motion module. It is capable of retrieving the angle, acceleration and angular velocity on the X, Y or Z axis. Angle, acceleration, or angular velocity to read. On the X, Y or Z axis. 92 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 93 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 94 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 95 The Problem How can we create a motion sensitive Emoticon robot?
96 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use the Motion module to detect the X angle (pitch). Set the eyes (2 Motors) spin speed based on the pitch value. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 97 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 1x 1x 2x 2x 1x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - motor to simulate the robots eyes. Wheel - attach to motor. Motion - detect motion. 98 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use a Motion module to detect the pitch. Use 2 Motors (with Wheels) to simulate the robots eyes. Read and store the X angle (pitch). Constrain the value between -20 and 20. Multiple the value by 5 and use that to set the speed of the motors:
-20 * 5 = -100 20 * 5 = 100 Produces a value between -100 and 100 for speed of the motors. 99 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Read and store the raw pitch value from the Motion module Is the raw pitch value < -20?
True Constrain the value to -20 and store it False Loop forever. Is the raw pitch value > 20?
True Constrain the value to 20 and store it False Store the raw value Set Motors speed based on constrained value Short delay 100 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 1. Stack the Motor Controller onto mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Motor to connector 2A2B on the Motor Controller. 4. Connect the Motion module to a I2C pin. 5. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 101 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Read and store the raw pitch value from the Motion module Is the raw pitch value < -20?
True Constrain the value to -20 and store it False Loop forever. Is the raw pitch value > 20?
True Constrain the value to 20 and store it False Store the raw value Set Motors speed based on constrained value Short delay 102 The Script Click Green Flag to activate script. Read and store the X angle from the Motion module. Check if the pitch (raw) value is < -20. Constrain it to -20. Check if the pitch (raw) value is > 20. Constrain it to 20. If between -20 and 20. Then accept the raw value. Set the Motor (1) speed based on the constrained X angle value. Set the Motor (2) speed based on the constrained X angle value. Short delay before looping. Loop. Block Locator Events Control Operators Data mCookie 103 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Testing:
Click the green flag to activate the script. 1. Rotate the Motion module along the X axis (pitch). 2. The Motors will turn accordingly. Select Serial Port Flash firmware 104 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 105 Project Challenge Increase the maximum speed in which the Motors can spin. Hint: Change the multiplication factor when setting the Motor speeds. Change the way the motors react to the pitch value to your liking.
(Example, eyes rotating in opposing directions.) 106 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Wheel - attaches to the Motor. Motor - Set Speed block - set the speed of a motor. Motion - module which detects motion such as roll, paw and yaw. Motion - Read block - returns various motion readings from the Motion module. 107 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research other eye reflexes such as the Optokinetic response. Why are these reflexes important and why do they happen without your direct control?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 108 Single-axis Camera Stabilizer MIX 4 - Project 4
(Old Cards: MIX4A-04) 109 About Camera Stabilizers A camera stabilizer, or camerastabilizing mount, is a device designed to hold a camera in a manner that prevents or com-
pensates for unwanted camera movement, such as camera shake. For small hand-held cameras, a harness or contoured frame steadies the camera against the photographers body. In some models, the camera mount is on an arm that protrudes in front of the photographer; beneath the camera is a handle grip. Another variation positions the camera atop a fulcrum braced against the photographers chest or abdomen. Source: https://en.wikipedia.org/wiki/Camera_stabilizer 110 Review of Modules Servo A Servo is an actuator which consist of a motor and other electronic components which allows for precise angle adjustments of the attached horn. The servo included in the kit has an adjustable angle range between 0 and 180 degrees. Assembly Install the Servo into the Servo Block Connector and fasten with the included screws.
+
=
Connectivity A Servo Connector is required in order to connect the Servo to the Hub. The Servo Connector can support up 2 Servos at a time. First Servo Second Servo
+
1 2 4 5 3 6
=
Servo Servo Connector Hub Connector Cable
(to Hub) 3 2 1 6 5 4 The top pins correspond to the odd pin on the Connector. The bottom pins correspond to the even pin on the Connector. For example, if the Servo Connector is connected to pin 6/7 on the Hub. The Servo connected to the top pins would be referenced as pin 7. The Servo con-
nected to the bottom pins would be referenced as pin 6. GND VCC 1/2 First Servo Second Servo Signal Pin
(Orange) 1 2 GND
(Brown) 3 4 5 6 VCC
(Red) IMPORTANT: Ensure the Servos connector is in the correct orien-
tation. As having the connector flipped can damage the servo or other components. 111 Review of Modules Servo (continued) Usage The angle, between 0 and 180 degrees, is adjustable using blocks in Scratch. Calibrating your attachment (the horn) to your desired 0 angle can be done by first set-
ting the servo to 0 degrees, then attaching the horn as desired. Servo - Set Angle block Sets the horn angle of the Servo. Quickly moves (as fast as possible) to the desired angle. Angle to set Servo to. Pin the Servo is connected to. Servo - Move From-To Angle block Sets the horn angle from the starting angle to the target angle. This movement is performed in the specified duration time. Pin the Servo is connected to. Target angle for Servo. Time in millisecond to move from starting angle to target angle. Starting angle of Servo. 112 Review of Modules Motion The Motion sensor is a triple axis accelerometer and gyroscope. It is capable of measuring on the X, Y & Z axis the:
Angle Acceleration Angular velocity It uses the I2C communication protocol and must be connected to and I2C port on mCenter+. Motion - Read block This block reads data from the Motion module. It is capable of retrieving the angle, acceleration and angular velocity on the X, Y or Z axis. Angle, acceleration, or angular velocity to read. On the X, Y or Z axis. 113 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 114 The Problem How can we create a one-axis camera stabilizer?
115 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use the Motion module to detect the current Y angle. Stabilize the project using a Servo compensating for the Y angle value. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 116 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 2x 1x 1x 1x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Servo Connector - connect a Servo to mCenter+. Servo - to steady the camera. Motion - detect the un-stabilized angle. 117 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use a Motion module to detect the Y angle. The Motion module must lay horizontal. Use a Servo to compensate for the Y angle for stabilization. Read Y angle. Set the Servo to compensate for the Y angle by adding 90. Display the angle the Servo is set to. 118 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Read the "Y" angle from the Motion module Set the Servo angle to compensate for the "Y" angle. Loop forever. Display the angle the Servo was set to Short delay 119 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 GND VCC 1/2 First Servo Second Servo Signal Pin
(Orange) 1 2 GND
(Brown) 3 4 5 6 VCC
(Red) IMPORTANT: Ensure the Servos connector is in the correct orien-
tation. As having the connector flipped can damage the servo or other components. 1. Connect a Servo Connector to pin 6/7 using a Hub Connector Cable. 2. Connect two Servos to the Servo Connector. Ensure the connector is in the correct orientation. 3. Connect the Motion module to a I2C pin. 4. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 120 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Read the "Y" angle from the Motion module Set the Servo angle to compensate for the "Y" angle. Loop forever. Display the angle the Servo was set to Short delay 121 The Script Click Green Flag to activate script. Read Y angle and compensate with Servo (pin 6). Display the Servo angle on the stage. Short delay before looping. Loop. Block Locator Looks Events Control Operators Arduino mCookie
***
*** Enable this block under settings (gear icon on top right). Then select Kit > mCookie Extension. 122 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Select Serial Port Flash firmware Testing:
Click the green flag to activate the script. 1. Rotate the Motion module. 2. The Servo will rotate to compensate. Note: If the program is working correctly and you wish to use the program without being connected to your computer. Switch to Arduino mode
(top right), then Flash Program (this overrides the special firmware, you will need to reflash to use Live mode). 123 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 124 Project Challenge Use it to indicate when the camera stabilizer is at an extreme angle. Add a Color LED to the project. 125 Review Servo - an actuator with precise angle control. Servo Connector - an adapter to connect a Servo to the Hub on mCenter+. Servo - Set Angle block - Sets the angle of the Servo. Quickly moves (as fast as possible) to the desired angle. Motion - module which detects motion such as roll, paw and yaw. Motion - Read block - returns various motion readings from the Motion module. 126 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research other things self-stabilize. What are some very important life saving applications of this principle?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 127 Air Bag MIX 4 - Project 5
(Old Cards: MIX4A-06) 128 About Airbags An airbag is a type of vehicle safety device and is an occupant restraint system. The airbag module is designed to inflate extremely rapidly, then quickly deflate during a collision or impact with a surface or a rapid sudden deceleration. It consists of the airbag cushion, a flexible fabric bag, inflation module and im-
pact sensor. The purpose of the airbag is to provide the occupants a soft cushioning and restraint during a crash event to prevent or reduce any impact or impact-caused injuries between the flailing occupant and the interior of the vehicle. The airbag also provides an energy absorbing surface between the vehi-
cles occupant and a steering wheel, instrumental panel, A-B-C- structural body frame pillars, headliner and windshield/windscreen. Source: https://en.wikipedia.org/wiki/Airbag 129 Review of Modules Color LED The Color LED is a LED composed of 3 smaller LEDs which emit red, green, and blue. Each colors brightness value can be configured individually. This can produce a wide variety of colors. It is controlled over a special communication protocol which is differ-
ent from the basic Digital Output (used by Single-Color LED). Indexing 2/3 4/5 I2C I2C I2C 6/7 8/9 A6/A7 A2/A3 A0/A1 IN OUT ColorLED Index: 0 IN OUT ColorLED Index: 1 The Color LED connected directly to the Hub is index 0. The Color LED connected next in the chain is index 1. And so on. Usage Hub pin the 1st Color LED is connected. Index of the Color LED to configure. Color to change the Color LED to. Hub pin the 1st Color LED is connected. Transition to this color. Color LED - Color Select block This block configures what color a particular Color LED displays. Color LED - Color Transition block This block causes a particular Color LED to transition from one color to another color under a time span. (Note: This block must complete its transition before proceeding to the next block in the script.) Index of the Color LED to configure. Transition from this color. Set duration (in milliseconds) for the transition. 130 Review of Modules Motion The Motion sensor is a triple axis accelerometer and gyroscope. It is capable of measuring on the X, Y & Z axis the:
Angle Acceleration Angular velocity It uses the I2C communication protocol and must be connected to and I2C port on mCenter+. Motion - Read block This block reads data from the Motion module. It is capable of retrieving the angle, acceleration and angular velocity on the X, Y or Z axis. Angle, acceleration, or angular velocity to read. On the X, Y or Z axis. 131 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 132 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 133 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 134 The Problem How can we detect large deceleration forces and indicated when detected?
135 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use the Motion module to detect a large deceleration. Use a Color LED to indicate a large deceleration has occured. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 136 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 2x 1x 1x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motion - to detect large acceleration forces. Color LED - indicate when a large acceleration is detected. 137 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Large deceleration occurs when a sudden stop happens, such as when avoiding a car accident. Use the Motion module to detect a large negative deceleration (sudden stop). Use the Color LED to indicate when such force has been detected. Read the Y acceleration. Check if it is a large negative value, which occurs during a sudden stop. If there is a large value, then flash the Color LED to indicate it has occurred. 138 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Read and store the "Y" acceleration value from the Motion module Loop forever. Does the "Y" acceleration indicate a sudden stop?
(value < -5000) False Short delay True Flash the Color LED to indicate a sudden stop 139 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 1. Connect the Motion module to a I2C pin. 2. Connect a Color LED (IN port) to pin 6/7. 3. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 140 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Read and store the "Y" acceleration value from the Motion module Loop forever. Does the "Y" acceleration indicate a sudden stop?
(value < -5000) False Short delay True Flash the Color LED to indicate a sudden stop 141 The Script Click Green Flag to activate script.
(Create accel variable first in the variable tab.) Read and store the Y acceleration from the Motion module. Check if there is a large negative acceleration (sudden stop). If there is, flash Color LED (pin 6). Short delay before looping. Loop. Block Locator Events Control Operators Data mCookie 142 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Select Serial Port Flash firmware Testing:
Click the green flag to activate the script. 1. Create a large negative acceleration force (sudden stop). 2. When a large negative acceleration occurs, the Color LED will flash. 143 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 144 Project Challenge Create your own lighting effects when a sudden stop occurs. How would you detect a large forward acceleration?
Modify the script to indicate when a large forward acceleration occurs. 145 Review Motion - module which detects motion such as roll, paw and yaw. Motion - Read block - returns various motion readings from the Motion module. Color LED - configurable to display a wide range of colors. Color LED - Color Select block - configures what color a particular Color LED displays. 146 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about the history of airbags. Besides being in cars, what other places are airbags used?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 147 Wired RC Card MIX 4 - Project 6
(Old Cards: MIX4B-01) 148 About RC Cars Radio controlled (or R/C) cars are battery/gas-powered model cars or trucks that can be controlled from a distance using a specialized transmitter or remote. The term R/C has been used to mean both remote controlled and radio controlled, where remote controlled includes vehicles that are connected to their controller by a wire, but common use of R/C today usually refers to vehicles controlled by a radio-fre-
quency link. This section focuses on radio-controlled vehicles only. Source: https://en.wikipedia.org/wiki/Radio-controlled_car 149 Review of Modules Joystick A Joystick is an input module (sensor) which can sense if the stick is in the up, down, left or right positions. In addition, it can sense if it is being pressed (pressing directly on stick). Up Left Right Press Down Usage The Joystick must be connected to an Analog Read compatible pin. These are the pins prefixed with an A (pins A0 to A7). Joystick State block On the defined Joystick pin, if the sticks position (up, down, left, right or center (pressed)) matches the state (released, pressed or pressing), then this block returns TRUE. Pin Joystick is connected to. Stick position to check. Stick positions state to match. Otherwise, this block returns FALSE. 150 Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 151 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 152 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 153 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 154 The Problem How can we create a RC car controllable with a joystick module?
155
1 | User manual Part 2 | Users Manual | 5.95 MiB |
Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use two Motors to move the car. Use the Joystick to receive input from the user to go straight, turn left or right. Adjust the speed of the Motors accordingly. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 156 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 1x 1x 2x 2x 1x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - to move the RC car. Wheel - attach to motor. Joystick - to the direction of the RC car. 157 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use two Motors to move the RC car. Use the Joystick to input the direction to move the car (left, right, up, down). Depending on the Joysticks direction being held down:
Up - move car forward (both motors rotating forward). Down - move car backward (both motors rotating backwards). Left - move car left (motor 1 rotating forward slowly, motor 2 rotating forward fast). Right - move car right (motor 1 rotating forward fast, motor 2 rotating forward slowly). None - stop car (both motors turned off). For Left and Right directions, the difference in motor speeds causes the car to turn. Turning Left Forward Turning Right 158 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Set variable for motor speed Is Joystick "Up"
being pressed?
True Set motors to move RC car forward False Is Joystick "Down"
being pressed?
True Set motors to move RC car backward False Loop forever. Is Joystick "Left"
being pressed?
True Set motors to turn RC car left False Is Joystick "Right"
being pressed?
True Set motors to turn RC car right False Set motors to off
(stop RC car) Short delay 159 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 1. Stack the Motor Controller onto mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Motor to connector 2A2B on the Motor Controller. 4. Connect the Joystick to pin A0/A1. 5. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 160 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Set variable for motor speed Is Joystick "Up"
being pressed?
True Set motors to move RC car forward False Is Joystick "Down"
being pressed?
True Set motors to move RC car backward False Loop forever. Is Joystick "Left"
being pressed?
True Set motors to turn RC car left False Is Joystick "Right"
being pressed?
True Set motors to turn RC car right False Set motors to off
(stop RC car) Short delay 161 The Script Click Green Flag to activate script. Set the variable for the speed of the motors. Check if the Joystick (pin A0) Up key is being pressed. Set motors to move car forward. Check if the Joystick (pin A0) Down key is being pressed. Set motors to move car backward. Check if the Joystick (pin A0) Left key is being pressed. Set motors to turn car left. Check if the Joystick (pin A0) Right key is being pressed. Set motors to turn car right. Otherwise (no key being pressed), turn motors off.
(Create motor_speed variable first in the variable tab.) Block Locator Events Control Operators Data mCookie Short delay before looping. Loop. 162 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Select Serial Port Flash firmware Testing:
Click the green flag to activate the script. 1. Press and hold the Joystick in the Up, Down, Left or Right position. 2. The Motors will turn accordingly to move the RC car. Note: If the program is working correctly and you wish to use the program without being connected to your computer. Switch to Arduino mode
(top right), then Flash Program (this overrides the special firmware, you will need to reflash to use Live mode). 163 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 164 Project Challenge How can you modify the speed in which the car moves?
Adjust the turning radius (quicker turning). Add another Joystick input (Center pressing). Make this input to cause the car to spin (motor 1 forward, motor 2 backward). 165 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Wheel - attaches to the Motor. Motor - Set Speed block - set the speed of a motor. Joystick - input module (sensor) which can detect the position of the stick (up, down, left, right, center (press)). Joystick State block - returns TRUE if the position of the stick state matches the checking state. Otherwise returns FALSE. 166 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about the history of RC cars. Besides being controllable directly by a wired Joystick, what other methods are used to control RC cars?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 167 Safety Car MIX 4 - Project 7
(Old Cards: MIX4B-02) 168 About Collision Avoidance A collision avoidance system is an automobile safety system designed to reduce the severity of a collision. It is also known as a precrash system, forward collision warning system, or collision mitigating system. It uses radar (all-weather) and sometimes laser (LIDAR) and camera (employing image recognition) to de-
tect an imminent crash. GPS sensors can detect fixed dangers such as approaching stop signs through a location database. Once the detection is done, these systems either provide a warning to the driver when there is an im-
minent collision or take action autonomously without any driver input (by braking or steering or both). Collision avoidance by braking is appropriate at low vehicle speeds (e.g. below 50 km/h), while collision avoidance by steering is appropriate at higher vehicle speeds. Cars with collision avoidance may also be equipped with adaptive cruise control, and use the same forward-looking sensors. Source: https://en.wikipedia.org/wiki/Collision_avoidance_system 169 Review of Modules Line Finder Analog Read block Usage The Line Finder module is able to detect reflectivity or gray level of a surface. In gen-
eral, darker or less reflective surfaces produces a higher value. While a lighter or more reflective surface produces a lower value. It must be connected to a pin with an A prefix (A0/A1, A2/A3, A6/A7). Surface Reflectivity Lighter, more reflective surfaces. 0 Value Returned Darker, less reflective surfaces. 1023 This block returns the value that the Line Finder detects. A value between 0 and 1023 is returned. Pin that Line Finder is connected to. 170 Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to two Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 171 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 172 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 173 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 174 The Problem How can we create an autonomous car which moves forward until it reaches an object, then moves backwards until it reaches an object, then repeats?
175 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use two Line Finders to detect obstacles (objects) in the front and back of the car. Use two motors to move the car. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 176 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 2x 1x 2x 2x 2x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - to move the RC car. Wheel - attach to motor. Line Finder - detect objects in the front and back of the car. 177 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use two Motors to move the RC car. Use two Line Finders (one in front, one in back) to detect objects in the way. Move forward until an object is detected (Line Finder in front value < 700). Move backward until an object is detected (Line Finder in back value < 700). Repeat. 178 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Set variable for motor speed Line Finder (front) doesnt detect an object True Set motors to move RC car forward Short delay False Loop forever. Line Finder (back) doesnt detect an object True Set motors to move RC car backward Short delay False Short delay 179 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 1. Stack the Motor Controller onto mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Motor to connector 2A2B on the Motor Controller. 4. Connect a Line Finder to pin A0/A1. 5. Connect a Line Finder to pin A2/A3. 6. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 180 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Set variable for motor speed Line Finder (front) doesnt detect an object True Set motors to move RC car forward Short delay False Loop forever. Line Finder (back) doesnt detect an object True Set motors to move RC car backward Short delay False Short delay 181 The Script Click Green Flag to activate script. Set the variable for the speed of the motors.
(Create motor_speed variable first in the variable tab.) Block Locator Events Control Repeat until Line Finder (A0) in front detects an object. Set motors to move car forward. Short delay before looping. Repeat until Line Finder (A2) in back detects an object. Set motors to move car backward. Short delay before looping. Short delay before looping. Loop. Operators Arduino Data mCookie 182 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Select Serial Port Flash firmware Testing:
Click the green flag to activate the script. 1. The car will move forward until the Line Finder (front) detects an object. 2. The car will then move backward until the Line Finder (back) detects an object. 3. Repeat. Note: If the program is working correctly and you wish to use the program without being connected to your computer. Switch to Arduino mode
(top right), then Flash Program (this overrides the special firmware, you will need to reflash to use Live mode). 183 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 184 Project Challenge Modify the script to use If Else blocks instead of Repeat Until blocks. Add a third condition check to stop the car if both Line Finders detect an object. 185 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Wheel - attaches to the Motor. Motor - Set Speed block - set the speed of a motor. Line Finder - detects the reflective surface or distance of an object. Analog Read block - returns the value of the reflective surface from the Line Finder sensor. 186 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about obstacle avoidance systems in cars. What are some interesting techniques that are used in these systems?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 187 Delivery Truck MIX 4 - Project 8
(Old Cards: MIX4B-03) 188 About Deliveries Delivery is the process of transporting goods from a source location to a predefined destination. There are different delivery types. Cargo (physical goods) are primarily delivered via roads and railroads on land, shipping lanes on the sea and airline networks in the air. Certain specialized goods may be delivered via other networks, such as pipelines for liquid goods, power grids for electrical power and computer net-
works such as the Internet or broadcast networks for electronic information. The general process of delivering goods is known as distribution. The study of effective processes for delivery and disposition of goods and personnel is called logistics. Firms that specialize in delivering com-
mercial goods from point of production or storage to point of sale are generally known as distributors, while those that specialize in the delivery of goods to the consumer are known as delivery services. Post-
al, courier, and relocation services also deliver goods for commercial and private interests. Source: https://en.wikipedia.org/wiki/Delivery_(commerce) 189 Review of Modules Line Finder Analog Read block Usage The Line Finder module is able to detect reflectivity or gray level of a surface. In gen-
eral, darker or less reflective surfaces produces a higher value. While a lighter or more reflective surface produces a lower value. It must be connected to a pin with an A prefix (A0/A1, A2/A3, A6/A7). Surface Reflectivity Lighter, more reflective surfaces. 0 Value Returned Darker, less reflective surfaces. 1023 This block returns the value that the Line Finder detects. A value between 0 and 1023 is returned. Pin that Line Finder is connected to. 190 Review of Modules Potentiometer A Potentiometer is a input module which can be turned or rotated right or left. Based on the position of the knob, it produces a different signal value for the Core module to read. It must be connected to an analog port (ports denoted with A). Analog Read block This block returns the value from the Potentiometer. A value between 0 and 1023 is returned. If the potentiometer is turned all the way to the left, it produces a 0 value. If it is turned all the way tot the right, it produces a 1023 value. In the middle it produces a value around 512. Pin the Potentiometer is connected to. 0 1023 191 Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to two Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 192 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 193 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 194 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 195 The Problem How can we create a delivery truck with adjustable speeds?
Which waits for something to be loaded, then drives it to the destination, waits for it to be unloaded, then drives back. 196 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use two motors to move the delivery truck. Use a Line Finder to detect if cargo is present or not. Use a Line Finder (front) to check if the destination is reached. Use a Line Finder (back) to check if returned back to base. Use a Potentiometer to adjust the speed of the truck. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 197 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 5x 1x 2x 2x 3x 1x 1x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - to move the delivery truck. Wheel - attach to motor. Line Finder - detect objects in the front and back of the car and if cargo is present. Potentiometer - to adjust speed of the truck. IO Splitter - to connect two sensors/trinkets to a single connector. 198 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use two Motors to move the delivery truck. Use a Line Finder in the cargo holding location to detect if cargo is loaded or unloaded. Use a Line Finder in the front to detect if the destination has been reached. Use a Line Finder in the back to detect if returned to base. Use a Potentiometer to adjust the speed of the delivery truck. Wait until cargo is loaded onto truck (Line Finder in cargo holding < 200). Wait 1 second before driving to destination. Move forward* until destination is reached (Line Finder in front < 700). Wait until cargo is unloaded from truck (Line Finder in cargo holding > 400). Wait 1 second before driving back to base. Move backward* until back to base (Line Finder in back < 700).
*When setting the speed to move forward or backward, read the Potentiometer (value between 0 and 1023) first, then scale (divide by 4, 1023/4 =~ 255) and use that as the speed. 199 Project Worksheet - Answers 4. Create a flow chart of the solution. Loop forever. Start Set variable for motor speed Set motors to off
(stop the truck) Wait until cargo is loaded Short delay before driving to destination Read and store Potentiometer and scale it for motor speed Set motors to move truck forward Wait until truck has reach its destination Set motors to off
(stop the truck) Wait until cargo is unloaded Short delay before driving back to base Set motors to move truck backward Wait until truck has reach back to base 200 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 I N B 1. Stack the Motor Controller onto mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Motor to connector 2A2B on the Motor Controller. 4. Connect a Line Finder to pin A2/A3. 5. Connect a Potentiometer to pin A6/A7 6. Connect two Line Finders to an IO Splitter. Connect the IO Splitter to pin A0/A1. 7. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 201 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Loop forever. Start Set variable for motor speed Set motors to off
(stop the truck) Wait until cargo is loaded Short delay before driving to destination Read and store Potentiometer and scale it for motor speed Set motors to move truck forward Wait until truck has reach its destination Set motors to off
(stop the truck) Wait until cargo is unloaded Short delay before driving back to base Set motors to move truck backward Wait until truck has reach back to base 202 The Script Click Green Flag to activate script. Set the variable for the speed of the motors.
(Create motor_speed variable first in the variable tab.) Block Locator Events Control Turn motors off (stop the truck). Wait until Line Finder (A0) detects cargo (loaded). Wait 1 second before driving to destination. Scale and store Potentiometer (pin A6) value to motor speed. Set motors to move truck forward. Wait until Line Finder (A1) in front detects reaching destination. Turn motors off (stop the truck). Wait until Line Finder (A0) detects no cargo (unloaded). Wait 1 second before driving back to base. Scale and store Potentiometer (pin A6) value to motor speed. Set motors to move truck backward. Wait until Line Finder (A2) in back detects returning to base. Loop. Operators Arduino Data mCookie 203 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Testing:
Click the green flag to activate the script. 1. Load cargo into the truck. 2. The truck will then move forward until it research its destination (object blocking its path in the front). 3. Truck will stop and wait until cargo is unloaded. 4. The truck will then move backward until it research its base (object blocking its path in the back). Select Serial Port Flash firmware Line Finder (pin A0) Line Finder (pin A2) Note: If the program is working correctly and you wish to use the program without being connected to your computer. Switch to Arduino mode
(top right), then Flash Program (this overrides the special firmware, you will need to reflash to use Live mode). 204 Line Finder (pin A1) Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 205 Project Challenge Add a Color LED to your project. Turn set the Color LEDs based on the state the delivery truck.
(Examples: loaded cargo, stopped, moving, unloaded cargo.) 206 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Wheel - attaches to the Motor. Motor - Set Speed block - set the speed of a motor. Line Finder - detects the reflective surface or distance of an object. Analog Read block - returns the value of the reflective surface from the Line Finder sensor. Potentiometer - input module with an adjustable knob. Analog Read block - reads the value from the potentiometer. Returns a value between 0 and 1023. 207 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about delivery trucks. What are some important things delivery trucks must accomplish to be profitable?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 208 Obstacle Avoidance Car MIX 4 - Project 9
(Old Cards: MIX4B-04) 209 About Obstacle Avoidance In robotics, obstacle avoidance is the task of satisfying some control objective subject to non-intersection or non-collision position constraints. What is critical about obstacle avoidance concept in this area is the growing need of usage of unmanned aerial vehicles in urban areas for especially military applications where it can be very useful in city wars. Normally obstacle avoidance is considered to be distinct from path planning in that one is usually imple-
mented as a reactive control law while the other involves the pre-computation of an obstacle-free path which a controller will then guide a robot along. Source: https://en.wikipedia.org/wiki/Obstacle_avoidance 210 Review of Modules Line Finder Analog Read block Usage The Line Finder module is able to detect reflectivity or gray level of a surface. In gen-
eral, darker or less reflective surfaces produces a higher value. While a lighter or more reflective surface produces a lower value. It must be connected to a pin with an A prefix (A0/A1, A2/A3, A6/A7). Surface Reflectivity Lighter, more reflective surfaces. 0 Value Returned Darker, less reflective surfaces. 1023 This block returns the value that the Line Finder detects. A value between 0 and 1023 is returned. Pin that Line Finder is connected to. 211 Review of Modules Potentiometer A Potentiometer is a input module which can be turned or rotated right or left. Based on the position of the knob, it produces a different signal value for the Core module to read. It must be connected to an analog port (ports denoted with A). Analog Read block This block returns the value from the Potentiometer. A value between 0 and 1023 is returned. If the potentiometer is turned all the way to the left, it produces a 0 value. If it is turned all the way tot the right, it produces a 1023 value. In the middle it produces a value around 512. Pin the Potentiometer is connected to. 0 1023 212 Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 213 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 214 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 215 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 216 The Problem How can we create a car which can detect and avoid objects in the way?
217 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use two motors to move the car. Use 4 Line Finder positioned in front of the car to detect oncoming objects. Use this information to steer the car away to avoid the object. Use a Potentiometer to set the motor speeds. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 218 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 7x 1x 2x 2x 4x 1x 2x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - to move the car. Wheel - attach to motor. Line Finder - detect objects oncoming objects. Potentiometer - to adjust speed of the car. IO Splitter - to connect two sensors/trinkets to a single connector. 219 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use two Motors to move the car. Use 4 Line Finders placed in front of the car to detect oncoming objects. Use a Potentiometer to set the speed of the car. S0 S1 S2 S3 S0 S1 S2 S3 S0 S1 S2 S3 S0, S1, S2, S3 are the 4 Line Finders placed in front of the car. If S0 detects an object, steer to the right. Else if S1 detects an object, steer to the right. Else if S2 detects an object, steer to the left. Else if S3 detects an object, steer to the left. Else no objects are detected, go forward. 220 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Read and store Potentiometer and scale it for motor speed Read and store Line Finder values Is there an object detected on the left most side (S0)?
True Set motors to turn car right False Is there an object detected on the left middle side (S1)?
True Set motors to turn car right Loop forever. False Is there an object detected on the right middle side (S2)?
True Set motors to turn car left False Is there an object detected on the right most side (S3)?
True Set motors to turn car left False Otherwise there is no obstacle, set motors to go forward Short delay 221 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 I N B I N B 1. Stack the Motor Controller onto mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Motor to connector 2A2B on the Motor Controller. 4. Connect a Potentiometer to pin A6/A7 5. Connect two Line Finders to an IO Splitter. Connect the IO Splitter to pin A0/A1. 6. Connect two Line Finders to an IO Splitter. Connect the IO Splitter to pin A2/A3. 7. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 222 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Read and store Potentiometer and scale it for motor speed Read and store Line Finder values Is there an object detected on the left most side (S0)?
True Set motors to turn car right False Is there an object detected on the left middle side (S1)?
True Set motors to turn car right Loop forever. False Is there an object detected on the right middle side (S2)?
True Set motors to turn car left False Is there an object detected on the right most side (S3)?
True Set motors to turn car left False Otherwise there is no obstacle, set motors to go forward Short delay 223 The Script Click Green Flag to activate script.
(Create these variables first in the variable tab.) Scale and store Potentiometer (pin A6) value to motor speed. Read and store Line Finder (pin A0) value. Read and store Line Finder (pin A1) value. Read and store Line Finder (pin A2) value. Read and store Line Finder (pin A3) value. Check if there is an oncoming object on the left most side. Set motors to turn car right. Check if there is an oncoming object on the left center side. Set motors to turn car right. Check if there is an oncoming object on the right center side. Set motors to turn car left. Check if there is an oncoming object on the right most side. Set motors to turn car left. Otherwise no coming objects. Set motors to move car forward. Short delay before looping. Loop. Block Locator Events Control Operators Arduino Data mCookie 224 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Select Serial Port Flash firmware Testing:
Click the green flag to activate the script. Car will automatically avoid oncoming objects by steering left or right. Speed can be adjusted with the Potentiometer. S0 S1 S2 S3 Ensure Line Finders are in the correct position. Note: If the program is working correctly and you wish to use the program without being connected to your computer. Switch to Arduino mode
(top right), then Flash Program (this overrides the special firmware, you will need to reflash to use Live mode). 225 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 226 Project Challenge Adjust the script so the car turns slightly right when it detects an object on the left most side (S0). Adjust the script so the car turns slightly left when it detects an object on the right most side (S3). 227 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Wheel - attaches to the Motor. Motor - Set Speed block - set the speed of a motor. Line Finder - detects the reflective surface or distance of an object. Analog Read block - returns the value of the reflective surface from the Line Finder sensor. Potentiometer - input module with an adjustable knob. Analog Read block - reads the value from the potentiometer. Returns a value between 0 and 1023. 228 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about obstacle avoidance. Why is this an important feature in safe driving cars?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 229 Edge Avoidance Car MIX 4 - Project 10
(Old Cards: MIX4B-06) 230 About Edge Detection If you put the a cleaning robot on a desk it wont fall onto the ground, because there are sensors detecting distance from the ground at the bottom of it. Source: https://en.wikipedia.org/wiki/Obstacle_avoidance 231 Review of Modules Line Finder Analog Read block Usage The Line Finder module is able to detect reflectivity or gray level of a surface. In gen-
eral, darker or less reflective surfaces produces a higher value. While a lighter or more reflective surface produces a lower value. It must be connected to a pin with an A prefix (A0/A1, A2/A3, A6/A7). Surface Reflectivity Lighter, more reflective surfaces. 0 Value Returned Darker, less reflective surfaces. 1023 This block returns the value that the Line Finder detects. A value between 0 and 1023 is returned. Pin that Line Finder is connected to. 232 Review of Modules Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 233 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 234 Review of Concepts Booleans Booleans are a type of data, which can only either be TRUE or FALSE. Booleans are used in the condition checks on blocks such as the If, If Else, Wait Until blocks. Boolean Operators Boolean Operators enables performing operations on boolean types. It is useful for testing multiple conditions. Left Input Right Input Result True True False False True False True False True False False False Left Input Right Input Result True True False False True False True False True True True False And block This block returns TRUE, when both the inputs are TRUE. Otherwise, it returns FALSE. Or block This block returns TRUE, when one of the input is TRUE. Otherwise, it returns FALSE. Input Result True False False True Not block This block returns the opposite of the input. If in-
put is TRUE, this returns FALSE. If input is FALSE, this returns TRUE. 235 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 236 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 237 The Problem How can we create a car which detects and avoids edges (cliffs)?
238 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use two motors to move the car. Use 2 Line Finders in front of the car pointed downwards to detect if there is an edge (cliff). Steer away if there is a cliff. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 239 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 2x 1x 2x 2x 2x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - to move the car. Wheel - attach to motor. Line Finder - detect if there is an edge / cliff. 240 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use two Motors to move the car. Use 2 Line Finders in front of the car pointing downwards to detect edges (cliff). Read the left Line Finder to see if there is ground ahead (no cliff). Read the right Line Finder to see if there is a ground ahead (no cliff). If there is ground in both Left and Right sides, proceed forward. If there is no ground on the Left and ground on the Right, turn right. (Right side is safe to drive on). If there is ground on the Left and no ground on the Right, turn left. (Left side is safe to drive on). If there is no ground in both Left and Right sides, stop car. 241 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Set variable for motor speed Read and store left and right Line Finder values Is both left and right sides safe (no cliff)?
True Set motors to move car forward False Is only the right side safe (no cliff)?
True Set motors to turn car right Loop forever. False Is only the left side safe (no cliff)?
True Set motors to turn car left False Otherwise, unsafe Turn off motors
(stop car) Short delay 242 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 1. Stack the Motor Controller onto mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Motor to connector 2A2B on the Motor Controller. 4. Connect a Line Finder to pin A0/A1. 5. Connect a Line Finder to pin A2/A3. 6. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 243 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Set variable for motor speed Read and store left and right Line Finder values Is both left and right sides safe (no cliff)?
True Set motors to move car forward False Is only the right side safe (no cliff)?
True Set motors to turn car right Loop forever. False Is only the left side safe (no cliff)?
True Set motors to turn car left False Otherwise, unsafe Turn off motors
(stop car) Short delay 244 The Script Click Green Flag to activate script. Set the variable for the speed of the motors. Read and store the left Line Finder (pin A0) value. Read and store the right Line Finder (pin A2) value. Check if it is safe on both Left and Right sides. Set motors to proceed forward. Check if there is a cliff on Left side and safe on Right side. Set motors turn right. Check if it is safe on Left side and a cliff on Right side. Set motors turn left. Otherwise both sides are unsure, set motors to stop car. Short delay before looping. Loop.
(Create these variables first in the variable tab.) Block Locator Events Control Operators Arduino Data mCookie 245 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Select Serial Port Flash firmware Testing:
Click the green flag to activate the script. 1. The car will automatically move forward if left and right sides are safe (no cliff). 2. The car will turn right if only the right side is safe. 3. The car will turn left is only the left side is safe. 4. The car will stop if both left and right sides are unsafe (cliff). Right Line Finder (pin A2) Note: If the program is working correctly and you wish to use the program without being connected to your computer. Switch to Arduino mode
(top right), then Flash Program (this overrides the special firmware, you will need to reflash to use Live mode). Left Line Finder (pin A0) 246 Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 247 Project Challenge The car stops when the left and right sides are unsafe. What other options can the car makes in this situation?
Implement it on your own. 248 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Wheel - attaches to the Motor. Motor - Set Speed block - set the speed of a motor. Line Finder - detects the reflective surface or distance of an object. Analog Read block - returns the value of the reflective surface from the Line Finder sensor. 249 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about edge/cliff detection. What things implement this feature?
Why is it important for each of those things to have this feature?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 250 Line Finding Car 1 MIX 4 - Project 11
(Old Cards: MIX4B-07) 251 About Line Following Cars Some of the earliest Automated Guided Vehicles (AGVs) were line following mobile robots. They might follow a visual line painted or embedded in the floor or ceiling or an electrical wire in the floor. Most of these robots operated a simple keep the line in the center sensor algorithm. They could not cir-
cumnavigate obstacles; they just stopped and waited when something blocked their path. Source: https://en.wikipedia.org/wiki/Mobile_robot#Line-following_Car 252 Review of Modules Line Finder Analog Read block Usage The Line Finder module is able to detect reflectivity or gray level of a surface. In gen-
eral, darker or less reflective surfaces produces a higher value. While a lighter or more reflective surface produces a lower value. It must be connected to a pin with an A prefix (A0/A1, A2/A3, A6/A7). Surface Reflectivity Lighter, more reflective surfaces. 0 Value Returned Darker, less reflective surfaces. 1023 This block returns the value that the Line Finder detects. A value between 0 and 1023 is returned. Pin that Line Finder is connected to. 253 Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 254 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 255 Review of Concepts Booleans Booleans are a type of data, which can only either be TRUE or FALSE. Booleans are used in the condition checks on blocks such as the If, If Else, Wait Until blocks. Boolean Operators Boolean Operators enables performing operations on boolean types. It is useful for testing multiple conditions. Left Input Right Input Result True True False False True False True False True False False False Left Input Right Input Result True True False False True False True False True True True False And block This block returns TRUE, when both the inputs are TRUE. Otherwise, it returns FALSE. Or block This block returns TRUE, when one of the input is TRUE. Otherwise, it returns FALSE. Input Result True False False True Not block This block returns the opposite of the input. If in-
put is TRUE, this returns FALSE. If input is FALSE, this returns TRUE. 256 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 257 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 258 The Problem How can we create a car which follows a black line (track)?
259 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Use two motors to move the car. Use Two Line Finders pointed downward to detect the black line. Adjust ac-
cordingly to stay on the black line. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 260 Project Worksheet - Answers Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 2x 1x 2x 2x 2x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - to move the car. Wheel - attach to motor. Line Finder - to detect the black line. 261 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use two Motors to move the car. Use 2 Line Finders pointed downward to detect the black line. Left Line Finder Right Line Finder Black line When the both Line Finders do not detect the black line, proceed forward. When the left Line Finder detects the black line, steer left. When the right Line Finder detects the black line, steer right.
*Note: The Line Finders must be spaced apart slightly more than the width of the black line (as illustrated). 262 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Set variable for motor speed Read and store if left and right Line Finder detects a line Is both left and right sides not detecting a line?
True Set motors to move car forward False Is only the left detecting a line?
True Set motors to turn car left Loop forever. False Is only the right detecting a line?
True Set motors to turn car right False Otherwise, on the line turn off motors
(stop car) Short delay 263 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D2/D3 D6/D7 D6/D7 D4/D5 D4/D5 D8/D9 D8/D9 I2C I2C I2C I2C I2C I2C A6/A7 A6/A7 A2/A3 A2/A3 A0/A1 A0/A1 1. Stack the Motor Controller onto mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Motor to connector 2A2B on the Motor Controller. 4. Connect a Line Finder to pin A0/A1. 5. Connect a Line Finder to pin A2/A3. 6. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 264 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Set variable for motor speed Read and store if left and right Line Finder detects a line Is both left and right sides not detecting a line?
True Set motors to move car forward False Is only the left detecting a line?
True Set motors to turn car left Loop forever. False Is only the right detecting a line?
True Set motors to turn car right False Otherwise, on the line turn off motors
(stop car) Short delay 265 The Script Click Green Flag to activate script. Set the variable for the speed of the motors. Read and store Left side if detects a black line. 0 (false) = detecting line. 1 (true) = not detecting line. Read and store Right side if detects a black line. 0 (false) = detecting line. 1 (true) = not detecting line. Check if not detecting line on both sides. Set motors to move car forward. Check if detecting line on left side. Set motors to turn car right. Check if detecting line on right side. Set motors to turn car left. Otherwise car is on the black line, Set motors to off (stop the car). Short delay before looping. Loop.
(Create these variables first in the variable tab.) Block Locator Events Control Operators Arduino Data mCookie 266 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Select Serial Port Flash firmware Testing:
Click the green flag to activate the script. 1. Create a straight line with black tape. 2. Make sure your Line Finders are spaced apart SLIGHTLY larger than the width of the black tape. 3. Place the car on the black tape. The car will trace the black tape. Right Line Finder (pin A1) Note: If the program is working correctly and you wish to use the program without being connected to your computer. Switch to Arduino mode
(top right), then Flash Program (this overrides the special firmware, you will need to reflash to use Live mode). 267 Left Line Finder (pin A0) Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 268 Project Challenge The car stops if it detects the line on both Line Finders (left and right). What is another solution for this scenario?
Implement it on your own. 269 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Wheel - attaches to the Motor. Motor - Set Speed block - set the speed of a motor. Line Finder - detects the reflective surface or distance of an object. Analog Read block - returns the value of the reflective surface from the Line Finder sensor. 270 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research more about Line Finding cars. What are some other features and advancements have been added to this type of car?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 271 Line Finding Car 2 MIX 4 - Project 12
(Old Cards: MIX4B-08) 272 About Line Following Cars Some of the earliest Automated Guided Vehicles (AGVs) were line following mobile robots. They might follow a visual line painted or embedded in the floor or ceiling or an electrical wire in the floor. Most of these robots operated a simple keep the line in the center sensor algorithm. They could not cir-
cumnavigate obstacles; they just stopped and waited when something blocked their path. Source: https://en.wikipedia.org/wiki/Mobile_robot#Line-following_Car 273 Review of Modules Line Finder Analog Read block Usage The Line Finder module is able to detect reflectivity or gray level of a surface. In gen-
eral, darker or less reflective surfaces produces a higher value. While a lighter or more reflective surface produces a lower value. It must be connected to a pin with an A prefix (A0/A1, A2/A3, A6/A7). Surface Reflectivity Lighter, more reflective surfaces. 0 Value Returned Darker, less reflective surfaces. 1023 This block returns the value that the Line Finder detects. A value between 0 and 1023 is returned. Pin that Line Finder is connected to. 274 Review of Modules Potentiometer A Potentiometer is a input module which can be turned or rotated right or left. Based on the position of the knob, it produces a different signal value for the Core module to read. It must be connected to an analog port (ports denoted with A). Analog Read block This block returns the value from the Potentiometer. A value between 0 and 1023 is returned. If the potentiometer is turned all the way to the left, it produces a 0 value. If it is turned all the way tot the right, it produces a 1023 value. In the middle it produces a value around 512. Pin the Potentiometer is connected to. 0 1023 275 Review of Modules Motor A Motor is a electrical machine which converts electrical energy to mechanical energy. It is capable of rotating clockwise and counter clockwise. It is controlled by a Motor Con-
troller. A Motor Controller can control up to 2 Motors. A Wheel can be attached to the Motor. Motor - Set Speed block Motor Controller Wheel Motor to configure. Speed to set. This block sets the speed of the motor. Positive values turns the Motor in one direc-
tion. While negative values turns the Motor in the opposite direction. A value of 0 stops the Motor. Values between -255 and 255 are accepted. 255 is maximum clock-
wise speed. -255 is maximum counter-clockwise speed. Motor - Brake block Motor to configure. This block sets the speed to 0 to stop the Motor. 276 Review of Blocks Addition Block This block returns the sum of the left input and right input. Subtraction Block This block returns the value of subtracting the left input by the right input. Multiplication Block This block returns the product of the left input and right input. Division Block Less Than Block Equal Block This block returns the value of dividing the left input by the right input. This block returns TRUE if the left input is less than the right input. This block returns TRUE if the left input is equal to the right input. Greater Than Block This block returns TRUE if the left input is greater than the right input. 277 Review of Concepts Booleans Booleans are a type of data, which can only either be TRUE or FALSE. Booleans are used in the condition checks on blocks such as the If, If Else, Wait Until blocks. Boolean Operators Boolean Operators enables performing operations on boolean types. It is useful for testing multiple conditions. Left Input Right Input Result True True False False True False True False True False False False Left Input Right Input Result True True False False True False True False True True True False And block This block returns TRUE, when both the inputs are TRUE. Otherwise, it returns FALSE. Or block This block returns TRUE, when one of the input is TRUE. Otherwise, it returns FALSE. Input Result True False False True Not block This block returns the opposite of the input. If in-
put is TRUE, this returns FALSE. If input is FALSE, this returns TRUE. 278 Review of Concepts Creating a Variable in Scratch Click on the Variable category. Then click on the Create variable... button. Name your variable. 279 Review of Concepts Creating a Variable in Scratch (continued) Several new blocks will appear which allows access and modification of the new variable. Variable Value block This block returns the current value of the variable. Variable Set block This block sets the value of the variable. It will overwrite the current value. Variable Change block This block changes the variable value by adding the input value (negative values or blocks are accepted). input value 280 The Problem How can enhance the line following robot to increase its accuracy?
281 Project Worksheet Complete the worksheet below to your best abilities. 1. A solution. Add two additional Line Finders to increase the line detection accuracy. 2. List all the parts needed for the solution. What is the purpose of each part?
3. What is a simple explanation of the logic for the solution?
4. Create a flow chart of the solution. 5. How do you assemble and connect the modules for the solution?
6. Configure blocks to relate to the flow chart. 282 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part?
1x 1x 6x 1x 2x 2x 4x 1x mCenter+ - control the project, connect sensors and trinkets to project, and supply power. USB Cable - connect mCenter+ to a computer for charging and programming the project. Hub Connector Cable - connect sensors and trinkets to the mCenter+. Motor Controller - controls and drives the attached motors. Motor - to move the car. Wheel - attach to motor. Line Finder - to detect the black line. Potentiometer - to adjust speed of the truck. 283 Project Worksheet - Answers 2. List all the parts needed for the solution. What is the purpose of each part? (Continued) 1x IO Splitter - to connect two sensors/trinkets to a single connector. 284 Project Worksheet - Answers 3. What is a simple explanation of the logic for the solution?
Use two Motors to move the car. Use 4 Line Finders pointed downward to detect the black line. Use a Potentiometer to configure the Line Finder threshold for registering a black line. A B C D E Leftmost Line Finder is labeled S0, Left middle is S1, Right middle is S2, Rightmost is S3. A. Only Leftmost detects line - turn sharply to the left to get back on line. B. Only Leftmost and Left middle detects line - turn slightly to left to get back on line. C. Only Left middle and Right middle detects line - already on the line, go straight. D. Only Right middle and Rightmost detects line - turn slightly to the right to get back on line. E. Only Rightmost detects line - turn sharply to the right to get back on line. 285 Project Worksheet - Answers 4. Create a flow chart of the solution. Start Set variable for motor speed Read and store Potentiometer value for line threshold Read and store if the 5 Line Finders detects a line Is condition A present?
True Set motors to sharply turn left False Is condition B present?
True Set motors to slight turn left False Loop forever. Is condition C present?
True Set motors to move car forward False Is condition D present?
True Set motors to slight turn right False Is condition E present?
True Set motors to sharply turn right False Otherwise, unknown condition turn off motors
(stop car) Short delay 286 Project Worksheet - Answers 5. How do you assemble and connect the modules for the solution?
D2/D3 D6/D7 D4/D5 D8/D9 I2C I2C I2C A6/A7 A2/A3 A0/A1 I N B I N B 1. Stack the Motor Controller onto mCenter+. 2. Connect a Motor to connector 1A1B on the Motor Controller. 3. Connect a Motor to connector 2A2B on the Motor Controller. 4. Connect a Potentiometer to pin A6/A7 5. Connect two Line Finders to an IO Splitter. Connect the IO Splitter to pin A0/A1. 6. Connect two Line Finders to an IO Splitter. Connect the IO Splitter to pin A2/A3. 7. Insert one end of the USB cable into mCenter+ and connect the other to a computer. 287 Project Worksheet - Answers 6. Configure blocks to relate to the flow chart. Start Set variable for motor speed Read and store Potentiometer value for line threshold Read and store if the 5 Line Finders detects a line Is condition A present?
True Set motors to sharply turn left False Is condition B present?
True Set motors to slight turn left False Loop forever. Is condition C present?
True Set motors to move car forward False Is condition D present?
True Set motors to slight turn right False Is condition E present?
True Set motors to sharply turn right False Otherwise, unknown condition turn off motors
(stop car) Short delay 288 The Script Click Green Flag to activate script. Set the variable for the speed of the motors.
(Create these variables first in the variable tab.) Read and store Potentiometer (pin A6) for line threshold. Read and store Line Finder values. 1 represents detecting line. 0 represents no line detected. Check for condition A. Set motors to turn sharply to the left. Check for condition B. Set motors to turn slightly to the left. Check for condition C. Set motors to move quickly forward. Check for condition D. Set motors to turn sharply to the right. Check for condition E. Set motors to turn slightly to the right. Unknown condition, turn motors off (stop car). Short delay before looping. Loop. Block Locator Events Control Operators Arduino Data mCookie 289 Testing the Program Important:
Ensure that mCenter+ is on. Flip the switch on mCenter+
to turn it on. An LED on mCenter+ will light up to indicate power is being supplied. Ensure you have selected the Serial Port and flashed the special firmware (mCookie) first before testing (this only needs to be done once unless the firmware is overwritten). Ensure you have selected the Serial Port and connected before testing. Select Serial Port Flash firmware Testing:
Click the green flag to activate the script. 1. Create a straight line with black tape. 2. Make sure the Line Finders are side by side with the correct positions. The two middle Line Finders should be detecting the black tape. 3. Place the car on the black tape. The car will trace the black tape. Line Finder (pin A3) Line Finder (pin A2) Adjust the sensitivity of line detection by adjusting the Potentiometer. Note: If the program is working correctly and you wish to use the program without being connected to your computer. Switch to Arduino mode
(top right), then Flash Program (this overrides the special firmware, you will need to reflash to use Live mode). 290 Line Finder (pin A1) Line Finder (pin A0) Create a Structure Create a structure for the project using building blocks, paper, or other crafting materials. 291 Project Challenge Add a Color LED to the project. Have it indicate the current condition detected (A~E). Modify the behavior to your liking when it reaches the unknown conditiion. 292 Review Motor Controller - controls and drives attached motors. Can control up to 2 motors. Motor - converts electrical energy into mechanical energy in the form of torque. Wheel - attaches to the Motor. Motor - Set Speed block - set the speed of a motor. Line Finder - detects the reflective surface or distance of an object. Analog Read block - returns the value of the reflective surface from the Line Finder sensor. 293 Expanding the Project Write down a way of expanding this project. Create it on your own. __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ Research Research new technologies for self driving vehicles. What kind of methods are used in these self-driving cars?
__________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ __________________________________________________________ 294 FCC Warning This device complies with part 15 of the FCC Rules. Operation is subject to the following two conditions:
(1) This device may not cause harmful interference, and
(2) this device must accept any interference received, including interference that may cause undesired operation. Any Changes or modifications not expressly approved by the party responsible for compliance could void the user's authority to operate the equipment. This equipment has been tested and found to comply with the limits for a Class B digital device, pursuant to part 15 of the FCC Rules. These limits are designed to provide reasonable protection against harmful interference in a residential installation. This equipment generates uses and can radiate radio frequency energy and, if not installed and used in accordance with the instructions, may cause harmful interference to radio communications. However, there is no guarantee that interference will not occur in a particular installation. If this equipment does cause harmful interference to radio or television reception, which can be determined by turning the equipment off and on, the user is encouraged to try to correct the interference by one or more of the following measures:
-Reorient or relocate the receiving antenna.
-Increase the separation between the equipment and receiver.
-Connect the equipment into an outlet on a circuit different from that to which the receiver is connected.
-Consult the dealer or an experienced radio/TV technician for help. The device has been evaluated to meet general RF exposure requirement. The device can be used in portable exposure condition without restriction. 295
1 | External Photos | External Photos | 1.72 MiB |
Model: MIXC104E Photo 1 Photo 2 Photo 3 Photo 4 Photo 5 Photo 6 Photo 7 Photo 8 Photo 9 Photo 10 Photo 11 Photo 12 Photo 13 Photo 14 Photo 15 Photo 16
frequency | equipment class | purpose | ||
---|---|---|---|---|
1 | 2018-08-21 | 2402 ~ 2480 | DTS - Digital Transmission System | Original Equipment |
app s | Applicant Information | |||||
---|---|---|---|---|---|---|
1 | Effective |
2018-08-21
|
||||
1 | Applicant's complete, legal business name |
Microduino Inc.
|
||||
1 | FCC Registration Number (FRN) |
0026107326
|
||||
1 | Physical Address |
143 Triunfo Canyon Rd. Suite 102, Westlake Village, CA 91361
|
||||
1 |
143 Triunfo Canyon Rd. Suite 102
|
|||||
1 |
Westlake Village, CA
|
|||||
1 |
United States
|
|||||
app s | TCB Information | |||||
1 | TCB Application Email Address |
j******@metlabs.com
|
||||
1 | TCB Scope |
A4: UNII devices & low power transmitters using spread spectrum techniques
|
||||
app s | FCC ID | |||||
1 | Grantee Code |
2AKMK
|
||||
1 | Equipment Product Code |
MIXC104E
|
||||
app s | Person at the applicant's address to receive grant or for contact | |||||
1 | Name |
k******** p******
|
||||
1 | Title |
manage
|
||||
1 | Telephone Number |
626 8********
|
||||
1 | Fax Number |
626 8********
|
||||
1 |
p******@microduino.cc
|
|||||
app s | Technical Contact | |||||
1 | Firm Name |
Microduino Inc.
|
||||
1 | Name |
K**** P******
|
||||
1 | Physical Address |
2659 Townsgate Rd. #213, Westlake Village
|
||||
1 |
Carlsbad, California 91361
|
|||||
1 |
United States
|
|||||
1 | Telephone Number |
626 8********
|
||||
1 | Fax Number |
626 8********
|
||||
1 |
p******@microduino.cc
|
|||||
app s | Non Technical Contact | |||||
n/a | ||||||
app s | Confidentiality (long or short term) | |||||
1 | Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | Yes | ||||
1 | Long-Term Confidentiality Does this application include a request for confidentiality for any portion(s) of the data contained in this application pursuant to 47 CFR § 0.459 of the Commission Rules?: | No | ||||
if no date is supplied, the release date will be set to 45 calendar days past the date of grant. | ||||||
app s | Cognitive Radio & Software Defined Radio, Class, etc | |||||
1 | Is this application for software defined/cognitive radio authorization? | No | ||||
1 | Equipment Class | DTS - Digital Transmission System | ||||
1 | Description of product as it is marketed: (NOTE: This text will appear below the equipment class on the grant) | KIT-mCookie-Education | ||||
1 | Related OET KnowledgeDataBase Inquiry: Is there a KDB inquiry associated with this application? | No | ||||
1 | Modular Equipment Type | Does not apply | ||||
1 | Purpose / Application is for | Original Equipment | ||||
1 | Composite Equipment: Is the equipment in this application a composite device subject to an additional equipment authorization? | No | ||||
1 | Related Equipment: Is the equipment in this application part of a system that operates with, or is marketed with, another device that requires an equipment authorization? | No | ||||
1 | Grant Comments | Output Power listed is peak conducted. | ||||
1 | Is there an equipment authorization waiver associated with this application? | No | ||||
1 | If there is an equipment authorization waiver associated with this application, has the associated waiver been approved and all information uploaded? | No | ||||
app s | Test Firm Name and Contact Information | |||||
1 | Firm Name |
Shenzhen Microtest Co., Ltd.
|
||||
1 | Name |
S******** L******
|
||||
1 | Telephone Number |
0755-********
|
||||
1 |
S******@51mti.com
|
|||||
Equipment Specifications | |||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Line | Rule Parts | Grant Notes | Lower Frequency | Upper Frequency | Power Output | Tolerance | Emission Designator | Microprocessor Number | |||||||||||||||||||||||||||||||||
1 | 1 | 15C | 2402.00000000 | 2480.00000000 | 0.0002200 |
some individual PII (Personally Identifiable Information) available on the public forms may be redacted, original source may include additional details
This product uses the FCC Data API but is not endorsed or certified by the FCC