Saturday, September 14, 2024

Tools & courses to help teaching

SW Learning tools:

Coding (own projects)

trinket.io   Full program projects. Mostly python; Also HTML, Java; Pygame also supported

  • trinket.io https://www.similarweb.com/website/trinket.io/competitors/
  • https://www.online-python.com/  beta
  • https://onecompiler.com/python  multiple lang little start up help
  • https://pythonsandbox.com/

replit.com Full programs

Turtle graphics is a good place to start.

pygame - students wanting more switch on their own to this.

https://www.similarweb.com/website/copyassignment.com/#overview

Teaching Websites (guided learning only)

w3schools.com  Paths to learn many languages, try code snippets, get certified or use for language ref.

https://uk.pcmag.com/education/73124/the-best-programs-for-learning-to-code

Python4me - Starts easy and covers basics, plus important interfaces, like SQL

HW Learning tools:

Arduino

123d.circuits.io


Monday, June 6, 2022

Robot Dancing = Basic Movements in Patterns

Our dancers are the robots! 

However having students "play" robot can help them understand how to program their robots.

Dances are just combination of repeated patterns. 

  • Some dances are simple To-and-Fro. 
  • Some dancers move around the dance floor. 
  • Some dancers like square dance mirror each others moves.

Dancing alone

To-and-Fro = Basic Opposite movements

  • forward-backwards
  • left-right turns
    • including circles = 360 degree turn (and back)
  • angular movements - there and back
Create your own dances = movement pattern
  • repeat a combination of moves
    • may be opposites 
    • must not be all opposites
  • moving around dance floor
    • Add extra step at end of pattern to (slightly) change direction like:
      • to and fro movements are not same in length
      • extra turn
      • extra partial circular turn
    • How could you do a waltz?
    • If "modern" dance, do all robots need to make the same moves?
      • if don't make same move, what problems could arise?

Dancing together

Now need to keep space between each other.
Dancers should start at same time.Or with specific timing between starts.

Line Dances

  • Robots start in a line facing forward doing same moves
    • To-and-Fro
    • All doing same pattern dance

Square Dances:

  • Robots face each other
  • Robots in circle
    • Facing out
    • Facing in (more precision needed)
 Pattern Dances:
  • dance partners start together as defined by the dance pattern
  • program so dancers stay together during dance

Mirroring moves = Keeping partners together

Goal : Partners must end up at same place after each dance move:
  • If no program change .
    • Enough space for both robots can go forward toward each other.
    • Enough space for turns
  • If Program opposite/ mirroring moves
    • One goes forward and partner goes backwards
    • One goes left and partner goes right
    • Angular - to-and-from
      • How would you mirror in program?

Dancing together Dancer Start positions

This summarizes the dancer start positions of all dances independent of dance type.
  • in a line facing forward
  • in a line  in a follow-the-leader line-up
  • in a circle facing forward
  • in a circle  in a follow-the-leader line-up
  • some where on dance floor with enough room to make dance moves
Videos Coming!

Tuesday, May 31, 2022

Robots K-2 Story oriented

K-2 Story-oriented arts and robots

Overview 

Goal: To excite K-2 about STEAM through fun activities, that let them associate learning with creativity and imagination.

Why Story-oriented? This age is rich in imagination, so good to connect robots with a story or puzzle. Whatever the robot does is part of a general story as a character or an object or lesson goal. Ex.s: Go to bridge on mat, Go to answer, Simple math or spelling, maze, etc.

Simple robots make a good introduction to following a sequence of commands = programming to solve a problem or present a solution. This is good as an introduction even for older students.

A=Arts in STEAM

  • decorate the robot and surroundings to go with their story 
  • via crafts, Legos, attachments or even 3D printed parts
  • have to the robot movements drawn via a pen attachment

Overview of Robots





Programming Input

Button commands
  • Press buttons to form a program sequence and press Go.
  • Coding cards are used for planning.
Icon Blocks – like Scratch Jr
Word Blocks – like Scratch and Blockly
  • Although reading “required” , some basic puzzle piece patterns may be still be usable.
