LILY'S ATTENTION SIGNAL DEVICE

LILY'S ATTENTION SIGNAL DEVICE

OVERVIEW

This 5-hour STEM camp introduces middle school students to the Smart Servo platform through a human-centered design approach. Students will learn basic programming and engineering concepts while creating an attention signal device for Lily, a 12-year-old with muscular weakness in her arms who needs assistance participating in classroom discussions. The camp is structured around the 5E instructional model (Engage, Explore, Explain, Elaborate, Evaluate) with each phase lasting approximately one hour.

Client Profile

Name About Me My Challenge
Lily, Age 12 I'm in 7th grade and love science and reading. I participate in our school's Science Olympiad team and enjoy building things. I have muscular weakness in my arms that makes it difficult to raise my hand for long periods in class. It's hard for me to keep my hand raised when I want to answer questions in class. By the time the teacher calls on me, my arm is often too tired, and sometimes I just don't try to participate because I know I can't hold my arm up long enough. I need a way to signal that I want to participate without having to physically raise and hold up my arm.

Learning Objectives

MATERIALS NEEDED

1. ENGAGE

How might we design a device that helps someone participate more fully in classroom discussions?

Activity: "Understanding the Need"

  1. Introduction to Assistive Technology:
    • Begin with a brief discussion: "What does it mean to participate in class?" Have students share their experiences.
    • Show a short video of a classroom discussion, asking students to notice how participation happens.
    • Introduce the concept of assistive technology and how it helps people overcome barriers.
  2. Meet Our Client:
    • Present Lily's profile to students.
    • Facilitate a discussion about Lily's challenge, having students identify the specific problem to solve.
    • Ask: "What would make it easier for Lily to signal that she wants to participate in class?"
  3. Introduction to the Smart Servo:
    • Demonstrate a working Smart Servo with the "Blinking Red LED" example.
    • Show how the servo can move to different positions and how it can be controlled by a button.
    • Explain that this technology will be the foundation for the solution they'll design.

Basic LED Control Demo

import time
import board
from digitalio import DigitalInOut, Direction, Pull
led = DigitalInOut(board.LED)
led.direction = Direction.OUTPUT
while True:
    led.value = 1
    time.sleep(1)
    led.value = 0
    time.sleep(.5)

Technical Checkpoints:

Understanding Checkpoints:

Connections

Connections to Standards Connections to CAD Skills Connections to HCD Skills
STEL 1J: Develop innovative products that solve problems based on individual needs CAD 1.1: Understanding and using design terminology HCD Skill #1: Problem Framing - Analyzing situations from multiple perspectives
STEL 4N: Analyze how technologies change human interaction and communication CAD 1.2: Following structured design processes HCD Skill #6: Stakeholder Dialogue - Gathering requirements

2. EXPLORE

How do we control a Smart Servo to move to specific positions?

Activity: "Programming Basics"

  1. Setup:
    • Divide students into pairs and distribute Smart Servo units and programming cables
    • Have students connect their Smart Servos to computers with CircuitPython
    • Review basic safety guidelines for working with electronic components
  2. Explore Servo Movement:
    • Guide students through loading and running the "Servo Range" example
    • Have students modify the code to change the servo positions and observe the results
    • Challenge students to create a sequence of positions that might be useful for an attention signal

Servo Range Example

import time
import board
import pwmio
import servo
pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50)
servo = servo.Servo(pwm)
while True:
    servo.angle = 0
    time.sleep(1)
    servo.angle = 90
    time.sleep(1)
    servo.angle = 180
    time.sleep(1)
  1. Add Button Control:
    • Introduce the "Toggle Button" example
    • Have students connect a button to their servo and test the code
    • Encourage students to experiment with different button configurations and servo positions

Toggle Button Example

import time
import board
from digitalio import DigitalInOut, Direction, Pull
button = DigitalInOut(board.D2)
button.direction = Direction.INPUT
button.pull = Pull.UP
import pwmio
import servo
pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50)
servo = servo.Servo(pwm)
toggle = 0
while True:
    if button.value == 0 and toggle == 0:
        servo.angle = 0
        time.sleep(1)
        toggle = 1
    elif button.value == 0 and toggle == 1:
        servo.angle = 180
        time.sleep(1)
        toggle = 0

Technical Checkpoints:

Understanding Checkpoints:

Connections

