NATHAN'S SCIENCE EQUIPMENT ADJUSTER
OVERVIEW
This 5E lesson introduces entry-level high school engineering students (grades 9-10) to assistive technology design using the Smart Servo platform. Students will learn the fundamentals of human-centered design while developing a solution for Nathan, a 15-year-old with limited wrist mobility due to a sports injury who needs assistance with science lab equipment adjustments. Throughout this lesson, students will explore the capabilities of the Smart Servo, learn basic programming concepts, and apply engineering design principles to create a functional prototype that helps Nathan make precise measurements in the science lab.
Client Profile
Name | About Me | My Challenge |
---|---|---|
Nathan, 15 | I'm a sophomore who loves science and was on the basketball team until I injured my wrist badly during a game last month. The doctors say I'll regain most of my mobility eventually, but right now I have very limited wrist movement, which makes lab work difficult. | I have trouble making precise adjustments to science lab equipment, especially when I need to turn small knobs or adjust equipment that requires fine wrist movements. This makes it hard for me to participate fully in lab activities and get accurate measurements. |
Learning Objectives
- Apply the human-centered design process to develop an assistive technology solution
- Program a Smart Servo to perform controlled movements based on user input
- Develop a physical interface that addresses specific user needs and constraints
- Evaluate design effectiveness through testing and iteration
- Explain how engineering solutions can improve accessibility in educational settings
MATERIALS NEEDED
- Smart Servo units (1 per pair of students)
- Programmer's Kits (1 per pair)
- USB C Programming Cables
- AT Test Buttons and/or Jelly Bean Buttons
- LocLine flexible connectors
- 10mm framing pieces
- M5 screws and fasteners
- Basic tools (screwdrivers, Allen wrenches, LocLine pliers)
- Laptops with Circuit Python installed
- Cardboard, foam board, and other prototyping materials
- Access to 3D printer and PLA filament
- OnShape CAD software (classroom license)
- Simulated lab equipment (small knobs, dials, or switches)
1. ENGAGE
How might we use technology to help people overcome physical limitations in educational settings?
Activity: "Understanding the Challenge"
- Introduce Nathan's Story:
- Share Nathan's profile with students, explaining his situation and challenges
- Have students discuss in small groups how limited wrist mobility might impact participation in science labs
- Ask groups to identify specific laboratory tasks that might be difficult for Nathan
- Assistive Technology Exploration:
- Show examples of existing assistive technologies for people with mobility limitations
- Brainstorm how similar principles might apply to Nathan's situation
- Introduce the Smart Servo as a potential tool for creating a solution
- Smart Servo Introduction:
- Demonstrate a basic Smart Servo unit, explaining its key components
- Show how the servo can move to different positions
- Explain how inputs (buttons/switches) can control the servo's actions
- Demonstrate the Neopixel LED as a visual feedback mechanism
Simple demonstration code for Smart Servo
import time import board import pwmio import servo # Set up the servo on pin A2 pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) # Move servo to different positions while True: # Move to 0 degrees my_servo.angle = 0 time.sleep(1) # Move to 90 degrees my_servo.angle = 90 time.sleep(1) # Move to 180 degrees my_servo.angle = 180 time.sleep(1)
Technical Checkpoints:
- Students can identify the main components of the Smart Servo
- Students understand the basic principle of how a servo moves to different positions
Understanding Checkpoints:
- Students can articulate Nathan's specific challenges in the science lab
- Students can explain at least three tasks that might be difficult for someone with limited wrist mobility
Connections
Connections to Standards | Connections to CAD Skills | Connections to HCD Skills |
---|---|---|
STEL 1N: Explain how the world guides technological development and engineering design | CAD 1.1: Technical Vocabulary - Understanding and using design terminology | HCD Skill #1: Problem Framing - Analyzing situations from multiple perspectives and identifying root causes |
STEL 4P: Evaluate technology impacts on individuals, society, and environment | CAD 1.2: Design Process - Following structured design processes | HCD Skill #6: Stakeholder Dialogue - Gathering requirements and incorporating diverse feedback |
2. EXPLORE
How do we translate user needs into functional requirements for an assistive device?
Activity: "Smart Servo Capabilities Exploration"
- Setup:
- Divide students into pairs
- Provide each pair with a Smart Servo unit, programming cable, and laptop
- Ensure Circuit Python and necessary libraries are accessible
- Basic Programming Exploration:
- Guide students through loading and modifying the example code for LED control
- Have students experiment with changing the LED colors and timing
- Introduce servo control code and have students modify position values
- Input Control Exploration:
- Connect a button or switch to the Smart Servo
- Provide sample code for detecting button presses
- Challenge students to create a program where button presses control the servo position
Button-controlled servo example
import time import board from digitalio import DigitalInOut, Direction, Pull import pwmio import servo # Set up button on pin D2 button = DigitalInOut(board.D2) button.direction = Direction.INPUT button.pull = Pull.UP # Set up servo on pin A2 pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) # Initialize servo position my_servo.angle = 0 # Simple toggle between two positions toggle = 0 while True: # Check if button is pressed (button.value is False when pressed) if button.value == False: # Debounce delay time.sleep(0.2) # Toggle between positions if toggle == 0: my_servo.angle = 180 toggle = 1 else: my_servo.angle = 0 toggle = 0 # Wait until button is released while button.value == False: pass
- Observational Research:
- Provide students with simulated lab equipment (knobs, dials, switches)
- Have them observe and document the types of movements required to operate the equipment
- Measure the force and range of motion needed for different adjustments
Technical Checkpoints:
- Students can successfully upload and modify example code
- Students can program the servo to move to at least two different positions based on button input
- Students can document the required range of motion for operating sample lab equipment
Understanding Checkpoints:
- Students can explain how the servo's capabilities might be applied to Nathan's needs
- Students can articulate specific functional requirements for their design solution
Connections
Connections to Standards | Connections to CAD Skills | Connections to HCD Skills |
---|---|---|
STEL 2T: Demonstrate conceptual, graphical, and physical modeling to identify conflicts and aid decisions | CAD 2.1: Freehand Sketching - Quick visualization of ideas | HCD Tool 1.1: Interview - Building trust with end-users through in-depth conversations |
STEL 7X: Document trade-offs in the design process | CAD 3.1: CAD Fundamentals - Interface navigation and basic modeling | HCD Tool 2.1: Criteria & Constraints - Breaking down problems into prioritized components |
3. EXPLAIN
How do mechanical and software components work together to create assistive solutions?
Key Concepts
Smart Servo Technical Principles
The Smart Servo combines electronic control (through the Adafruit Trinket M0 microcontroller) with mechanical motion (via the MG956 servo motor). Understanding the relationship between input signals and physical movement is essential for designing effective assistive technology.
Input-Process-Output Framework
All technology solutions follow an input-process-output framework:
- Input: Button presses, switch toggles, or other user actions
- Process: Code that interprets inputs and determines appropriate responses
- Output: Servo movement and LED feedback
Human-Centered Design Process
The design process must focus on Nathan's specific needs rather than starting with the technology. This includes:
- Empathizing with Nathan's experience
- Defining the specific problem to solve
- Ideating multiple possible solutions
- Prototyping the most promising ideas
- Testing with users and iterating based on feedback
Activity: "Problem Definition and Initial Design"
- Problem Statement Development:
- Guide students in developing a clear problem statement based on Nathan's needs
- Use the HCD Tool 1.2 (Problem Statement) framework to create concise descriptions
- Requirements Analysis:
- Help students break down the problem into specific requirements
- Categorize requirements as "must have" vs. "nice to have"
- Identify specific constraints (size, weight, operation force, etc.)
- Initial Solution Sketching:
- Have students sketch at least three different design concepts
- For each concept, identify which requirements it addresses and how
- Include annotations about materials, servo placement, and user interface
Understanding Checkpoints:
- Students can articulate a clear problem statement focused on Nathan's needs
- Students can list at least five specific requirements for their solution
- Students can explain how their design concepts address the identified requirements
Connections to Standards | Connections to CAD Skills | Connections to HCD Skills |
---|---|---|
STEL 2U: Diagnose flawed systems within larger systems | CAD 2.2: Technical Drawing - Creating and interpreting orthographic and isometric views | HCD Skill #3: Innovation Process - Using divergent thinking for idea generation and convergent thinking for evaluation |
STEL 7Z: Apply principles of human-centered design | CAD 1.3: Documentation - Creating and maintaining technical documentation | HCD Tool 3.1: Sketching - Collaboratively generating and visualizing diverse solutions |
4. ELABORATE
How do we transform design concepts into functional prototypes?
Extension Activity: "Prototype Development"
- Design Selection:
- Have students use a decision matrix (HCD Tool 3.2) to evaluate their design concepts
- Guide them in selecting the most promising concept to prototype
- Refine the chosen design based on feasibility and alignment with requirements
- CAD Modeling:
- Introduce basic OnShape CAD modeling for designing mounting brackets or adapters
- Guide students in creating simple 3D models for any custom parts needed
- Prepare files for 3D printing
- Physical Prototype Construction:
- Assemble the Smart Servo with LocLine connectors and mounting hardware
- Integrate the selected input device (button, switch, etc.)
- Construct any necessary fixtures or mounting solutions
- Programming Implementation:
- Develop the control program for the servo based on the design requirements
- Implement appropriate feedback through the Neopixel LED
- Test and refine the code to ensure smooth operation
Advanced servo control with LED feedback
import time import board import neopixel from digitalio import DigitalInOut, Direction, Pull import pwmio import servo # Set up button on pin D2 button = DigitalInOut(board.D2) button.direction = Direction.INPUT button.pull = Pull.UP # Set up Neopixel on pin D1 pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.3) # Set up servo on pin A2 pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) # Define positions for fine adjustment positions = [0, 15, 30, 45, 60, 75, 90, 105, 120, 135, 150, 165, 180] position_index = 0 # Set initial position my_servo.angle = positions[position_index] # Show initial status with LED pixel.fill((0, 0, 255)) # Blue = ready/idle while True: # Check if button is pressed if button.value == False: # Visual feedback during button press pixel.fill((255, 165, 0)) # Orange = processing time.sleep(0.2) # Debounce delay # Move to next position position_index = (position_index + 1) % len(positions) # Update servo position my_servo.angle = positions[position_index] # Visual feedback for position # Map position to a color gradient from green to red green = int(255 - (positions[position_index] / 180) * 255) red = int((positions[position_index] / 180) * 255) pixel.fill((red, green, 0)) # Wait until button is released while button.value == False: pass # Short delay after button release time.sleep(0.1)
Technical Checkpoints:
- Students have created a functional prototype with working servo movement
- Students have implemented appropriate input controls
- Students have incorporated visual feedback through the LED
Application Checkpoints:
- The prototype successfully addresses the core requirements defined earlier
- Students can explain how their design choices relate to Nathan's specific needs
- The prototype demonstrates appropriate consideration of ergonomics and usability
Connections to Standards | Connections to CAD Skills | Connections to HCD Skills |
---|---|---|
STEL 7Y: Optimize designs addressing qualities within criteria and constraints | CAD 3.2: Parametric Modeling - Creating feature-based models with relationships | HCD Tool 4.2: Technical Drawings - Creating precise CAD representations |
STEL 8I: Use tools, materials, and machines to safely diagnose, adjust, and repair systems | CAD 4.2: 3D Printing - Preparing models for additive manufacturing | HCD Tool 4.3: Proof of Concept - Building functional prototypes for testing |
5. EVALUATE
How effective is our solution in addressing Nathan's specific needs?
Assessment Criteria
Students will evaluate their prototypes based on how well they address Nathan's needs for precision adjustment of science lab equipment. The evaluation should consider:
- Functionality: Does the device perform the intended adjustments reliably?
- Usability: Is the device easy for Nathan to use considering his limited wrist mobility?
- Adaptability: Can the device be used with different types of lab equipment?
- Durability: Will the device withstand repeated use in a lab environment?
- Aesthetics: Is the design visually appealing and appropriate for a school setting?
Activity: "User Testing and Reflection"
- Simulated User Testing:
- Have students simulate Nathan's condition by restricting their wrist mobility
- Test the prototype on various lab equipment adjustments
- Document observations, successes, and challenges
- Peer Evaluation:
- Have student teams evaluate each other's prototypes using the assessment criteria
- Provide constructive feedback on strengths and areas for improvement
- Suggest potential modifications or enhancements
- Reflection and Documentation:
- Guide students in documenting their design process from start to finish
- Have students create a short presentation explaining their solution
- Encourage reflection on what they learned and how they might improve their design
Assessment Rubric
Criteria | Level 1 | Level 2 | Level 3 | Level 4 |
---|---|---|---|---|
Understanding of User Needs | Limited understanding of Nathan's challenges; solution does not address core needs | Basic understanding of needs; solution partially addresses challenges | Good understanding of needs; solution effectively addresses main challenges | Deep understanding of needs; solution comprehensively addresses challenges with innovative approaches |
Technical Implementation | Servo functions inconsistently; programming is incomplete or error-prone | Servo functions as intended for basic movements; programming is functional but limited | Servo movement is well-controlled; programming includes feedback and error handling | Servo movement is precise and optimized; programming includes advanced features and excellent user feedback |
Human-Centered Design Process | Minimal evidence of following HCD process; limited documentation | Basic application of HCD process; adequate documentation | Thorough application of HCD process; comprehensive documentation | Exemplary application of HCD process; exceptional documentation showing deep engagement |
Physical Design & Construction | Unstable or difficult to use; poor craftsmanship | Functional but with some stability or usability issues; adequate craftsmanship | Stable and user-friendly design; good craftsmanship | Exceptionally stable, ergonomic, and refined design; excellent craftsmanship |
Presentation & Communication | Incomplete explanation of solution; limited technical vocabulary | Basic explanation of solution; some use of technical vocabulary | Clear explanation of solution with appropriate technical vocabulary | Comprehensive explanation with sophisticated use of technical vocabulary and compelling presentation |
Connections
Connections to Standards | Connections to CAD Skills | Connections to HCD Skills |
---|---|---|
STEL 7BB: Implement the best possible design solution | CAD 1.4: Professional Communication - Presenting designs and participating in reviews | HCD Tool 5.1: Experiment - Designing and conducting controlled tests |
STEL 7U: Evaluate strengths and weaknesses of design solutions | CAD 4.1: Manufacturing Awareness - Understanding processes and limitations | HCD Tool 5.2: Results Analysis - Analyzing outcomes and gathering stakeholder feedback |