Color based (Lego (pre-K-K) Coding Express, Ozobot)
  • Robot runs over the color to read it in
  • One color or color sequence indicating a programming action to happen

Programming levels

Each level adds a little more complexity. All levels here have been used with K-2.
Programming levels and inputs vary by robot.

1. 1 step at a time [“Turtle” robots] 
  • Typical commands are:  forward, left, right, back (often harder),  go, erase
  • Can use cards to show “program” steps
  • Some “turtle” robots have helps for story telling like mats (2D) & objects (3D)
  • Turtle robots became famous through Seymour Papert’s research at MIT in early computing education in mid-60s and early 70s.
2. Add sound and light (1 light, led matrix, etc)
  • To add to their story
  • Signal when reach a goal or sensor event 
3. Additional movements
  • Non-90 degree turn via button
    • Botley's 45 degree turn
    • Note: Both Back and 45 degree turns are more advanced for this age
  • Move motors more than 1 rotation (Spike Essential, Micro:bit)
    • Usually icon blocks(Scratch Jr like) or word blocks (Scratch like)
  • Motor Movements
    • Animations  like a mouth, walking, amusement rides
    • Micro:bit Baby Shark lesson 
    • Most of Spike Essential example builds 
4. React to sensor events like their own senses:
  • Obstacle (via distance or touch/crash sensors) [see, touch]
  • Color [see]
  • Loudness [hear]  (used less often)
  • Reaction not limited to one kind of programming input
  • Reaction is not specific to one type of programming inputs Ex.s
    • Botley -buttons; 
    • Lego Spike Essential – icon blocks,  
    • VEX123 – word blocks
For K-2, line following is only for observation of what a robot can do.

K-2 Robot Competitions Overview

Lego – Spike Essential and competitions:  
  • FLL Discover (preK-1st) 
  • FLL Explorer Challenge (2nd-4th) 
  • Lego supports younger than Kindergarten [Lego pre-K-K Coding Express,]
Vex 
  • 123

Robot Descriptions

BeeBot 
Follow sequences of button push commands to a place of story-oriented mat 
  • Coding cards and mats with various themes are available
  • A simulation app is available
  • Note a wide variety of similar toys are on the market currently.
Botley 2.0  
Unique and award winning because 
  • Turtle robot with
    • Obstacle detection
    • When see obstacle then do special sequence of commands
    • Good preparation for using sensors later
  • 45 degree turns
  • Line follower setting
Spike Essential 
  • Story telling and building characters, vehicles, amusement park rides; 
  • 3x3 LED matrix; 2 small motors; color and touch sensors 
  • Can be programmed with Icon Blocks (ScratchJr like) or Word Blocks (Scratch like)
VEX 123 
  • basic turtle buttons, with option use of blocks via an app. 
  • There is a craft circle to easily attach crafts and arts to the robot. 
  • Coding card and app with word blocks are available
Micro:bit lessons for K-2 
  • Animation like Baby Shark shown 
    • Programmed with basic word blocks
Ozobot 
  • Follows color patterns that can be used as a programming language (patented) 
  • Also supports Blockly
Lego Coding Express 
  • A train which reacts to colored activity blocks between the tracks when it runs over them.
Homegrown turtle or color programmable
  • Uses programmable robots
  • Good project for older students to create for younger students.

Wednesday, May 25, 2022

Robot set considerations

What should be considered when choosing a robot set? 

  • How many robots can be built?  1, 3, many
  • What programming languages supported?
  • What sensors included?
It is important  that a robot kit is flexible: allowing many robot builds; a variety of sensors; and multiple programming languages. Flexibility in the robot set keeps it useful as students grow.
These are discussed more below.

Overview

Robotics come in various sizes and shapes, but use same basic components of motors and sensors. 

Example: 2 robot models with 2 sample robots built from different kits.

  • motorcycle:   small Micro:bit and bigger Lego Spike Prime
  • driving base:  Lego Mindstorms Inventor (~Spike home) and larger older brother Lego EV3