Connections to Standards Connections to CAD Skills Connections to HCD Skills
STEL 2M: Differentiate between inputs, processes, outputs, and feedback in technological systems CAD 3.1: CAD Fundamentals - Interface navigation and basic modeling HCD Tool 5.1: Experiment - Designing and conducting controlled tests
STEL 8J: Use devices to control technological systems CAD 4.1: Understanding manufacturing processes and limitations HCD Skill #8: Iteration Cycles - Testing and modifying designs

3. EXPLAIN

How can we adapt and combine servo movements and controls to create a useful attention signal device?

Key Concepts

The attention signal device functions as a technological system with inputs (button press), processes (code execution), outputs (servo movement and LED indication), and feedback (visual confirmation). When designing assistive technology, we must prioritize:

Activity: "Designing the Signal Device"

  1. System Design Discussion:
    • Review the components of a technological system (input, process, output, feedback)
    • Discuss how these components apply to Lily's attention signal device
    • Analyze how different input methods might work better for someone with muscular weakness
  2. Code Enhancement:
    • Guide students through modifying the toggle button code to add LED feedback
    • Demonstrate how to create a more visible signal using the Neopixel
    • Discuss why visual feedback is important in this application

Enhanced Toggle Button with LED

import time
import board
from digitalio import DigitalInOut, Direction, Pull
import neopixel
import pwmio
import servo

# Setup button
button = DigitalInOut(board.D2)
button.direction = Direction.INPUT
button.pull = Pull.UP

# Setup NeoPixel
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.3)

# Setup servo
pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50)
servo = servo.Servo(pwm)

toggle = 0
while True:
    if button.value == 0 and toggle == 0:
        servo.angle = 150  # Raised position
        pixel.fill((0, 0, 255))  # Blue when active
        time.sleep(0.5)
        toggle = 1
    elif button.value == 0 and toggle == 1:
        servo.angle = 0  # Down position
        pixel.fill((0, 0, 0))  # Off when inactive
        time.sleep(0.5)
        toggle = 0
  1. Prototype Planning:
    • Have students sketch their attention signal device ideas
    • Discuss mounting options using the LocLine flexible connectors
    • Introduce considerations for button placement for easy access

Technical Checkpoints:

  • Students can explain how inputs, processes, outputs, and feedback function in their system
  • Students successfully integrate LED feedback into their servo control code

Understanding Checkpoints:

  • Students can articulate how their design addresses Lily's specific needs
  • Students can explain why their choice of button type and placement is appropriate for someone with muscular weakness
Connections to Standards Connections to CAD Skills Connections to HCD Skills
STEL 2N: Illustrate systems thinking and how systems interact with environments CAD 2.1: Freehand Sketching - Quick visualization of ideas HCD Tool 2.1: Criteria & Constraints - Breaking down problems into components
STEL 7S: Create solutions by applying human factors in design CAD 1.3: Creating and maintaining technical documentation HCD Skill #3: Innovation Process - Using divergent thinking for idea generation

4. ELABORATE

How can we optimize our designs to meet Lily's specific needs while considering real-world constraints?

Extension Activity: "Building and Refining the Device"

  1. Physical Prototyping:
    • Guide students in creating a physical mount for their servo using LocLine and framing pieces
    • Demonstrate how to securely attach the servo while ensuring it can be positioned appropriately
    • Have students test the range of motion and visibility of their device from various classroom positions
  2. Button Customization:
    • Introduce students to different AT buttons and have them test which requires the least effort
    • Guide students in positioning the button for optimal accessibility
    • Help students integrate the button into their code, adjusting as needed for responsiveness
  3. Visual Indicators:
    • Have students enhance their LED programming to create more distinctive signals
    • Challenge students to add different colors or patterns to indicate different states
    • Discuss how visual indicators can help both Lily and her teacher

Advanced Visual Indicators

import time
import board
from digitalio import DigitalInOut, Direction, Pull
import neopixel
import pwmio
import servo

# Setup button
button = DigitalInOut(board.D2)
button.direction = Direction.INPUT
button.pull = Pull.UP

# Setup NeoPixel
pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.3)

# Setup servo
pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50)
servo = servo.Servo(pwm)

toggle = 0
last_button_state = button.value
current_time = 0
last_toggle_time = 0
debounce_time = 0.2

