This page serves to plan the agenda for the session, then logs the finalized minutes, as well as information necessary for final summary, upon the completion.
Recap Variable and Functions basic concept
Make the continuous servo motor spin
Make the project, without LED screen indicator
Very good as planned, step by step making the tasks seemed good way to guide the students into deeper insights
Good findings of the resource competition by the students
Good learning progress and results
A little hard to motivate the fast-learners in this project, which was a little not-enough-challenging for him...
A little stressing preparing for the tutor, due to time balancing among work-life and volunteering work
46 Kr: Fika snack
79 Kr: Tutor parking 9:47-12:24
20 Kr per student: Compensate the consuming cost of tools and materials for projects (like printed paper, stationery, cables, batteries, fragile components, etc.)
Very much done as planned! Just less talking and secure the time for making!
10:00-10:15
Lazy starting, greeting and socialization
Explain the goal and content of this learning package
10:15-10:30
Demo the main project
Distribute the making materials
10:30-11:00
Step 0: Wire the servo motor
Step 1: 1st experience making it spinning
Importing the lib
Find and try out the controlling block
Understand the interface, port and speed parameter, -100 ~ +100
Step 2: Add a variable "speed", and control it using button A/B
Add variable, initialize it on-start
Change variable value, A, B, A+B, guard your variable to be valid within -100~100
Test and demo
Challenge: How to make sure the variable value is within valid range?
Important mindset: Take responsibility to change and guard the variable value in one place, but not in different places. Take efficient logic to change the variable value, but not change it to over-range and then pull it back.
11:00-11:12
Fika
11:15-11:50
Step 3: Use "function" to formulate the controlling blocks
Continue step 2 if not finished yet
Need to explicitly use "function" to formulate the codes
Challenge: Add "serial write" to help debugging, make sure the controlling is correct, and variable value is valid
Step 4: Add "gesture" control
Find out the controlling blocks
Try to use the tilting left/right to trigger the functions calls
Test and demo, make sure everything works, and read out the serial value for speed value debugging
Challenge: Why the tilting only triggers one time speed change, but not continously? How to make the tilting gesture triggering the speed changing continuously when you hold the tilting gesture
"on tilt-left gesture" block will only trigger one event when you tilt and keep tilting there
"is tilt-left gesture" block with "if" block will keep triggering the speed changing if you keep tilting there, but it's needed to add a small pause, so it will not change the speed too quickly to max/min
Step 5:
Optionally, add sound warning if speed is max/min, reset
Challenge: How about the conflict if I press a button but tilt in another direction at the same time? What will happen? How to guard this? Tips: A "lock" to prevent multiple places changing the value in different direction. Or, just stop working and alarm if entering such conflict situation.
NOTE:
We will not do anything for the LED screen indication, this will be the main content for next week, so the screen will be nothing for this session
Fast makers and learners can try to make the LED indicator already from this session, but not a requirement, they can also try some own interesting projects using servo motors, and focusing on variables/functions usage