NATHAN'S SCIENCE EQUIPMENT ADJUSTER

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

MATERIALS NEEDED

1. ENGAGE

How might we use technology to help people overcome physical limitations in educational settings?

Activity: "Understanding the Challenge"

  1. 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
  2. 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
  3. 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:

Understanding Checkpoints:

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"

  1. 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
  2. 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
  3. 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
  1. 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:

Understanding Checkpoints:

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:

Human-Centered Design Process

The design process must focus on Nathan's specific needs rather than starting with the technology. This includes:

Activity: "Problem Definition and Initial Design"

  1. 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
  2. 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.)
  3. 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"

  1. 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
  2. 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
  3. 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
  4. 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:

  1. Functionality: Does the device perform the intended adjustments reliably?
  2. Usability: Is the device easy for Nathan to use considering his limited wrist mobility?
  3. Adaptability: Can the device be used with different types of lab equipment?
  4. Durability: Will the device withstand repeated use in a lab environment?
  5. Aesthetics: Is the design visually appealing and appropriate for a school setting?

Activity: "User Testing and Reflection"

  1. 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
  2. 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
  3. 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