NADIA'S ART SUPPLY ORGANIZER
OVERVIEW
This 5E lesson guides middle school students through the human-centered design process to create an art supply organizer with servo-controlled compartments for Nadia, a 13-year-old with a limb difference. Students will apply their previous Smart Servo knowledge to design, prototype, and build a functional assistive device that addresses Nadia's specific needs while strengthening their understanding of engineering design principles, programming concepts, and empathetic problem-solving.
Client Profile
Name | About Me | My Challenge |
---|---|---|
Nadia, 13 | I was born with a partial right arm that ends just below my elbow. I love creating art, especially painting and drawing, but I sometimes struggle organizing and accessing my supplies during art class. | When I'm working on an art project, I need to hold my paintbrush or pencil with my right arm and use my left hand to get new supplies. Reaching across my workspace and opening containers while holding tools is difficult, and I often have to put down what I'm working with to get new supplies, which interrupts my creative flow. |
Learning Objectives
- Apply the human-centered design process to develop a solution for a client with a limb difference
- Program a Smart Servo to control multiple positions using button input
- Design and fabricate custom mechanical components that integrate with the Smart Servo
- Test and iterate on a functional prototype based on user feedback
- Document the design process including client empathy, problem definition, ideation, and testing
MATERIALS NEEDED
- Smart Servo units (1 per 2-3 students)
- Assorted buttons and switches (Jelly Bean, AT Test, Spec)
- LocLine flexible connectors and pliers
- 10mm framing pieces, M5 screws and fasteners
- Basic art supplies (paper, markers, clay, etc.)
- 3D printer with PLA filament
- OnShape CAD software (free classroom license)
- Allen wrenches and screwdrivers
- Laptops/computers with Circuit Python
- USB C Programming Cables
- Cardboard, foam board, and craft materials for prototyping
1. ENGAGE
How might we design assistive technology that enhances the creative experience for artists with limb differences?
Activity: "Understanding Nadia's Experience"
- Simulation Experience:
- Students work in pairs with one partner having one arm immobilized (tucked into their shirt)
- The "limited mobility" partner attempts to complete a simple art activity requiring organizing and using multiple supplies
- Partners document challenges observed during the simulation
- Introduction to Nadia:
- Present Nadia's profile to the class
- Show video testimonials or case studies of artists with limb differences
- Discuss the difference between designing FOR someone versus designing WITH someone
- Smart Servo Refresher:
- Review the basic capabilities of the Smart Servo platform
- Demonstrate a simple program that moves the servo to different positions based on button presses
Basic Servo Position Control
# Basic Servo Position Control import time import board import pwmio import servo from digitalio import DigitalInOut, Direction, Pull # Set up servo pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) # Set up button button = DigitalInOut(board.D2) button.direction = Direction.INPUT button.pull = Pull.UP # Start with position 0 position = 0 positions = [0, 45, 90, 135, 180] # 5 possible positions while True: # If button is pressed if not button.value: # Move to next position position = (position + 1) % len(positions) my_servo.angle = positions[position] # Wait for button release and debounce while not button.value: pass time.sleep(0.2) # Debounce delay
Checkpoints & Assessment
Technical Checkpoints:
- Students can identify the Smart Servo's basic components and connections
- Students can explain how button input controls servo position
Understanding Checkpoints:
- Students can articulate specific challenges faced during the simulation
- Students can explain how assistive technology might address Nadia's needs
- Students demonstrate empathetic understanding of Nadia's experience
Connections
Connections to Standards | Connections to CAD Skills | Connections to HCD Skills |
---|---|---|
STEL 4N: Analyze how technologies change human interaction and communication | CAD 1.1: Technical Vocabulary - Understanding and using design terminology | HCD Skill #1: Problem Framing - Analyzing situations from multiple perspectives |
STEL 7Q: Apply the technology and engineering design process | CAD 2.1: Freehand Sketching - Quick visualization of ideas | HCD Skill #6: Stakeholder Dialogue - Gathering requirements |
2. EXPLORE
What mechanical and digital systems could we create to help Nadia access art supplies more independently?
Activity: "Mechanism Exploration"
- Rotary Systems Investigation:
- Provide teams with examples of different organizing systems (lazy susan, carousel, drawer slides)
- Students experiment with different mechanisms that could organize and present art supplies
- Teams document the strengths and limitations of each mechanism
- Smart Servo Control Exploration:
- Students program the Smart Servo to move to specific positions
- Experiment with different input methods (toggle switch, button press, double click)
- Test the servo's ability to hold and move with added weight
Position Toggle with LED Feedback
# Position Toggle with LED Feedback import time import board import pwmio import servo import neopixel from digitalio import DigitalInOut, Direction, Pull # Set up servo pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) # Set up button button = DigitalInOut(board.D2) button.direction = Direction.INPUT button.pull = Pull.UP # Set up NeoPixel pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.3) colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (0, 255, 255)] # Colors for each position # Define positions positions = [0, 45, 90, 135, 180] # 5 possible positions current_pos = 0 while True: # Update LED to match current position pixel[0] = colors[current_pos] # If button is pressed if not button.value: # Move to next position current_pos = (current_pos + 1) % len(positions) my_servo.angle = positions[current_pos] # Wait for button release and debounce while not button.value: pass time.sleep(0.2) # Debounce delay
- Client-Centered Research:
- Students create interview questions for Nadia
- Role-play client interviews to understand specific needs and preferences
- Use HCD Tool 1.1 (Interview) and 1.2 (Problem Statement) to document findings
Checkpoints & Assessment
Technical Checkpoints:
- Students can modify servo positions and timing in code
- Students can integrate button input with servo movement
- Students can explain how different mechanical systems could work with the Smart Servo
Understanding Checkpoints:
- Students create effective interview questions focused on client needs
- Students define clear problem statements based on client research
- Students identify at least three potential mechanisms that could address Nadia's needs
3. EXPLAIN
How do we translate user needs into technical specifications and design requirements?
Key Concepts
Human-Centered Design Process
The human-centered design process puts users at the center of product development. For Nadia's art supply organizer, we need to understand that her specific limb difference requires unique considerations:
- Empathy: Understanding Nadia's physical capabilities, art workflow, and frustrations
- Define: Creating a clear problem statement based on Nadia's needs
- Ideate: Generating multiple potential solutions
- Prototype: Building testable versions of our concepts
- Test: Evaluating our solutions with the client
Smart Servo Control Concepts
The Smart Servo can be programmed to:
- Move to precise positions (0-180 degrees)
- Respond to different input methods (buttons, switches)
- Provide visual feedback through the NeoPixel LED
- Hold position under load (important for our organizer)
- Use different movement patterns (direct movement or sweeping)
Mechanical Design Considerations
For Nadia's art supply organizer, we need to consider:
- Weight distribution and balance
- Stability during rotation
- Accessibility of compartments
- Ease of replacing supplies
- Overall ergonomics and workspace integration
Activity: "Design Requirements Workshop"
- Problem Statement Development:
- Teams refine their problem statements using the HCD Tool 1.2 format
- Share and critique problem statements as a class
- Finalize a problem statement that clearly articulates Nadia's needs
- Design Criteria & Constraints:
- Using HCD Tool 2.1, teams develop criteria and constraints for their design
- Consider technical limitations (servo torque, programming capabilities)
- Consider user requirements (size, accessibility, ease of use)
- Create a weighted decision matrix (HCD Tool 3.2) for evaluating design ideas
- Initial Sketching:
- Teams create initial sketches of potential designs
- Include annotations for mechanical and electronic components
- Prepare to receive feedback from peers
Understanding Checkpoints:
- Students create clear, specific problem statements focused on Nadia's needs
- Students develop comprehensive lists of criteria and constraints
- Students can explain how their design considerations relate to Nadia's specific requirements
- Students demonstrate understanding of the Smart Servo's capabilities and limitations
4. ELABORATE
How can we combine mechanical design, digital control, and user experience to create an effective solution?
Activity: "Design, Build, Code"
- Prototype Development:
- Teams create low-fidelity prototypes using cardboard and craft materials
- Integrate the Smart Servo to test basic functionality
- Document design decisions and technical specifications
- CAD Modeling:
- Students develop 3D models of organizer components using OnShape
- Design custom mounting brackets for the Smart Servo
- Prepare files for 3D printing
- Programming Logic Development:
- Develop code that allows for intuitive control of the organizer
- Implement visual feedback with the NeoPixel LED
- Consider adding advanced features like auto-return or position memory
Art Supply Organizer Control System
# Art Supply Organizer Control System import time import board import pwmio import servo import neopixel from digitalio import DigitalInOut, Direction, Pull # Set up servo pwm = pwmio.PWMOut(board.A2, duty_cycle=2 ** 15, frequency=50) my_servo = servo.Servo(pwm) # Set up buttons next_button = DigitalInOut(board.D2) next_button.direction = Direction.INPUT next_button.pull = Pull.UP home_button = DigitalInOut(board.D3) home_button.direction = Direction.INPUT home_button.pull = Pull.UP # Set up NeoPixel pixel = neopixel.NeoPixel(board.NEOPIXEL, 1, brightness=0.3) # Define art supply positions positions = [0, 36, 72, 108, 144, 180] # 6 supplies positioned evenly supply_names = ["Pencils", "Markers", "Brushes", "Paints", "Erasers", "Paper"] colors = [(255, 0, 0), (0, 255, 0), (0, 0, 255), (255, 255, 0), (0, 255, 255), (255, 0, 255)] current_pos = 0 last_used_positions = [] # Track recently used positions # Initial position and color my_servo.angle = positions[current_pos] pixel[0] = colors[current_pos] def move_to_position(pos_index): global current_pos current_pos = pos_index pixel[0] = colors[current_pos] # Set color based on position my_servo.angle = positions[current_pos] # Move servo print(f"Moving to {supply_names[current_pos]}") # Debug output # Add to recently used (limit to last 3) if pos_index in last_used_positions: last_used_positions.remove(pos_index) last_used_positions.insert(0, pos_index) if len(last_used_positions) > 3: last_used_positions.pop() while True: # Next position button pressed if not next_button.value: # Move to next position next_pos = (current_pos + 1) % len(positions) move_to_position(next_pos) # Button debounce while not next_button.value: pass time.sleep(0.2) # Home button pressed if not home_button.value: # Double-click detection for cycling through recent positions start_time = time.monotonic() time.sleep(0.05) # Debounce # Wait to see if there's a second press second_press = False while time.monotonic() - start_time < 0.5: if not home_button.value and home_button.value: # Detected release second_press = True break time.sleep(0.01) # If double-click, cycle through recent positions if second_press and last_used_positions: next_recent = last_used_positions[0] move_to_position(next_recent) else: # Single press - return to home position move_to_position(0) # Button debounce while not home_button.value: pass time.sleep(0.2)
- Assembly and Integration:
- Fabricate and assemble organizer components
- Integrate Smart Servo and control circuits
- Test mechanical stability and electrical connections
Technical Checkpoints:
- Students create working CAD models suitable for 3D printing
- Students program the Smart Servo to move between multiple defined positions
- Students integrate appropriate button/switch input methods
- Students implement visual feedback through the NeoPixel LED
- Prototypes demonstrate structural stability and mechanical functionality
Application Checkpoints:
- Designs clearly address Nadia's specific needs
- Students document their design decisions and technical challenges
- Students iterate on their designs based on testing and feedback
Connections to Standards | Connections to CAD Skills | Connections to HCD Skills |
---|---|---|
STEL 7Q: Apply the technology and engineering design process | CAD 2.1: Freehand Sketching - Quick visualization of ideas | HCD Skill #1: Problem Framing - Analyzing situations from multiple perspectives |
STEL 4N: Analyze how technologies change human interaction and communication | CAD 1.1: Technical Vocabulary - Understanding and using design terminology | HCD Skill #6: Stakeholder Dialogue - Gathering requirements |
5. EVALUATE
How well does our solution meet Nadia's needs, and what improvements could we make?
Activity: "User Testing and Reflection"
- User Testing Simulation:
- Teams prepare for user testing by creating testing protocols
- Conduct simulated user testing with peers (one arm immobilized)
- Document observations and feedback
- Design Review:
- Teams present their solutions to the class
- Conduct structured peer feedback sessions
- Teams document strengths and areas for improvement
- Reflection and Documentation:
- Students complete design journals documenting their process
- Create a final presentation showcasing their solution
- Reflect on how their solution addresses Nadia's specific needs
Assessment Criteria
The final assessment evaluates both the product (art supply organizer) and the process (human-centered design approach). Students should demonstrate technical competence with the Smart Servo, thoughtful consideration of user needs, and ability to document and communicate their design process.
Assessment Rubric
Criteria | Level 1 | Level 2 | Level 3 | Level 4 |
---|---|---|---|---|
Human-Centered Design | Limited evidence of empathetic design; minimal consideration of user needs | Basic application of user needs; some evidence of empathetic design | Clear focus on user needs; evidence of empathetic design throughout process | Exemplary application of empathetic design; solution directly addresses specific user needs with innovative approaches |
Technical Implementation | Basic servo operation with limited functionality; minimal programming features | Functional servo control with basic position management; working button input | Multiple well-defined positions with smooth transitions; integrated visual feedback | Advanced control features (position memory, adaptive movement); optimized code with error handling |
Mechanical Design | Basic structure with limited stability; minimal integration with servo | Functional structure with adequate stability; basic integration with servo | Well-designed structure with good stability; thoughtful integration with servo | Innovative mechanical design; excellent stability and servo integration; consideration of maintenance and durability |
Documentation & Communication | Basic documentation of process; limited explanation of design decisions | Adequate documentation of process; explanation of key design decisions | Comprehensive documentation of entire process; clear explanation of all design decisions | Exceptional documentation including iterations and refinements; insightful reflection on design decisions and learning |
Functionality for User | Solution partially addresses user needs with significant limitations | Solution addresses basic user needs with some limitations | Solution effectively addresses user needs with minor limitations | Solution exceeds expectations in addressing user needs with innovative features |