# Function for color fade
def color_fade(r1, g1, b1, r2, g2, b2, steps, wait):
    for i in range(steps):
        r = r1 + (r2 - r1) * i // steps
        g = g1 + (g2 - g1) * i // steps
        b = b1 + (b2 - b1) * i // steps
        pixel.fill((r, g, b))
        time.sleep(wait)

while True:
    current_time = time.monotonic()
    
    if (not button.value and last_button_state and 
        (current_time - last_toggle_time > debounce_time)):
        toggle = 1 - toggle  # Switch between 0 and 1
        last_toggle_time = current_time
        
        if toggle == 1:
            servo.angle = 150  # Raised position
            color_fade(0, 0, 0, 0, 0, 255, 10, 0.03)  # Fade to blue
        else:
            servo.angle = 0  # Down position
            color_fade(0, 0, 255, 0, 0, 0, 10, 0.03)  # Fade to off
    
    # Blinking effect when active
    if toggle == 1 and current_time % 2 > 1.8:
        pixel.fill((100, 100, 255))  # Lighter blue
    elif toggle == 1:
        pixel.fill((0, 0, 255))  # Blue
        
    last_button_state = button.value

Technical Checkpoints:

  • Students successfully mount their servo in a stable, adjustable position
  • Students implement enhanced visual indicators with their LED
  • Students optimize their button placement for ease of use

Understanding Checkpoints:

  • Students can explain how their physical design choices address Lily's specific needs
  • Students can identify potential improvements based on testing and refinement
Connections to Standards Connections to CAD Skills Connections to HCD Skills
STEL 4K: Examine positive and negative effects of technology CAD 4.2: Preparing models for fabrication HCD Tool 4.3: Proof of Concept - Building functional prototypes for testing
STEL 7R: Refine design solutions for criteria and constraints CAD 3.2: Creating feature-based models with relationships HCD Skill #5: Knowledge Development - Identifying and acquiring necessary expertise

5. EVALUATE

How well does our device meet Lily's needs, and what improvements might make it even better?

Assessment Criteria

Students will demonstrate their understanding of assistive technology design by:

  1. Presenting their working attention signal device
  2. Explaining how their design addresses Lily's specific needs
  3. Identifying the components of their technological system
  4. Reflecting on the human-centered design process
  5. Suggesting potential improvements based on testing and feedback

Activity: "Testing and Reflection"

  1. User Testing Simulation:
    • Have students simulate Lily's experience using their devices
    • Assign one student to act as Lily (with limited arm mobility) and another as the teacher
    • Have teams rotate through testing each other's devices
  2. Group Presentation:
    • Each team presents their device, explaining:
      • How they addressed Lily's specific needs
      • The technical components of their system
      • Challenges they encountered and how they solved them
      • Improvements they would make with more time
  3. Reflection and Documentation:
    • Guide students in completing a design documentation sheet
    • Have students record the strengths and limitations of their design
    • Ask students to reflect on how their device might help Lily participate more fully in class

Assessment Rubric

Criteria Level 1 Level 2 Level 3 Level 4
Technical Implementation Basic servo movement with minimal programming Functional servo control with button input Fully functional system with reliable button control and basic visual feedback Advanced system with enhanced visual indicators and optimized for minimal physical effort
Physical Design Basic mounting with limited adjustability Secure mounting with some adjustability Well-designed mounting with good positioning options Innovative mounting solution with excellent stability and adjustability
Human-Centered Approach Limited consideration of Lily's specific needs Basic adaptations to address muscular weakness Thoughtful design choices specifically addressing Lily's needs Comprehensive solution with multiple user-centered adaptations
Systems Understanding Identifies basic inputs and outputs Explains relationship between inputs and outputs Articulates full system including feedback mechanisms Demonstrates advanced understanding of system optimization
Documentation and Reflection Basic documentation of the final product Clear documentation with some reflection on the design process Thorough documentation with thoughtful reflection and improvement ideas Exceptional documentation with detailed analysis and evidence-based suggestions for improvement

Connections

Connections to Standards Connections to CAD Skills Connections to HCD Skills
STEL 7U: Evaluate strengths and weaknesses of design solutions CAD 1.4: Professional Communication - Presenting designs HCD Tool 5.2: Results Analysis - Analyzing outcomes and gathering feedback
STEL 5G: Evaluate trade-offs as part of decision processes CAD 2.4: Understanding spatial constraints and relationships HCD Skill #9: Documentation & Portfolio Development - Creating compelling presentations