These robots can all be used to teach basic movements,  sensing and reacting to their environments, or they can challenged to perform specific tasks. Data can be gathered from sensors and motors for evaluation.  Building and programming is learned. But for students it's more exciting to see the robots do what they told it to.

Robot Set Builds - more is better

It is important a robot kit is flexible allowing many robot builds.  Having a few specific builds is limiting.

All 3 robots used here allow multiple builds.  Spike Prime and older EV3 sets are both Lego.  Micro:bit motorcycle is built using the ElectroFreaks Wonder Build Kit and uses BBC Micro:bit as its computer controller.  Mindstorms Inventor is a home version of Spike Prime.

It's good if the building parts are something familiar and able to be reused.  Even Wonder Build Kit uses Lego compatible building parts.  Beyond introduction to robotics collecting compatible extra parts is useful for building competition robots. EV3 is no longer sold by Lego, but is still allowed in robotic competitions. If a school adds Spike Primes to EV3s, the building parts are compatible.  

So far robot sets do not allow interchanging motors and sensors because they have connectors specific to the computer controller and specific micro-code support.  The recent Raspberry Pi Build Hat add-on that allows Lego Spike sensors and motors is an exception. This allows using Raspberry Pi with Lego motors and sensors to build robots and additionally use extras, like the Raspberry Pi camera (more in a future post). 

Programming

At a minimum, programming support for following popular education languages should be supported:

  • word blocks similar to puzzle piece Scratch language  
  • (micro)Python

Sensors

Robot programming is event oriented and reacts to sensors. 

Basic sensors that should be supported are: 

  • Distance sensor (usually ultrasound)
  • Color or Light Intensity Sensor
  • Touch or Crash sensor
  • Sensor for exact turns [recommended]
    • Gyro sensor OR
    • Built-in Accelerometer often with motion sensing (tilting, falling)
  • additional sensors can be useful
    • Temperature, Sound Level, Humidity and Moisture sensors are common.
A display or LED matrix and sound output are also useful. 

Robots are fun for children and do not have to be specific to just one age or grade-level. 

Sunday, February 13, 2022

Projects worth sharing

This blog is really an e-portfolio of descriptions and links to better (project) work.
Also interesting Robotic workshops and contests are included.
Summaries of important ideas learned and useful tools are also noted.  

(date updated periodically, so this post comes first)

Saturday, November 13, 2021

Lego Construction Challenge, plus Robots

Here is the small Lower Austrian town of Niederkreuzstetten was a building challenge for children. To help attract more, the RTL Lego Master 2021 bring some of his large Lego builds.  Children were also encouraged to bring their favorite Lego constructions, both original builds and sets. There was a live Lego construction competition in 2 age groups. 

Robotix4Me also had 3 areas with robots to snooper: 

  • BeeBots, 
  • Lego Robots, 
  • First Lego League (FLL) Cargo Challenge.  

This time the example build was to stop at the edge of the table using various sensors. Distance sensor is most obvious, but change in light with a light sensor also worked. But construction also mattered: how far ahead of the robot did the sensor need to be to stop in time? How fast or slow could robot go and still stop? Needed more of a challenge: The FLL Lego challenge table was there to try.  

9 year old's Original Winter World
Overview
Winter World location circled in blue


FLL Simple? Challenge: Launch the plane

Sunday, September 5, 2021

Robots in a tent

In Lower Austria there is children's festival each year in Herzogenburg. COVID checks were required to enter, so masks required.   Robotix4Me has booth each year, which is a tent. A walking Lego robot nicknamed Robbie, is demo'd at the tent entrance. Here ~15 Lego Mindstorms kits are set out for kids to try to build, modify, and program a robot to move and sense something. The tables are usually full of children. Younger ones get to try out BeeBots or new Lego Spike with Scratch or Icon language (similar to Scratch Jr). Photos were taken during lunchtime when we had less of a crowd.

Personally I was amazed how good a robot the children could create in such a short time. A 6 year old did the best programming of those I helped. She used an existing Lego Spark robot using a version of Scratch to try out different ways to control motors moving wheels and a "fan" by reacting to various sensors. 

Brothers working together

Robots are more interesting than lunch