Lessons

Fable fortæller en historie

Humans and robots

Get started with Fable

Make a social robot

The game of love

Fable Spin sees colors and plays music

Make a security robot

Copy cats

Throwing robot

Sorting robot

Use sensors in Fable Spin

Use sensors in Fable Spin

Use sensors in Fable Spin

Remote control Fable Spin

Fable Face

Robotic research of speed and circular motion

Spin increases the speed when it sees a color

Dancing robot

Fable & Micro:bit Combinatie

Fable & Micro:bit Demo

Christmas robots

Julerobotter

Parabolas

Remote control of a solar panel system with Fable

Pythagoras

Lesson: Fable fortæller en historie

Status: draft

Digte en historie og øve oplæsning. Herefter indtale oplæsningen på computer og få Fable Blockly til at læse op. Arbejde med Audacity og Fable Blockly. Desuden design af robot og robotprogrammering

Lesson Duration: 2-4 Hours

Grades: 04 - 07

Tags: Grammar, Block coding, Writing, Robotics, Blockly, Lesson Plan

Step #1

Du skal digte en historie om…

Klassetrin: 3. - 4. klasse

Fag: dansk, teknologiforståelse

Lektioner: 4-6

Fælles Mål dansk:

Fremstilling:

  • Eleven kan skrive med en læselig og sammenbundet håndskrift og på tastatur. Eleven har viden om effektive skriveteknikker.
  • Eleven kan give respons på teksters genre og struktur. Eleven har viden om teksters genre og struktur.

Kommunikation

  • Eleven kan forstå eget og andres kropssprog. Eleven har viden om stemmens og kroppens virkemidler og kropssprog.

Step #2

Link

If you haven't programmed Fable before open this link:

Getting started

Lesson: Humans and robots

Status: public

The student will learn how to build and program the Fable robot using Fable Blockly. The student will have an idea about what robots are used for in the society of today and what it maybe will be in the future.

Lesson Duration: Multi-Day

Grades: 08 - 12+

Tags: Engineering, English, Block coding, Blockly, Sensors

Supplies: Fable Joint module, Fable Spin, Smart phone with Fable Face installed, 4XY building modules, computer - pc or mac or installed or iPad or Chromebook with Fable Blockly and a Fable HUB

Step #1

Description

Today, robots have become part of our everyday lives.

They solve tedious tasks in the industry.

They inspect impassable terrain or vast landmasses.

They monitor our behaviour on earth.

They are also used for instance for surgery.

They help us if we need help in our everyday lives.

They solve tasks, if there has been a catastrophe.

But there are also robots designed to harm us. E.g. the military uses drones for shootdowns, and actual war robots, able to kill, are being developed.

Robots can also be humanoid, be nice and act like us.

When robots look and act like us, most people find dem cute.

Step #2

Assignment 1

Build and programme a social Fable robot with Fable Face.

Find inspiration here:

Work sheet - social robot

Fable butler robot

Step #3

Assignment 2

A robot can become humanoid for instance by using our app Fable Face. We program it to react to different input, through sensors. But two robots can also communicate with each other. So called “chat-bots”, that have been tested by using artificial intelligence, have been asked to “talk” to each other. The success however has been limited. With time it can become harder to distinguish between a robot and a human. To determine whether it is a human or a robot, you can use the “Turing-test”.

But today it seems that more and more robots, or artificial intelligences, have cheated the test, so people believe they are talking to a human. Watch the youtube video, where Google shows, how their Google Duplex call and make an appointment at the hair salon.

__________________________________________

It is interesting to think about how we will distinguish between humans and robots in the future.

Think about what it will do to us, when the robots start to become just like us, and it becomes more and more difficult to distinguish between humans and robots.

Talk about:

  • What is human?
  • Ethical reflections?
  • In which areas are robots/artificial intelligence allowed to be used/take over?
  • In which areas are robots/artificial intelligence not allowed?
  • If you had to build a robot, to take over for a human, what should that robot be able to do?
    • Which qualities should it have?
    • Which sensors?
    • Which rules should it adhere to?

Robots are “present” in the room, seeing as they are physical. That is opposed to what goes on, on a computer screen:

  • What does it mean, to be present in a room? We humans use our senses to orientate ourselves, robots use sensors. If the robot’s senses are its sensors, which sensors are important, to be able to orientate itself in an environment created for humans?
  • What does it mean to be “self aware”?

Step #4

Assignment 3

Make 2 Fable Spin robots communicate with each other:

The Game of Love

Step #5

The uncanny valley

When humanoid robots are cute, it is because they look human, but we can still clearly see, that we are looking at robots.

A terms called “the uncanny valley” explains with the issue, when robots all of sudden look so much a like us, that we think they are human. Then, when we discover, that it is a robot, a lot of people find it creepy.

Have a discussion with the class about this topic. Talk about that we in the western culture have had a lot of Sci fi movies about robots taking over the world - and that is probably one reason why this fenomena is only known in the western culture and not for example in the Japanese culture!

Step #6

War robots

Another terrifying example is war robots. There are countless examples of science fiction films, where robots and artificial intelligence are in danger of taking over the world and killing mankind, one way or the other. But if there will be war robots killing each other or us in the future, is still to 

be determined. But here is an are, which is being thoroughly discussed on the basis of ethics, and when it is a good idea to stop doing research in in area, just because it could be dangerous, when you think of the catastrophic consequences it might have. Try to read this article: Scientists Warn of Dangers of Killer AI Drones in Dystopian Film and also watch the video

Discuss the pros and cons of war robots.

Step #7

Recap and finishing up

Prepare a presentation (PowerPoint or something similar), where you present your thoughts and views on the topic about humans and robots (you call the term Human Robot Interaction, HRI). Present it to the class.

Think about the following: 

  • What is a robot?
  • How do humans communicate with each other?
  • How do humans and robots communicate with each other?
  • How do robots communicate with each other?
  • What is it that makes humanoid robots cute?
  • In the future, where do you see robots having an influence on your everyday lives?
  • Which ethical dilemmas do you see in relation to robots and artificial intelligence?
  • Pick out one of the Fable exercises (or a completely different one) and show it to the class.

Get the students to present their projects for the other students.

The teacher act as a guide/counselor for the students.

Step #8

Notes for the teacher

..

Notes for the teacher

This lesson plan could be taken in different directions, and could be used in different grades.

  • Lesson plan for 4th grade: facial expressions and eye contact

Subjects: English, IT and media (communication) og technological literacy.

The pupils should build and program a robot, using the Fable robot system. The should use the Fable Face aoo to work with facial expressions and eye contact. You can talk to the pupils about how they use facial expressions and eye contact, when they talk to each other, then how they think it feels making eye contact with Fable, and how they think it works communicating with Facial expressions and a robot- 

  • Lesson plan for 6th grade: Robot friend

Subjects: English, IT and media (communication) og technological literacy.

The pupils should build and program a social robot, using the Fable robot system. The pupils should work with how they can get it to interact with them (facial expressions, waving, saying hello).

You can then talk to the pupils about, how it feels to have a friend, who is a human, and then how they think it would be to have a friend, that is a robot.

  • Lesson plan for 8th-9th grade: Humans and robots. (HRI - Human Robot Interaction)Subjects: English, IT and media, ethics. Technological literacy. The lesson plan above.

Lesson: Get started with Fable

Status: public

The user will learn to install, build and get started programming with the Fable robots in Fable Blockly. There will be introduction to the Fable Joint, Fable Spin and the Fable Face app.

Lesson Duration: 1-2 Hours

Grades: 03 - 12+

Tags: Block coding, Teacher Tools, How-Tos, Blockly

Supplies: Either both Fable Joint module and Fable Spin or one of them, HUB, the lid from the box, Smart phone with Fable Face installed, PC or Mac with Fable Blockly installed, a phone holder to mount the smart phone on the robot.

Step #1

Install the application on Windows 10

If you are running Windows 10 you should go to Microsoft Store and search for Fable Blockly and then choose download.

Step #2

Install the application on Win 7, 8 or on Mac

If you are running Windows 7, Windows 8 or Mac OS you should open the following webpage - shaperobotics.com/download - and download the app for the respective operating system.

Note: Windows 7 and 8 will also need a hub driver – so you should also download that (find instructions on this at: shaperobotics.com/pages/faq/). 

If you are using Mac OS you should be aware if you have updated your operating system with the latest updates.

Step #3

2.a Fable Joint - unpack the robot

(Click on all 4 pictures.)

First take the lid off the box.

Flip the lid so that the stand is facing upwards. Take out the Joint module.

Next, insert the Joint module into the stand with its largest end at the bottom, so that the Fable logo is facing you.

Turn on the Joint module by sliding the switch on the back. Notice that the Joint module has a “name” - this one is called OBC. Remember your Joint module’s name.

The Joint module will light up in a certain color.

Step #4

Put the Hub into the USB in the computer

Now it’s time to take out a Hub and a USB cable. Insert one end of the cable into the Hub and the other into the computer’s USB port (Note: The Joint module does not need to be connected to any cable).

Once connected, the Hub will light up. This should be the same color as the Joint module. If it isn’t, press either the Hub or the joint module until they have the same color.

Step #5

2.b Fable Spin - unpack the robot

(Click on all 4 images)

Take out the Fable Spin and mount the castor wheel behind the robot.

Turn on the Spin by clicking the Shape Robotics icon (note: On Fable Spin you just click this button to turn it on). You will find the ID of the Spin on the opposite site.

Step #6

3. Start programming Fable

(Click on both images)

Open Fable Blockly on your computer.

On your computer, check whether the software has “found” your Hub. You will find the connected modules under modules, and if you click the little “i” you will find the name of the module, the battery level and how good the connection is. If it does not work consult this guide on our Help/FAQ page.

Step #7

The Joint module has 2 servos, X and Y

The Joint module has 2 servos, X and Y, which can move from 90 to -90 degrees. If you have connected the Joint module as shown in chapter 2.a, the X servo should swing left at 90 degrees and right at -90. The Y servo should swing towards you at 90 degrees and away from you at -90.

Step #8

Click on Actions and drag the block called move to

Click on Actions and drag the block called move to

Step #9

Try changing the angle of the X servo to 90 degree

Try changing the angle of the X servo to 90 degree

Step #10

Remember the ID

Remember to change the on field so that it corresponds to the name of your joint module.

Step #11

Your program should now look like this

Your program should now look like on the picture.

Click on the orange "play" button.

The Joint module should now move from a vertical position to 90 degrees on the X servo.

Congratulations! You have now programmed your first program!

Try changing the angle to -90 degrees and press play again. Observe what happens.

Step #12

4. Move from 90 to -90 degrees

First, change the angle of X back to 90 degrees in your existing program.

You will need to insert a wait block. Click Loops and select the block called wait.

Step #13

Connect this to the move block from before

Connect this to the moveblock from before (drag it directly below the move block so that they click together like puzzle pieces, making a click sound).

Then change the wait block to 2 seconds.

Step #14

Now, take a new move block and insert it

Now, take a new moveblock and insert it underneath the wait block.

Change angle X on this block to -90 degrees. Remember to select the name of your Joint module.

Click on run, and run the program.

Congratulations! You have now programmed your second program! 

Step #15

5. Introduction to loop

(Click on all 3 images)

To make the joint module continue moving from 90 to -90 degrees, we can place a loop around it. Go back to Loops and select the block called repeat forever.

You now need to pull this loop around all the other blocks (it will expand when you connect it to the top notch, located on the first move block).

Once the loop has been pulled around the other blocks, it should look like the picture.

Step #16

Insert another wait block

Now, the Joint module will continuously move from 90 to -90 degrees. 

BUT there is a problem. When the joint module starts at 90 degrees and takes a 2-second pause before moving to -90, it works just fine, but when the program starts over, it tries to move immediately from -90 to 90 degrees. That is not possible since the joint module cannot be in two places at once. 

You therefore need to insert another wait block

Try running the program. The joint module should now continue moving from side to side until you click stop. 

Congratulations! You have now programmed yet another program - this time using a loop!

Step #17

6. Program colors

(Click on all 4 images)

You can make the Joint module blink in different colors. You can either continue working with the program you have already made and simply add the light block found in the Actions menu, or you can start a new program in a new loop.

The light block is inserted into our loop from before, and you can either leave the move blocks there or remove them so that only the light block remains inside the loop (remember to select the joint module’s name). Note that it is the uppermost notch in the light block that needs to connect to the uppermost notch in the loop.

You can choose the module or the hub.

When you choose the module the program will look like the last picture.

Step #18

Select another color

(Click on all 4 images)

Click on the color in the block and select a color that is different from the current color of the Joint module.

Then, right-click the light block and select Duplicate or you can use CTRLl+C(you can do this with all blocks).

You should have two light blocks. All you have to do is change the color of the second block so that you have two different colors.

Drag the second light block below the wait block.

Run the program. It should now change between the two different colors you have selected. Note: that the program will keep on running until you stop it.

Congratulations! You have now programmed yet another program! 

Step #19

New project

Start a new project by clicking the folder icon and choose new project. The program will ask “Do you want to discard all x blocks?” – you should click on the “Yes” button.

Step #20

7. Learn about conditions

(Click on all 3 images)

You can also make the Joint module perform a certain action when you press a key on the keyboard, for example. Here, the action is that the joint module moves to 90 degrees and blinks in a certain color if you press the left arrow key.

First we will start with a forever loop.

Next, select an if block from the Logic tab.

Then go to Senses, choose the block called key pressed and connect it to the if block.

Next, edit the key pressed block - choose left key. Now take a light block and a move block and insert them into the if block - remember to insert the joint module’s name and change the angle of the x servo to 90 degrees.

Step #21

Make a "remote control"

(Click on 2 images)

You can right-click on the if block and duplicate the whole thing. Now place the new if block underneath the first one and change it to key pressed right - remember to change both the color of the light block and the angle.

Now place these blocks in the repeat forever block.

Try for example including the Y servo, thereby expanding this little “remote control”.

Remember that the Joint module won’t do anything until you press the arrow keys. Note that you must now actively turn off the program when you want it to stop running.

Congratulations! You have now programmed Fable to be controlled using the keyboard!

Step #22

Fable Spin

The Fable Spin has two motors - A and B. They allow it to move around and carry other modules connected to it, which can also be programmed further.

Step #23

8. Control Fable Spin

(Click on all 4 images)

The first thing we will do is to get Spin to move forward and backwards when we use the arrow keys.

So if we take the program from before and instead of move blocks with Fable Joint we will use the Spin block move (only accessible in simple mode).

Throw the move blocks and the light blocks in the waste bin and change the arrow keys to up and down. Copy the Spin move block and change it into move backwards and put it on the second if.

You will also need a way to stop the robot. So what you do is copy an if block and change the arrow key into spacebar and the dropdown on the move block to stop moving.

You might also want you Spin to be able to turn left and right: Copy two if blocks more and change both the arrow keys and the movement so it looks like this.

Now you have a driving robot that you can control with the arrow keys.

REMEMBER TO PUT IT ON THE FLOOR BEFORE YOU DRIVE IT AROUND!

Step #24

9. Fable Spin drive and turn

(Click on all 4 images)

We want the Spin robot to drive in a square.

Start a new project. Take a repeat forever block. Then take the Spin drive block.

Then take a wait block and change it into 4 seconds (to make sure that it actually reaches the 50 cm).

To make the robot turn 90 degrees, take the block Spin.

Change it into degrees and write 90. Put it into the loop and add another wait block in the end.

Start the program and watch your Spin drive in a square!

Step #25

10. Make a surveillance robot

(Click on all 3 images)

Fable can also be a surveillance robot.

Now you want to make the Joint module react when there is motion on the computer’s camera or a webcam. 

Again, start a new project.

Once again, you need a repeat forever block and an if block - but this time we will take the block called if - else.

Next, under Camera, select the block called motion found?

Connect this block to the if - else block where it says true.

Now, you need to insert some blocks that make something happen when the camera detects motion. In this little program, the action inserted into the do block makes the joint move to 90 degrees on the Y-axis. Under else, the Joint module has been set to return to 0 degrees.

Try running the program. 

Congratulations! You have now programmed yet another program!

Step #26

Take a picture

You can also make the program take a picture when it detects motion. Add the block called "take picture".

Note: that the camera will open in a pop-up window.

The pictures that the program takes are saved in a file in the documents folder under Fable called “Fable pictures.”

Step #27

11. Make a graph

(Click on all 4 images)

If you want Fable to make a graph over the movement of the Joint module (or it could also be from a sensor in Fable Spin or from a sensor in the phone). Start by inserting the block called time series, found in the Data menu.

Next select the block called angle of from the Senses menu.

Insert the angle of block into the time series block (where it says “5”) - change to the Y-motor.

Step #28

Then it will look like the picture

And the graph could look like the other picture.

Step #29

12. Log data with Fable

(2 images)

You might also want to save the Joint module’s movements in a log file.

You do this under Data by selecting the block called save in logfile.

Just as you did before, insert the angle of block into the save in logfile block. If you add to your program from before, it will look like the picture.

When the program is running, it will create a file in Documents/Fable called “Fable-log.csv” with a log over the Joint module’s movements in degrees.

Step #30

13. Fable Face

(Click on all 4 images)

There is an app for smartphones (iOS and Android). It’s called “Fable Face” and can be downloaded via the App Store or Google Play. 

Once you open the app you will be guided through a few steps.

Step #31

Select the Hub

Click on the Hub

Step #32

Connect

When you click on the button corresponding to the Hub it will change color and you can click connect.

Step #33

Expression

(3 images)

If you’re continuing with the program from before, this block should be inserted in two different places. One into the first if, where you change the facial expression to angry, and one into the else part, where it should just be neutral.

When you run the program, the facial expression will change when there is motion.

If you have the phone holder that comes with the Fable set, you can use it to attach the phone to the Joint module otherwise, you can build a holder out of LEGO and use that to attach the phone.

It can also be a good idea to insert a wait block before the else part, so that the joint module has time to finish before it has to change its facial expressions. You might even want to insert a three-second pause instead of just one.

Step #34

14. Control Fable with smartphone

(3 images)

To get the app to control the Joint module, you need the get acceleration block from senses inserted into a move to block. This time, start with a new program, using a repeat forever block.

Next, duplicate the acceleration block and drag it inside the move to block, replacing the grey angle blocks - both X and Y (the blue blocks are thrown out).

Test your program. The joint module should now (more or less) follow the movements of your smartphone.

Congratulations! You have now programmed a program that controls a robot via a smartphone’s accelerometer!

Step #35

15. Refine the program

(Click on all 4 images)

Perhaps you have noticed that the Joint module does not move very much when you move the smartphone? You can fix this by multiplying the movement of the smartphone by a certain factor, e.g. 10. First, click Math and select the 1 x 1 block.

Next, drag one of the get acceleration block used in the previous exercise and insert it into the beginning of the math block (where the first 1 is) and then change the second 1 to e.g. 10.

You will have to do the same with the Y-axis (or you can just duplicate it and change it to Y).

Run the program again and see whether the Joint module moves a bit more.

This program can be used for many different things. For example, you can use it for the maze game, which is one of the accessories for Fable. Find the activity at: shaperobotics.com/activities.

Step #36

16. Follow the leader

(Click on all 3 images)

If you use 2 joint modules you can easily copy one joint module’s movement to the other. This way you can control the one module with the other as a kind of “joy stick”.

Like in the former program you will need a repeat forever loop and a move to block.

Then you go into Senses and take the block called get angle of and put it into where it says angle.

Now your program should look similar to the 3rd picture. Remember to change to the Y motor and make sure that you have the right module’s ID to be the leader and the other one to be the follower (leader in the orange and follower in the turqoise).

This exercise could be used to solve the maze.

Step #37

17. Make a variable

(3 images)

If you want to create a longer program, it might make sense to use a variable. 

Instead of having to change the ID of the modules on every single block, you only have to change it in one place. 

But first we need to change Blockly into advanced mode. Click in the bottom left corner (where it says advanced).

___

Now the menu will change and there are 3 new menu points: functions, variables and lists.

Now click Variables and create a new variable, for example called “robot name”.

Step #38

Variable in action

(4 images)

You will then see a number of new blocks (the ones you have just created).

Select the one called set robot name to.

Next, go to the Senses menu and select the block called module and connect it to the other block (remember to select your module).

We can then use the block called robot name and insert that instead of the module’s name.

If you choose the # icon instead of the module name, you will get an extra field into which you can insert the robot name block.

Step #39

Variable again

(2 images)

If you have a remote control program like the one from exercise 7, it will look like this.

It would now be easy to switch the Joint module (for example if it runs out of battery). Here, you would only have to change the name in the module block.

Step #40

18. Save, open and examples

(4 pictures)

In Fable Blockly you can save a file like in other programs. Click on the folder icon.

Here you can start a new project, open a project or save the project that you are working on.

You can also go into the open example.

E.g. take the Fable Hello and you will see that it opens a program that is already made and you can see a picture of how to build the robot.

Step #41

Congratulations!

Congratulations! You are well on the way to be a Fable-programmer!

The Fable system is a great tool to e.g. use in a classroom. 

The students could work as engineers, trying to solve real world problems. If your approach as a teacher is in a playful learning way, the students could learn to be very creative and innovative.

Find inspiration on our website and on our youtube channel.

You can find more Fable activities here: shaperobotics.com/activities

Our structured lesson plans are available here: shaperobotics.com/portfolio/lessons/

Happy programming!

Lesson: Make a social robot

Status: public

In this project the student will work with building and programming the Fable robot, using Fable Blockly, to be a social robot that waves with its "arms" (Fable Joint) and change expression on the "eyes" (Fable Face)

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Engineering, English, Block coding, Blockly, Sensors

Supplies: 2 Fable Joint modules, Smart phone with Fable Face installed (the activity can also be done without or with an iPad), 1 phone holder, 2 4XY building modules, PC or Mac, with Fable Blockly and Fable HUB

Step #1

Description

In this activity you should build and program a social Fable robot that will react to movement and wave with it's "arms" and smile at people.

The program uses the camera on the PC. If a certain amount of motion is found the robot will smile with its eyes, make a laughing sound and will start to move its arms up and down. This continues for as long as there is movement in the view of the camera. 

If no movement, the robot will take its arms down by the side and make a tired face.

Several groups can take turns programming the same robot.

Step #2

Fable Face

Install the Fable Face app on a smartphone (from App Store or Google Play) and construct the robot as shown in the image.

Open Fable Face and connect it to the hub (see video)

Step #3

Program the robot...

Program the robot to wave its arms when there is movement in the camera. It uses the computer’s integrated camera but you can also use a webcam. 

Program the robot to make appropriate sounds when there is movement in the camera.

Program the robot to lower its arms to its sides when a long time has passed since it last saw a person. 

Program the robot to smile when it sees a face and to look tired when nothing happens for a while.

Upload a screen shot of your program. Does it look like the one on the picture?

Step #4

React to sound level

Experiment with the program and the robot - try to make it more social and fun to interact with.

For example, you can use the computer’s microphone to detect loud sounds that can “wake up” the robot.

Step #5

Add playing sound files to your social robot

You can add your own sound files. Save them in a folder called Documents/Fable/My Fable Sounds/

(It has to be either .wav or .mp3 files)

Then you can make your social Fable robot even more social! See the videos on how to do it

Lesson: The game of love

Status: public

This project is about getting 2 Fable Spin robots to interact with eachother using the IR sensor in the module.

Lesson Duration: 30 Minutes - 1 Hour

Grades: 04 - 12+

Tags: Engineering, English, Block coding, Blockly, Sensors

Supplies: 2 Fable Spin modules, 2 wheel sets, 2 castor wheels, 2 Smart phones with Fable Face installed (the activity can also be done without the phone), 2 phone holders, 2 connectors (for the phone holders), PC/Mac, iPad or Chromebook, with Fable Blockly installed and Fable HUB

Step #1

Description

2 Fable Spin robots are spinning around their own axes broadcasting a message each. One of them receives a message from the other and move a little closer. Then the other receives a message from the first one and it moves closer to the other robot - like lovers robots.

If you want to try the game you should build 2 Fable Spin robots and program them to send and receive a message via the IR sensor.

Step #2

The program could look like this picture

The program could look like this in Fable Blockly

Step #3

See this video about to make the code if neccesary

You see the video if you don't know how to make the code.

Step #4

Connect the phone

If you want to add the eyes (Fable Face) you need the multi connector and the phone holder. But you can only connect one of the phones (otherwise you need 2 computers and 2 hubs).

The phone that cannot be connected can be set into demo mode by clicking 3 times on the Shape Robotics icon. Hereafter you can change the emotion by clicking in the top left corner of the screen and you can change the color of the eyes in the bottom right corner of the screen. This way you can make the robot look humanoid without it being connected to the computer.

Program that phone to change expression when it receives a message from the other robot.

Step #5

How to connect the phone

See this video if you don't know how to connect the smartphone

Step #6

Variations

Can be further advanced by adding more spins broadcasting their own message, and then have each Fable Spin listen for maybe one, two or more of those messages. 

It is equivalent to “how picky” that robot is - it might be, that if it is coded to be too picky (only listens for one message) it will never find a partner!

Have fun.

Step #7

Upload a video

Make a video of your Spin robots making the love game (or another version) and upload it here!

Lesson: Fable Spin sees colors and plays music

Status: public

In this project you will use the color sensors in Fable Spin and get the robot to react in different way. E.g. playing music

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Music, Engineering, English, Block coding, How-Tos, Blockly, Sensors

Supplies: Fable Spin, wheel set, castor wheels, smart phone with Fable Face installed (the activity can also be done without the phone), phone holder, connector (for the phone holder), PC/Mac, iPad or Chromebook, with Fable Blockly installed and Fable HUB, colored paper or tape or something else in different colors.

Step #1

Description

This activity use the color sensor in Fable Spin. The robot reacts differently depending on which color it "sees".

Step #2

Fable Spin sees colors 1 - look for color

Program Fable Spin to look for different colors

Step #3

Fable Spin sees colors 2 - play a sound

Add a sound file in Fable Blockly.

Step #4

Install Audacity

See the video about how to install Audacity to record sounds on the computer and afterwards use it in Fable Blockly

Step #5

Fable Spin sees colors 3 - play music

Fable Blockly plays a music file.

Step #6

Download royalty free music

You can download royalty free music on www.bensound.com

Step #7

Mount the smart phone on the robot

Mount the smart phone on the Fable Spin

Step #8

How to connect the phone

See this video if you don't know how to connect the smartphone

Step #9

Fable Spin sees colors 4 - Fable Face

In this video Fable Face is introduced and set to change color of the eyes and expression when Fable Spin sees the different colors!

Step #10

Fable Spin sees colors 5 - LED change color

In this final video of this little section, both the LED panel on the Fable Spin and the hub also change colors into the same as the sensor sees

Lesson: Make a security robot

Status: public

Build and program a robot to surveil an area and take pictures of the people it detects. Intelligent security systems are already used in countless places. The combination with intelligent robots that are mobile opens up new possibilities in many fields.

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Physics, Algebra, Block coding, Robotics, Internet of Things, Blockly, Sensors, Activity

Supplies: 1 Fable Joint, 1 multi connector (can also be done without), webcam (or just use the camera in the computer), Something (maybe made of LEGO) that can hold a webcam - or use the "fork" with tape, 2 building modules (or just one), 1 lid, 1 Fable Hub

Step #1

Description

You will program a robot to surveil an area and take pictures of the people it detects. 

Intelligent security systems are already used in countless places. The combination with intelligent robots that are mobile opens up new possibilities in many fields. 

Equipment

  • Fable Joint 
  • Multi connector 
  • Webcam (can also be done with the camera in the computer)
  • Something (maybe made of LEGO) that can hold a webcam
  • 2 building modules (or just one)
  • 1 lid
  • Hub (dongle)

Note that several groups can take turns programming the same robot.

Step #2

Task 1

Construct the robot as shown in the image. Connect the USB camera to the computer. The other groups can test their program using the computer’s integrated camera. The camera can be selected under “settings” and “camera source” in the interface.

Step #3

Task 2

Program the robot to scan part of the room it is placed in: quietly, smoothly, and periodically. 

If the robot detects a movement that could be a person, it must take a single picture.

Program the robot to sound an alarm when a person is detected.

Upload a picture of your Fable Blockly program

Step #4

Task 3

Experiment with the program and the robot - try to make it more user-friendly by making it easier to use and better at detecting people.

For example, you can use the space bar on the computer as an on/off button for the robot. You can also combine detection of movement with detection of sound using the computer’s microphone in order to make the robot even better at discovering people.

Upload a picture of your solution

Step #5

Move to with speed

It might be a good idea to use the move to with speed block - it can be found in advanced mode (found in the bottom left corner)

Step #6

If do block

You might also need an if do block

Step #7

Camera

Note that the camera will open in a pop-up window and you will need to grant it permission in order for it to work.

The pictures that the program takes are saved in a folder in Documents called “Fable pictures.”

Lesson: Copy cats

Status: private

This activity will course one Fable robot to copy the movement of the other

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Engineering, Algebra, English, Block coding, Python, Robotics, How-Tos, Blockly, Sensors, Activity

Supplies: 2 Fable Joints, 2 lids (can also be done with 1 lid), 1 Hub, phone holder (can also be done without), smart phone with Fable Face installed, computer or tablet with Fable Blockly installed

Step #1

Copy cats

..

Step #2

Description

Mount each Fable Joint module on the lids.

Mount the phone holder and the phone on one of the robots and you are ready to go!

Start Fable Blockly on the computer, connect the Hub to the USB port. (Make sure the Joint Module and Hub have the same color) and connect the phone (remember to enable Bluetooth).

Content

  • 2 Fable Joints
  • 2 Lids (can also be done with 1 lid)
  • 1 HUB (dongle)
  • Phone Holder
  • Smartphone with Fable Face installed
  • Computer with Fable Blockly installed

(the activity can also be done without the smartphone)

If you build your program like on the picture the program will work as follows:

You will take the Joint module called Leader and move it around into different angles with your hands. Then after a little while the other Joint module (called Follower) will “play” your movement on that module.

Step #3

Make the code

First make sure to be in advanced mode in Fable Blockly. Then make 4 variables called Leader, Follower, X and Y. Then set the 2 Leader and Follower to 2 different Joint modules and set X and Y to create empty list.

If you don't want your students to have help with the making of the program you could make a copy of this activity and remove the part about 'making the code'.

Step #4

Take a in list create empty list… block

Under lists take a in list create empty list… block. Add the X variable where it say create empty list and change the # to last and instead of 5 take under senses the block called get angle of and chose the module of the leader

Step #5

Duplicate that and change to Y and add...

Copy this new block and change the variable to Y and the angle of to servo Y. Now put these 2 blocks into a repeat 20 times loop and add a wait in sec in the end of the loop and change it to 0.5

Step #6

Save data

Now in the menu called Data take the block called save and add the variable called X. Then copy the new block and change it to Y

Step #7

Take the loop called count with i

Take the loop called count with i

Step #8

Then in lists take the block called in list create

Then in lists take the block called in list create … get # 1

Step #9

Add the X variable in the create empty list

Add the X variable in the create empty list and duplicate the X and add it in the end (where it says 1) and change it to i (a variable called i is actually been generated)

Step #10

Move to block

Duplicate this new block, change the first variable to Y on the second new block, add them both into a move to block, that moves the follower and set the move to block into the count loop and add a wait in sec with 0.5 in the end of the loop.

You can add the expression of the Fable Face (like in the top) if you want. (Note: You cannot connect the smartphone to Chromebook and iPad this time (november 2019). You can still add the phone to the robot though - just by setting the Fable Face app in demo mode - by clicking on the Shape Robotics icon 3-4 times)

Step #11

You can also make the program in Python

You can also do the code In Python. (Note: On Chromebook and iPad the textual programming language is Javascript)

You acces Python mode by clicking on the "snake-icon" in the top.

The code will look like the picture.

Lesson: Throwing robot

Status: public

In this activity you will make a throwing robot with Fable using a flexible throwing arm.

Lesson Duration: 30 Minutes - 1 Hour

Grades: 04 - 12+

Tags: Physics, Engineering, Algebra, Block coding, Robotics, Blockly, Activity

Supplies: 1 Fable Joint module, 1 lid, 1 Hub (dongle), 1 flexible throwing arm, 1 computer or tablet with Fable Blockly installed.

Step #1

Description

Content:

  • Hub
  • Fable Joint module
  • Throwing arm (accessory) 
  • Table tennis ball
  • Computer or tablet with Fable Blockly installed

Mount the throwing arm as on the picture. Then try to program the robot to throw the ball as far as possible. Be aware that the ball does not fall off the throwing arm.

Step #2

You can have the 'move to' block with speed

You just have to switch Fable Blockly into advanced mode.

It might also be a good idea to use an if do block

Step #3

A hint

A good idea is to make the arm go a little backwards before throwing (so it uses the flexibility of the arm to make the ball go faster).

Lesson: Sorting robot

Status: public

Build and program a robot that sort objects based on color

Lesson Duration: 30 Minutes - 1 Hour

Grades: 04 - 12+

Tags: Physics, Engineering, Algebra, Block coding, Python, Robotics, Internet of Things, Blockly, Activity

Supplies: 1 Fable Joint module, 1 lid, 1 Hub (dongle), 3 building modules (can also be done with one), 1 webcam, 1 computer or tablet with Fable Blockly installed.

Step #1

Description

You will build and program a robot to sort objects based on color.

Automated systems like this sorting robot are common everywhere in the manufacturing industry. Monotonous tasks such as sorting of waste or discarding of burnt cookies can advantageously be performed by robots, which never get tired or demand higher wages. 

Equipment:

  • Hub
  • 1 Fable Joint module 
  • 3 building modules (can also be done with one)
  • 2 lids (can also be done with one)
  • 1 webcam (or the camera in the computer)
  • LEGO to build the “arm” (or you can use the fork) and bricks in different colors to be “sorted” or you could sort M & M’s 

Note that several groups can take turns programming the same robot.

Step #2

Task 1

Construct the robot as shown in the image. Connect the USB camera to the computer. The other groups can test their program using the computer’s integrated camera. The camera can be selected under “settings” and “camera source” in the interface.

Mount the webcam as shown on the picture.

Step #3

Task 2

Program the robot to sort LEGO bricks (or M&M’s) to the right if you press the right arrow key and to the left if you press the left arrow key. Thoroughly test the program.

Expand the program with the camera so that the robot can detect the workpiece’s color and sort it to the left or right accordingly.

A detailed how to make the code can be found here (should not be shared with the pupils):

Build a sorting robot

Step #4

Task 3

Experiment with the program and the robot - try to make it more general.

For example, you can program it to only sort workpieces of a certain size and color to the left and the rest to the right.

Step #5

Hints

You might need these blocks...

Step #6

Task 3

Now we should get the Joint module to sort objects based on color.

Experiment with nuances and see the difference

Step #7

See this video

..

Step #8

Variation

If you have a Fable Spin you could use the color sensor to sort objects instead of a webcam

Lesson: Use sensors in Fable Spin

Status: private

Playful work with the sensors in Fable Blockly

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Physics, Engineering, Algebra, Block coding, Robotics, Challenges, Blockly, Sensors, Lesson Plan, Activity

Supplies: 1-2 Fable Spin, 1- 2 Fable Joint modules, 1 multi connector, 1 maze, 1 Hub, PC or tablet with Fable Blockly, optionally 2 building modules

Step #1

Fable Spin sensors

Motor Angle – The spin module can measure the angle of both its motors. This is done in the range from -32,768 to +32,767 degrees, marking a complete revolution every 360 degrees in each direction.

Motor Speed ​​– The spin module can measure and/or change the speed at which its motors move.

Headlights – The spin module has headlights, just like a car, but smaller.

Ambient / Directed light detection – The spin module can detect light sources. The current version allows a user to point the spin sensor array to a lightbulb and detect the intensity. Similarly the spin can detect the intensity of ambient light.

Proximity detection – The spin module can perceive objects within a small range in front of its sensor array.

Color detection – The spin module can also identify predefined colors. This feature is best used together with the Spin module headlights. More light means better detection.

Infrared communication – The spin module can use its inbuilt IR components to send and receive messages in the infrared wave spectrum. For example, one spin module can send a specific letter to another module as a simple implementation of robot to robot communication.

Step #2

Overview

Download manual

Step #3

APDS 9960 – 3 in 1 sensor

  • Light sensor
  • Color Sensor
  • Proximity Sensor
  • Returns 0 to 100

Step #4

Exercise 1: Change the light on the Hub

In this exercise you shall change the color on the Hub using either the proximity or the ambient light. See if you can figure out which is red, green and blue?

Does it make a difference how much surrounding light there is - e.g. if there is a direct light pointing towards the sensor? Is it different whether you use the ambient light or the proximity?

Upload a picture of your program

Step #5

Make the code

Watch the video if you need help to make the code.

Step #6

Challenge: Play a sound if the Hub is purple

Can you figure out when the Hub turns purple?

Now make a program that play a sound when the Hub is purple - but only when it is purple. Upload a picture of your program.

In this challenge we have chosen not to show how the program is made. That way it remains a challenge for the students. If you need it as a teacher; an example of the solution can be downloaded here

Step #7

Quadrature Encoders

Used for

  • Speed
  • Angle
  • Torque

2 types of encoders: Absolute and relative. In Fable Joint there is absolute encoders. That means that you can get the exact position of the motor. On Fable Spin there is relative encoders. That means that you can measure how many rounds the motor has driven (and the speed). Some robots (industrial) have both.

Step #8

Exercise: Solve the maze using the Spin encoders

Make a "follow the leader"-program (a Fable Joint that moves on the X and Y motor by getting the angles from a sensor) but with the encoder in the Spin.

Solve e.g. the Maze

Step #9

Challenge: Solve the maze with proximity sensor

Try to make a program where you can control the robot with the proximity sensor. It is probably very difficult to solve the maze so instead you could make a social robot that wave by input from the proximity sensor.

Make a fun solution - challenge yourselves. Make a video of your solution (both your robot, your code and maybe how you made it) and upload it!

Again if this should be a challenge we have chosen not to show the code. But it can be downloaded here

Step #10

IR sensor

In Fable Blockly you can send a signal (a number which is represented by a the keyboard) from Fable Spin. Another Spin can be set to receive that signal via the IR sensor.

  • IR – Receiver
  • IR – Emitter
  • Communication using ascii characters (0-255)
  • Detection
  • Carrier frequency (We cannot control the TV)

Try with 2 Spins.

This exercise can also be done by 2 groups joining. Then one group program their robot to send a message and the other group program their robot to receive that message.

Then you can have both robots send and receive (at the same time) different message:

- Spin 1 sends message 'spacebar' and receive message 'a'

- Spin 2 sends message 'a' and receive message 'spacebar'

Upload a screenshot of your program

Step #11

Exercise: Broken signal triggers a sound

You need 2 Fable Spins. (or 2 groups joining)

Spin 1 send a message (e.g. spacebar)

Spin 2 look to receive spacebar. If Spin 2 doesn't receive the message it triggers a sound (e.g. like the doorbell when you walk into a store)

Step #12

Challenge: Send messages between computers/robots

If you work together with another group you can send a message that triggers something on the other computer. E.g. you can make a program that loads a picture in Fable Blockly on the other computer if the Fable receives the message.

This would require that you make some part of the program on one computer and the other part on the other computer.

Step #13

Challenge: Cheerleader

You need 2 Fable Spins and 2 Fable Joints, 2 building modules for this challenge.

Build a social robot.

Make af program that sends a set of messages from one Spin to the other. Then when the other Spin receives the messages make it do different things with the Joint modules and make a sound (like a cheerleader). You can add the sounds by recording them yourself and save the .wav or .mp3 file in /Documents/Fable/MyFableSounds/.

Make a fun video with your cheerleader robot and upload it!

Lesson: Use sensors in Fable Spin

Status: draft

Playful work with the sensors in Fable Blockly

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Physics, Engineering, Algebra, Block coding, Robotics, Challenges, Blockly, Sensors, Lesson Plan, Activity

Supplies: 1-2 Fable Spin, 1- 2 Fable Joint modules, 1 multi connector, 1 maze, 1 Hub, PC or tablet with Fable Blockly, optionally 2 building modules

Step #1

Fable Spin sensors

Motor Angle – The spin module can measure the angle of both its motors. This is done in the range from -32,768 to +32,767 degrees, marking a complete revolution every 360 degrees in each direction.

Motor Speed ​​– The spin module can measure and/or change the speed at which its motors move.

Headlights – The spin module has headlights, just like a car, but smaller.

Ambient / Directed light detection – The spin module can detect light sources. The current version allows a user to point the spin sensor array to a lightbulb and detect the intensity. Similarly the spin can detect the intensity of ambient light.

Proximity detection – The spin module can perceive objects within a small range in front of its sensor array.

Color detection – The spin module can also identify predefined colors. This feature is best used together with the Spin module headlights. More light means better detection.

Infrared communication – The spin module can use its inbuilt IR components to send and receive messages in the infrared wave spectrum. For example, one spin module can send a specific letter to another module as a simple implementation of robot to robot communication.

Step #2

Overview

Download manual

Step #3

APDS 9960 – 3 in 1 sensor

  • Light sensor
  • Color Sensor
  • Proximity Sensor
  • Returns 0 to 100

Step #4

Exercise 1: Change the light on the Hub

In this exercise you shall change the color on the Hub using either the proximity or the ambient light. See if you can figure out which is red, green and blue?

Does it make a difference how much surrounding light there is - e.g. if there is a direct light pointing towards the sensor? Is it different whether you use the ambient light or the proximity?

Upload a picture of your program

Step #5

Make the code

Watch the video if you need help to make the code.

Step #6

Challenge: Play a sound if the Hub is purple

Can you figure out when the Hub turns purple?

Now make a program that play a sound when the Hub is purple - but only when it is purple. Upload a picture of your program.

In this challenge we have chosen not to show how the program is made. That way it remains a challenge for the students. If you need it as a teacher; an example of the solution can be downloaded here

Step #7

Quadrature Encoders

Used for

  • Speed
  • Angle
  • Torque

2 types of encoders: Absolute and relative. In Fable Joint there is absolute encoders. That means that you can get the exact position of the motor. On Fable Spin there is relative encoders. That means that you can measure how many rounds the motor has driven (and the speed). Some robots (industrial) have both.

Step #8

Exercise: Solve the maze using the Spin encoders

Make a "follow the leader"-program (a Fable Joint that moves on the X and Y motor by getting the angles from a sensor) but with the encoder in the Spin.

Solve e.g. the Maze

Step #9

Challenge: Solve the maze with proximity sensor

Try to make a program where you can control the robot with the proximity sensor. It is probably very difficult to solve the maze so instead you could make a social robot that wave by input from the proximity sensor.

Make a fun solution - challenge yourselves. Make a video of your solution (both your robot, your code and maybe how you made it) and upload it!

Again if this should be a challenge we have chosen not to show the code. But it can be downloaded here

Step #10

IR sensor

In Fable Blockly you can send a signal (a number which is represented by a the keyboard) from Fable Spin. Another Spin can be set to receive that signal via the IR sensor.

  • IR – Receiver
  • IR – Emitter
  • Communication using ascii characters (0-255)
  • Detection
  • Carrier frequency (We cannot control the TV)

Try with 2 Spins.

This exercise can also be done by 2 groups joining. Then one group program their robot to send a message and the other group program their robot to receive that message.

Then you can have both robots send and receive (at the same time) different message:

- Spin 1 sends message 'spacebar' and receive message 'a'

- Spin 2 sends message 'a' and receive message 'spacebar'

Upload a screenshot of your program

Step #11

Exercise: Broken signal triggers a sound

You need 2 Fable Spins. (or 2 groups joining)

Spin 1 send a message (e.g. spacebar)

Spin 2 look to receive spacebar. If Spin 2 doesn't receive the message it triggers a sound (e.g. like the doorbell when you walk into a store)

Step #12

Challenge: Send messages between computers/robots

If you work together with another group you can send a message that triggers something on the other computer. E.g. you can make a program that loads a picture in Fable Blockly on the other computer if the Fable receives the message.

This would require that you make some part of the program on one computer and the other part on the other computer.

Step #13

Challenge: Cheerleader

You need 2 Fable Spins and 2 Fable Joints, 2 building modules for this challenge.

Build a social robot.

Make af program that sends a set of messages from one Spin to the other. Then when the other Spin receives the messages make it do different things with the Joint modules and make a sound (like a cheerleader). You can add the sounds by recording them yourself and save the .wav or .mp3 file in /Documents/Fable/MyFableSounds/.

Make a fun video with your cheerleader robot and upload it!

Lesson: Use sensors in Fable Spin

Status: public

Playful work with the sensors in Fable Blockly

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Physics, Engineering, Algebra, Block coding, Robotics, Challenges, Blockly, Sensors, Lesson Plan, Activity

Supplies: 1-2 Fable Spin, 1- 2 Fable Joint modules, 1 multi connector, 1 maze, 1 Hub, PC or tablet with Fable Blockly, optionally 2 building modules

Step #1

Fable Spin sensors

Motor Angle – The spin module can measure the angle of both its motors. This is done in the range from -32,768 to +32,767 degrees, marking a complete revolution every 360 degrees in each direction.

Motor Speed ​​– The spin module can measure and/or change the speed at which its motors move.

Headlights – The spin module has headlights, just like a car, but smaller.

Ambient / Directed light detection – The spin module can detect light sources. The current version allows a user to point the spin sensor array to a lightbulb and detect the intensity. Similarly the spin can detect the intensity of ambient light.

Proximity detection – The spin module can perceive objects within a small range in front of its sensor array.

Color detection – The spin module can also identify predefined colors. This feature is best used together with the Spin module headlights. More light means better detection.

Infrared communication – The spin module can use its inbuilt IR components to send and receive messages in the infrared wave spectrum. For example, one spin module can send a specific letter to another module as a simple implementation of robot to robot communication.

Step #2

Overview

Download manual

Step #3

APDS 9960 – 3 in 1 sensor

  • Light sensor
  • Color Sensor
  • Proximity Sensor
  • Returns 0 to 100

Step #4

Exercise 1: Change the light on the Hub

In this exercise you shall change the color on the Hub using either the proximity or the ambient light. See if you can figure out which is red, green and blue?

Does it make a difference how much surrounding light there is - e.g. if there is a direct light pointing towards the sensor? Is it different whether you use the ambient light or the proximity?

Upload a picture of your program

See the video if you need help how to make the code

Step #5

Challenge: Play a sound if the Hub is purple

Can you figure out when the Hub turns purple?

Now make a program that play a sound when the Hub is purple - but only when it is purple. Upload a picture of your program.

In this challenge we have chosen not to show how the program is made. That way it remains a challenge for the students. If you need it as a teacher; an example of the solution can be downloaded here

Step #6

Quadrature Encoders

Used for

  • Speed
  • Angle
  • Torque

2 types of encoders: Absolute and relative. In Fable Joint there is absolute encoders. That means that you can get the exact position of the motor. On Fable Spin there is relative encoders. That means that you can measure how many rounds the motor has driven (and the speed). Some robots (industrial) have both.

Step #7

Challenge: Solve the maze with proximity sensor

Try to make a program where you can control the robot with the proximity sensor. It is probably very difficult to solve the maze so instead you could make a social robot that wave by input from the proximity sensor.

Make a fun solution - challenge yourselves. Make a video of your solution (both your robot, your code and maybe how you made it) and upload it!

Again if this should be a challenge we have chosen not to show the code. But it can be downloaded here

Step #8

IR sensor

In Fable Blockly you can send a signal (a number which is represented by a the keyboard) from Fable Spin. Another Spin can be set to receive that signal via the IR sensor.

  • IR – Receiver
  • IR – Emitter
  • Communication using ascii characters (0-255)
  • Detection
  • Carrier frequency (We cannot control the TV)

Try with 2 Spins.

This exercise can also be done by 2 groups joining. Then one group program their robot to send a message and the other group program their robot to receive that message.

Then you can have both robots send and receive (at the same time) different message:

- Spin 1 sends message 'spacebar' and receive message 'a'

- Spin 2 sends message 'a' and receive message 'spacebar'

Upload a screenshot of your program

Step #9

Exercise: Broken signal triggers a sound

You need 2 Fable Spins. (or 2 groups joining)

Spin 1 send a message (e.g. spacebar)

Spin 2 look to receive spacebar. If Spin 2 doesn't receive the message it triggers a sound (e.g. like the doorbell when you walk into a store)

Step #10

Challenge: Send messages between computers/robots

If you work together with another group you can send a message that triggers something on the other computer. E.g. you can make a program that loads a picture in Fable Blockly on the other computer if the Fable receives the message.

This would require that you make some part of the program on one computer and the other part on the other computer.

Step #11

Challenge: Cheerleader

You need 2 Fable Spins and 2 Fable Joints, 2 building modules for this challenge.

Build a social robot.

Make af program that sends a set of messages from one Spin to the other. Then when the other Spin receives the messages make it do different things with the Joint modules and make a sound (like a cheerleader). You can add the sounds by recording them yourself and save the .wav or .mp3 file in /Documents/Fable/MyFableSounds/.

Make a fun video with your cheerleader robot and upload it!

Lesson: Remote control Fable Spin

Status: private

In this exercise you will make a remote control for the Fable Spin using the arrow keys

Lesson Duration: 30 Minutes - 1 Hour

Grades: 03 - 12+

Tags: Multiplication, Engineering, Block coding, Python, Robotics, How-Tos, Blockly, Sensors, Activity

Supplies: 1 Fable Spin, 2 wheels, castor wheel, PC/Mac, iPad or Chromebook, with Fable Blockly installed and Fable HUB

Step #1

Description

In this activity you will make a remote controlled robot. The example will use the arrow keys on the keyboard as the “remote”. You could also use other inputs, e.g. a smart phone or another robot.

The Fable Spin has two motors - A and B. They allow it to move around and carry other modules connected to it, which can also be programmed further.

Step #2

Take these blocks

The first thing we will do is to get Spin to move forward and backwards when we use the arrow keys.

So you will need a repeat forever loop (from loops), an if do block (from logic) and a key pressed? block (from senses)

Step #3

Add a move forward

Now put the if do into the repeat forever loop and add the key pressed? to the if true and then add a move forward block (from actions)

Step #4

Duplicate and add move backwards and stop

You can duplicate the if do block (with all the other blocks) and change into move backwards. And you should also have a stop moving. 

Step #5

Add left and right

You might also want you Spin to be able to turn left and right.

Now you have a driving robot that you can control with the arrow keys. 

REMEMBER TO PUT IT ON THE FLOOR BEFORE YOU DRIVE IT AROUND!

Have fun! 

Step #6

Variations

You can use other sensors than the arrow keys. Here is some ideas:

  • Make the robot react to different sound levels
  • Control it with a Fable Joint module or maybe two
  • Control by a sensor in the smartphone (via Fable Face)
    • try with different sensors: 
      • accelerometer (see example next)
      • magnetometer
      • tap position
      • tap pressure
      • GPS
  • Control it with sensors in the Fable Spin:
    • try with different sensor:
      • proximity sensor
      • color sensor
      • ambient light
      • directed light
      • feedback from motors 
  • Use other electronics to control Fable Spin
    • Use a Makey Makey 
    • Get input from a BBC Micro:bit to control Fable Spin

Step #7

Control Fable Spin with a smartphone

If you want to control Fable Spin with the smartphone you need to have the Fable Face app.

Then you should make 4 variables in Fable Blockly called e.g.:

x_acc, y_acc, A and B.

Now set the x_acc to get acceleration on x-axis and y_acc to get acceleration on y-axis

Step #8

Now a little math

Now take the 1 x 1 block and duplicate it 2 times so you have 3. Change one of them to - instead of x.

Then write 10 in one of the 1 x 1 blocks and add y_acc at the second 1. Then drag this block into the 1 - 1 block in the first "window".

Now go to the second 1 x 1 block and write 5 in the first window and drag the x_acc variable in the second. Then drag this new block in the second window after the minus.

Step #9

Set to

Add this new block to the variable set A to

Then duplicate this new block and change into set B to, with -10 x y_acc

Step #10

Finish the program

Now add all these 4 new blocks into a repeat forever loop and add a set speed block where you add the variable A and B on the 2 motors of Spin

Step #11

In Python

..the code would look like this

Lesson: Fable Face

Status: public

This is a description of how to connect Fable Face (the app for Fable)

Lesson Duration: 0-30 Minutes

Grades: 01 - 12+

Tags: Block coding, How-Tos, Blockly

Supplies: Smart phone with Fable Face installed, PC or Mac, with Fable Blockly and a Fable HUB

Step #1

Fable Face

Install the Fable Face app on a smartphone (from App Store or Google Play)

Open Fable Face and connect it to the hub (see video)

Lesson: Robotic research of speed and circular motion

Status: public

Objective When you’re done with this lesson plan you should be able to: - Programme The Fable Spin module to drive forward and backwards in circles at different speeds - Understand and be able to use the formula speed=distancetime - Do a linear regression on your measured data - Understand what is meant be calibration - Use the concept of proportionality to understand the correlation between the speed of the robot’s wheels and the radius of the circle the robot drives - Set up simple equations and isolate the different variables within them - If you do the additions in part 4 and 5, you should also be able to… - Understand the difference between Archimedean spirals and logarithmic spirals - Examine the formula ac=v2R for centripetal acceleration in an even circular motion with speed and radius R

Lesson Duration: Multi-Day

Grades: 10 - 12+

Tags: Engineering, Probability and Statistics, English, Shapes, Block coding, Python, Teacher Tools, Blockly, Sensors, Lesson Plan

Supplies: Fable Spin, wheels, castor wheel, computer - PC/Mac, iPad or Chromebook with Fable Blockly and a Fable HUB

Step #1

Start

– a lesson plan for Maths and Physics at High School level

Niels Erik Wegge, Birkerød Gymnasium

  1. If you haven’t already installed the Fable Program on your computer, do it now: https://www.shaperobotics.com/download/
  2. Connect the hub to the computer by USB. It will give you a wireless connection the robot modules. 
  3. Start the Fable Program
  4. Turn the robot arm on, by sliding the switch located above the USB. The Fable logo should light up constantly.
  5. Press the hub and the robot logo, until they light up in the same colour (and in a different colour than the neighbouring groups!). Then they can “talk” to each other.
  6. Read the name of the robot arm on the little sticker (e.g. YMA) and check in the top right corner in the black box that…
  7. To recap: the function we have made is called a calibration. Consider how the term calibration can be used on an old fashioned thermometer.
    • … it says the name of the hub (e.g. ”ZKD”) and not ”not connected” 
    • … the hub has found at least one module. By pressung the i-button you can see names and signal status on the modules found. Try it! 

Note: after a while of inactivity the module will automatically “shut off”. Then “modules” will read: “0 found”. Reconnect by pressing the light up logo on the robot.

Step #2

Part 1. Driving straight ahead

(same speed on both wheels) 

How quickly does the robot drive? Calibrating the speed

  1. First, we have to get the wheels on the Spin Module to spin. Go to the menu Loops and Actions and find the blocks needed to create this program:

Step #3

2. Press the play button

..

Step #4

3. Change the operational sign

..

Step #5

4. Drive forward and backwards

Put the module on the floor and make it go forward and backwards.

Step #6

5. Fill in the table and calculate the speed!

The numbers you input in the block above, is a unit of speed for the robot. The higher the number, the higher the speed. Numbers can be set between 0 and 100. But how fast does the robot actually drive when it says 20 or 30? We need to calibrate the speed scale – that means to find a translation from the programming numbers to actual speed.

In maths that means, to find a function f, that turns a programming number x, between the interval [0,100] into the number f(x), which is the robot’s speed measured in metre per second (m/s)

a. According to the Get started guide the function f is a proportionality. That means that the graph for f should be a ___________ line, that goes through the point _________. To find this out, you now have to find some points on the graph:

b. Mark a set driving distance on the floor. It could be something like 1,5 m or 2 m. Measure how long the robot module takes to travel this distance at different speed settings. Fill in the table and calculate the speed!

c. Make a plot of v as a function of i in your xCAS tool

d. Now you should have four points of a coordinate system. Describe the tendency in your data. Is it a linear tendency? Could there be proportionality?

e. If data looks like it falls in a straight line, you can have your CAS tool make a linear regression. Write down the function in the answering tool.

Step #7

Function

..

Step #8

6. Practicing using the calibration function f

f. Use the function from 5.e to determine which speed the robot will drive at if x=30. 

g. What is the maximum speed of the Spin module?

h. Use the function to determine the x-value, the module should be programmed to, if you want the speed to be v=0,25ms. (Note: it’s important to be good at this exercise, if you want to win the competition in the end ☺)

Step #9

7. Calibration

To recap: the function we have made is called a calibration.

Step #10

Driving a predetermined stretch

- at a predetermined time

1. The formula for average speed is v=st, where s is the distance driven, and t is the time it takes. If you want the robot to drive the distance s = 3 m in the time t = 12 s

Step #11

..predetermined time continued (2)

2. Programme the robot to drive at that speed - and check that it is correct!

3. Use the speed formula v = xt to find out, how long it will take for the robot to drive the distance s = 2 m with the speedv = 0,15ms. Have the robot do it - and measure the time! Was it right? Note: it’s important to be good at this exercise, if you want to win the competition in the end ☺

Step #12

part 2 continued (3)

2. Make one wheel drive at 80% speed of the other wheel. Find the centre of the circle and measure how far it is from the centre to circle perimeter of the outer wheel. This measurement is called R.

Step #13

part 2 continued (4)

Measure the period of revolution - that is the time T it takes to go around in the circle once.

Step #14

part 2 continued (5)

Measure the distance d  between the two wheels

Step #15

part 2 continued (6)

.

Step #16

part 2 continued (7)

Use the measured values of R, d and T to calculate vouter and vinner.

Step #17

part 2 continued (8)

Explain how we expect that vinner = 0,80⋅vouter

Question: check if it’s correct

Correct answer: Yes

Step #18

Part 2. Driving in circles

(different speeds on the two wheels)

2.1 How big does the circle become?

  1. Programme the two wheels to drive at different speeds.

Step #19

2.2 Get the robot to drive in a specific circle..

... with a specific speed

  1. Use the formulas from 2.1.5 to calculate vouter og vinner if the robot should drive in a circle with an outer radius of R = 1 m and the time to go around once should take T=30 s.
  2. Make the robot drive like this!

Question: Is it correct?

Correct answer: Yes

Step #20

Specific circle continued..

Now make the robot drive the same circle but at half the speed. (NB: this is not a difficult task, if you have understood what proportionality means…)

Step #21

Part 3. Competition!

First event: Drive straight ahead

Each group will be given a note, where it says a distance and a time.

The task is to make your robot drive that distance in exactly that time - both forwards and backwards.

Second event: Drive in circles

Each group will be given a note, where it says a radius and a time.

The task is to make the robot drive a circle with that exact radius and that exact time.

Step #22

Part 4. Additional Maths about spirals

  • Take a piece of paper and draw a spiral
  • Is there an even space between each turning of the spiral?
  • Try again: now make your spiral have exactly 2 cm between each of the turnings. Start from the centre. Use a ruler.
  • This type of spiral is called an Archimedean spiral (name after the greek philosopher and mathematician Archimedes (app. 250 b.c.) 
  • Make the robot drive in an Archimedean spiral!
  • There are also other types of spirals. Try to look up ”Logarithmic spirals” on Wikipedia. Do you know anything from nature which resembles a logarithmic spiral?
  • Can you make the robot drive in a logarithmic spiral?

Step #23

Part 5. Additional Physic...

...about centripetal acceleration

  • Attach a wireless accelerometer to the robot and measure the centripetal acceleration while it drives in a circle.
  • You can also use your phone and let Fable read of the phone’s accelerometer (using Fable Face - see how to connect)
  • Make a series of measurements and find out if ac = v2R.

Lesson: Spin increases the speed when it sees a color

Status: public

This project is about getting Fable Spin to increase its speed when the color sensor detects a specific color

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Engineering, English, Block coding, Python, Blockly, Sensors

Supplies: 2 Fable Spin modules, 2 wheel sets, 2 castor wheels, colored tape, PC/Mac, iPad or Chromebook, with Fable Blockly installed and a Fable HUB

Step #1

Description

Build a Fable Spin with the sensors pointing downwards

Step #2

What you need

  • Fable Spin
  • 2 wheels
  • Castor wheel
  • 1 Hub
  • Colored tape
  • PC with Fable Blockly

Step #3

  • Define an area on the floor as a field.
  • Make sure there is a starting place and a goal (mark tape with another color than those used for the race,
  • For example use yellow and red tape.
  • Attach some small pieces to the floor in various places.
  • Program Fable Spin to speed up, for example, 20% when it sees the color red and 20% down when it sees the color yellow.
  • Several colors can be switched on, so the robot, for example, changes direction if it sees the color blue.
  • Find out more variations.

Step #4

If you are stuck get inspiration in this code

Look at the code

Step #5

Make the code

See the video if you don't know how to make the code

Lesson: Dancing robot

Status: public

In this activity we will get Fable robots to dance

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Music, Engineering, Block coding, Art, Robotics, Visual Arts, Challenges, Blockly, Sensors, Activity

Supplies: 2 Fable Joints, 2 lids (or just mounted on the Spin), 1 Hub, 2 phone holders (can also be done without), 2 smart phones with Fable Face installed, PC with Fable Blockly installed. Variation: 2 Fable Spins, 2 Castor wheels, 2 '2X', 2 wheel sets

Step #1

Dancing Fable robots

Contents

  • 2 Fable Joint modules
  • 1 Hub (dongle)
  • 2 Phone holders
  • 2 Smartphones with Fable Face installed
  • 2 lids
  • Clothing / Material for decorating the dancing Fable robots
  • PC with Fable Blockly

Step #2

Description

Mount the 2 Joint modules on the lids, plug in the Hub, mount the phone holder and the smartphone on the Joint modules - decorate your robots with tie, hat or skirt (or whatever you want)

Program the robot to dance around. Find some music and make the robot dance :)

Film it with a camera or another smartphone.

Step #3

Make the code

Here is a description of how to make the code

Step #4

Variation

Contents for variation

  • 2 Fable Spin
  • 2 Castor wheels
  • 2 wheel sets
  • 2 '2X' building modules

Rebuild your robots with Fable Spin so that the Fable Joint module is mounted on top of the Spin - be aware that it is a good idea to add the 2X module in between the Spin and the castor wheel to stabilize.

Program the robots to dance again - this time also with wheels. See the video for inspiration. Upload a screenshot of your program!

Lesson: Fable & Micro:bit Combinatie

Status: public

In dit project leer je hoe je een micro: bit kunt koppelen met de Fable-robot met behulp van Python-code. Je programmeert de micro: bit om gebeurtenissen via een USB-kabel naar een Python-programma op de computer te sturen om de armen van een Fable-robot te besturen. Enige programmeerervaring is nodig om de stappen te volgen.

Lesson Duration: 30 Minutes - 1 Hour

Grades: 08 - 12+

Tags: Block coding, Python, Programming, Lesson Plan

Products: micro:bit Board

Supplies: Microbit and Fable robot

Step #1

Project opzet en beschrijving

Deze Nederlandse vertaling is gemaakt door De Rekenwinkel, de Nederlandse educatiepartner van Shape Robotics voor de Fable robots. De Rekenwinkel ondersteunt scholen bij de inzet van robots en nog veel meer 21e-eeuwse vaardigheden. Kijk op www.derekenwinkel.nl voor meer informatie en bestel je Fable robots meteen via www.derekenwinkel.nl/fable

Om dit project te maken, moet je eerst:

  • De Fable Blockly-software installeren
  • De micro: bit met de computer via een USB-kabel verbinden
  • Een Fable Hub met dezelfde computer verbinden
  • De Fable-robot zoals getoond bouwen

Het project is om een demo te maken zoals getoond in de video. Wanneer de gebruiker op de knoppen op de micro drukt: bit drukt, bewegen de Fable-armen.

Het idee is dat deze demo op veel manieren kan worden uitgebreid om Fable en micro: bit te laten communiceren.

Step #2

Programmeer je micro:bit

De eerste stap is het programmeren van de micro: bit.

We willen dat de micro: bit een gebeurtenis (in de vorm van een eenvoudige string) naar de USB / seriële poort verzendt wanneer er op een knop op de micro: bit wordt gedrukt.

Een Makecode-programma dat een tekenreeks "A" of "B" naar de USB / seriële poort verzendt, wordt weergegeven in de afbeelding.

De code is hier te vinden: Makecode

Question: Heb je de makecode naar je micro: bit gedownload?

Correct answer: Ja

Step #3

Ontvang evenementen van micro: bit

Om de Fable-robot te laten reageren op de gebeurtenissen die door de micro: bit worden verzonden, moet het Python-programma eerst de seriële poort openen met de juiste parameters.

Wanneer de poort open is, moet het programma de tekens lezen die door de micro: bit zijn verzonden en deze converteren naar een formaat dat kan worden geïnterpreteerd.

Hieronder staat de Python-code die een seriële poort opent (in dit geval "COM5"). Neem wat is ontvangen op de poort, formatteer het als een string en print het uit in het uitvoervenster totdat het programma wordt beëindigd door op de spatiebalk te drukken.

import serial

ser = serial.Serial('COM5', 115200, timeout=3)
while not api.isPressed('spacebar'):
    response = ser.readline().strip()
    values = response.decode('utf-8', errors='ignore')
    print(values)
ser.close()

Merk op dat de seriële poort niet goed wordt gesloten als ser.close () nooit wordt aangeroepen. Bijvoorbeeld als het programma wordt beëindigd door op de stopknop te drukken.

Als deze niet goed wordt gesloten, moet je mogelijk de micro: bit USB-kabel loskoppelen en opnieuw aansluiten om hem weer te laten werken.

Merk op dat je "COM5" moet veranderen in de poort van de micro: bit is ingeschakeld. Volg deze link voor meer informatie over het gebruik van micro: bit voor seriële communicatie, inclusief hoe je de naam van je seriële poort op Windows en Mac kunt vinden.

Step #4

Programmeer de robot

Nu we de verbinding tussen de Python-code en de micro: bits hebben, kun je het programma op elke gewenste manier uitbreiden.

In de onderstaande voorbeeldcode hebben we eenvoudig de bewegingen van de armen geactiveerd wanneer een "A" en "B" gebeurtenis is ontvangen.

import serial

ser = serial.Serial('COM5', 115200, timeout=3)
while not api.isPressed('spacebar'):
    response = ser.readline().strip()
    values = response.decode('utf-8',errors='ignore')
    if values == 'A':
        api.print("Lift left arm")
        api.setPos(45, 90, '6AB')
        api.wait(1)
        api.setPos(45, -90, '6AB')
    if values == 'B':
        api.print("Lift right arm")
        api.setPos(-45, 90, 'MUB')
        api.wait(1)
        api.setPos(-45, -90, 'MUB')

ser.close()

Probeer het bovenstaande voorbeeld te nemen en uit te breiden met meer evenementen.

Bijvoorbeeld: Als de micro: bit-lichtsensor een bepaalde drempel bereikt, kan dit een nieuwe gebeurtenis "C" activeren die een bepaalde Python-code activeert om de ogen te laten glimlachen, enzovoort.

Lesson: Fable & Micro:bit Demo

Status: public

I dette projekt lærer du, hvordan man implementerer en Micro:bit med Fable-robotten ved hjælp af Python-kode. Du programmerer Micro:bit til at sende begivenheder over et USB-kabel til et Python-program på computeren, for at kontrollere armene på en Fable-robot. Nogle programmeringserfaringer er nødvendige for at følge trinnene.

Lesson Duration: 30 Minutes - 1 Hour

Grades: 08 - 12+

Tags: Block coding, Python, Programming

Products: micro:bit Board

Supplies: Microbit og Fable robot

Step #1

Setup og beskrivelse

For at oprette dette projekt skal du først:

  • Installere Fable Blockly Software.
  • Forbinde din micro:bit til din computer med et USB-kabel.
  • Forbind din Fable Hub til samme computer.
  • Byg Fable-robotten som vist

Denne demo vil få Micro:bit'en til at kunne kontrollere Fables "arme" ved hjælp af de to knapper (A og B) på Micro:bit'en.

Ideen er at denne demo kan blive udvidet på mange forskellige måder, for at få Fable og Micro:bit'en til at interagere.

Step #2

Programmer din Micro:bit

Første step er at programmere Micro:bit'en.

Vi skal have Micro:bit til at sende en event (i form af en simpel streng) på USB/seriel-porten, når en af knapperne er trykket ned.

Se "Makecode" -programmet på billedet, hvor der sendes en streng; "A" og "B" på USB/seriel-porten.

Koden kan hentes her: Makecode

Question: Har du downloadet din 'makecode' til din Micro:bit?

Correct answer: Ja

Step #3

Modtag events fra Micro:bit

For at Fable-robotten skal reagere på de events, der sendes fra Micro:bit'en, skal Python-programmet først åbne serielporten med passende parametre.

Når porten er åben, skal programmet kunne læse de karakterer der sendes af Micro:bit'en og konvertere dem til et format der kan fortolkes.

Nedenfor er en Pythonkode, der vil: Åbne en seriel port ("COM5" i dette tilfælde), tage det der er modtaget på porten, formatere det til en streng og printe det ud i output vinduet, indtil programmet er stoppet, ved et tryk på mellemrumstasten.

import serial

ser = serial.Serial('COM5', 115200, timeout=3)
while not api.isPressed('spacebar'):
    response = ser.readline().strip()
    values = response.decode('utf-8', errors='ignore')
    print(values)
ser.close()

Bemærk at serielporten vil ikke blive lukket korrekt, hvis ser.close() ikke er kaldt. For eksempel hvis du stopper programmet ved at trykket på stopknappen.

Hvis dette sker, vil du måske blive nødt til at afbryde og genetablere forbindelsen til Micro:bit'en, for at få det til at virke igen.

Bemærk, at du måske er nødt til at ændre "COM5" til den port din Micro:bit er på. Følg dette link for mere information om at bruge Micro:bit til seriel kommunikation, inklusiv at finde navnet på din serielport på Windows og Mac.

Step #4

Programmer robotten

Nu da vi har forbindelsen mellem Pythonkoden og Micro:bit'en kan du udvide program i alle de retninger du har lyst til.

I eksemplet nedenfor, bliver bevægelsen af Fable jointmodulerne ("armene") udløst af knapperne "A" og "B".

import serial

ser = serial.Serial('COM5', 115200, timeout=3)
while not api.isPressed('spacebar'):
    response = ser.readline().strip()
    values = response.decode('utf-8',errors='ignore')
    if values == 'A':
        api.print("Lift left arm")
        api.setPos(45, 90, '6AB')
        api.wait(1)
        api.setPos(45, -90, '6AB')
    if values == 'B':
        api.print("Lift right arm")
        api.setPos(-45, 90, 'MUB')
        api.wait(1)
        api.setPos(-45, -90, 'MUB')

ser.close()

Prøv at lave ovenstående eksempel og udvid med flere events.

Fx: Hvis Micro:bit'ens lyssensor modtager et bestemt grænseværdi, skal den udløse en ny event "C", som så igen udløser noget Pythonkode, der får fx Fable Face øjne til at smile.

Lesson: Christmas robots

Status: public

In this activity we will make Fable Christmas robots!

Lesson Duration: 1-2 Hours

Grades: 04 - 12+

Tags: Music, Engineering, English, Art, Robotics, Challenges, Blockly, Christmas, Sensors, Activity

Supplies: Fable Joints, Fable Spins - with wheels and castor wheel Hubs, phone holders, smart phones with Fable Face installed, PC with Fable Blockly installed, Christmas paper, tape, Christmas candy/cake.

Step #1

Start teaching robotics at Christmas workshops

Christmas is just around the corner and we’re pretty sure the schools have already started to dedicate special classes for preparing Christmas activities. Let’s skip the dull Christmas workshops this year and instead let’s involve Fable and reshape the way we think about creativity and learning!

You’re still not sure why you should start working with robots in education?

Take a look at these 5 reasons for which you should start teaching robotics in school:

1. Creative thinking

Studies have shown that robotics is one of the fields of knowledge that incorporate creativity and fun simultaneously. Students love to partake in activities in which they have full control and immediate feedback, something that is possible with robotics.

2. Engagement

Hands-on learning activities enhance concentration and attention levels, because students are involved in these activities directly and they learn physical skills that also increase their motivation and interest in a certain topic.

3. Preparedness

With advanced technologies such as artificial intelligence, driverless cars, and IoT technologies taking shape more vividly every day, the present generation of students needs better tech skills than before.

4. Perseverance

Building and programming robots is challenging. However, working with them helps students develop a never-give-up attitude. It helps improve determination, which is crucial for any technological or scientific undertaking.

5. Teamwork

Robotics help increase a range of skills, and thus promote a learning environment for people with different approaches. If properly harnessed, it also promotes a culture of teamwork. It can even be used to help students who might struggle to learn in traditional classroom environments. 

_____

If you’re eager to start with robotics now, we have some Christmas robots ready to serve as an inspiration for your classroom. After checking these out, sky's the limit for what students and teachers can achieve while working with robotics.

Step #2

Story telling Fable

Build a humanoid Fable and program it to tell one of your favorite Christmas stories. 

Download the Storytelling Fable pack that includes images you need to place in “My Fable Pictures” folder and .fab code you can load as an example!

Downloadlink to all the Christmas robots: https://tdrv.eu/UIASlM

Step #3

Santa Fable

Build a humanoid Fable, get creative with it’s Christmas costume and press play after uploading this .fab file with our example! You can program it to welcome students and teachers, do a little Christmas dance while playing different songs or just driving around and greeting everyone! 

Step #4

Rudolph Fable

Telling the story of Rudolf the Rednosed Reindeer in an updated version, or maybe just any other Christmas tale. Check out how you can use all the benefits of coding into one funny activity!

Step #5

Pick a candy Fable

How about one last challenge for the final example of a Christmas Fable?

Build a tiny box made out of paper, secure it with tape on top of the castor wheel and program Fable to go around the classroom and offer candies to the students.

Keep in mind that if you want to place the plow in front of Fable, you’ll have to think about controlling the Spin Module backwards.

Step #6

Be inspired

Take a look at our .fab code for inspiration and build your own Christmas Fable!

https://tdrv.eu/UIASlM

Merry Christmas everyone and don’t forget to share with us your Christmas robots! 

Lesson: Julerobotter

Status: public

I denne aktivitet skal der bygges Fable julerobotter!

Lesson Duration: 1-2 Hours

Grades: 03 - 12+

Tags: Music, Engineering, Block coding, Art, Robotics, Challenges, Blockly, Christmas, Sensors, Activity

Supplies: Fable Joint moduler, Fable Spin moduler, med hjul og castor wheel, Hubs, telefonholdere, smartphones med Fable Face installeret, PC med Fable Blockly installeret, julepapir, tape, juleslik/kage.

Step #1

Julerobotter

Julen er lige om hjørnet og mon ikke I skal have klippe-klistre dage på jeres skole? 

Kunne det ikke være sjovt, hvis ungerne kunne være kreative med robotter og samtidig lære noget om problemløsning og programmering? 

Lad os lade eleverne blive motiveret og inspireret af at arbejde under temaet “julerobotter”!

Er du stadig ikke sikker på hvorfor du skal begynde at arbejde med robotter i din undervisning?

Her er 5 gode grunde til at bruge robotter i skolen:

  1. Kreativ tænkning

Studier har vist, at robotter er et af de vidensområder, der involverer kreativitet og leg samtidig.

Elever/studerende elsker at tage del i aktiviteter, hvor de har fuld kontrol og får umiddelbar feedback. Det er muligt med robotter.

  1. Engagement

Hands-on læringsaktiviteter øger koncentrationen og bevidsthedsniveauet, fordi eleverne er involveret i disse aktiviteter direkte og lærer fysiske kompetencer, som også øger deres motivation og interesse i et specifikt emne.

  1. Parathed

Avanceret teknologi, som fx kunstig intelligens, selvkørende biler og IoT, tager mere og mere styringen i vores samfund, dag for dag. Det kræver nye og bedre kompetencer på det teknologiske område, for de nuværende og kommende generationer.

  1. Vedholdenhed

Konstruktion og programmering af robotter er udfordrende. Men det at arbejde med robotter, hjælper eleverne til at udvikle en “aldrig-give-op-attitude”. Det hjælper med at forbedre evnen til at træffe beslutninger, hvilket er enestående vigtigt i enhver teknologisk virksomhed.

  1. Teamwork

Robotter hjælper med at forbedre en masse af kompetencer. De kan være med til at skabe et læringsrum for folk med forskellige tilgange og kompetencer. Hvis den bliver stilladseret på den rette måde, kan den være med til at skabe en “teamwork-kultur”, som er helt unik. Robotter og programmering kan endog være med til at hjælpe elever, der har svært ved at deltage i traditionel undervisning.

Hvis du har lyst til at komme i gang nu, har vi disse julerobot-aktiviteter, som kan være til inspiration. Efter at have prøvet dem af i din klasse, er der ingen grænser for, hvad elever og lærere kan opnå ved at arbejde med robotter.

Step #2

Story telling med Fable

Byg en humanoid Fable og programmer den til at fortælle en af dine favorit julehistorier.

Download Storytelling Fable-pakken, som inkluderer de billeder du har brug for at lægge i “/Fable/My Fable Pictures”-mappen og .fab koden som du kan loade som eksempel.

Downloadlink til alle julerobotterne: https://tdrv.eu/UIASlM

Step #3

Santa Fable

Byg og programmer en humanoid Fable. Vær kreativ med dens julekostume. Tryk afspil efter at have downloadet .fab-filen med eksemplet (på engelsk). Vær igen opmærksom på, at du også har brug for at placere lydfilen i mappen: /Fable/My Fable Sounds/.

Du kan programmere den til at sige velkommen til elever eller lærere, lave en lille juledans imens den spiller julesange, eller bare køre rundt og sige glædelig jul til alle!

Step #4

Rudolf Fable

Fortæl Rudolf med den røde tud i en opdateret version, eller måske en anden julefortælling. Se hvordan du kan benytte alle fordelene ved kodning, ind i én aktivitet!

Step #5

Tag en julekage-Fable

Hvad med en udfordring mere til den sidste julerobot?

Byg en lille kasse af papir (evt. rødt), sæt den fast på robotten (“bagpå”) med tape. Programmer Fable til at køre rundt i klassen og tilbyde juleslik til alle. Vær opmærksom på, at robotten skal køre “baglæns”.

Step #6

Be inspired

Bliv inspireret af vores .fab-koder og byg dine egne Fablerobotter!

Tag et kig på vores .fab-koder, som inspiration og byg jeres egne Fable julerobotter!

https://tdrv.eu/UIASlM

Glædelig jul og glem ikke at dele jeres Fable julerobotter!

Lesson: Parabolas

Status: public

You will be able to describe the significance of variables in the leading coefficient of a parabola.

Lesson Duration: 4-6 Hours

National Curriculum 2014 (UK)

Key Stage 3: Computing.KS3.3, Computing.KS3.2, Computing.KS3.1

Grades: 07 - 12+

Tags: Engineering, Algebra, Block coding, Teacher Tools, Blockly, Lesson Plan

Supplies: Fable Joint module, Hub, Multi connector, Ping pong ball (or similar), LEGO to build a “throwing hand”, PC with Fable Blockly installed, Smartphone or tablet with a slow-motion camera (can be downloaded as an app), Measuring instruments; Pen and paper, Possibly GeoGebra or a similar program. Variation: Flexible throwing arm

Step #1

Robot and programming

Construct a robot that is able to throw a ball.

  • Build a “hand” out of LEGO that can be mounted onto the Fable Joint module. The hand must be able to hold a ping pong ball. 

  • Program the Fable Joint to throw the ball. (You can change the speed of the move blocks if you go into advanced mode)
  • Check that your setup is capable of throwing the ball in a smooth arc before you continue with the experiment itself. 


Variation

  • Use the flexible throwing arm instead of LEGO. See this video for inspiration

It is a prerequisite for the project that students have worked with quadratic polynomials, including the leading coefficient, the slope of the tangent line, and vertex. It is also an advantage if students are able to graph functions in GeoGebra.

Learning activities

Students work in groups of 2-3. Each group receives a copy of the assignment sheet. In order to ensure that students understand the assignment, the sheet should be reviewed in class, so students have time to ask questions. The class should discuss non-linear functions with particular focus on parabolas. It is important that the students have knowledge of the leading coefficient of parabolas, the slope of the tangent line, and vertex. Students construct the robot so that it is suitable for making throws. 

Note: It is challenging to make the robot throw very far using LEGO. Instead, you may use the flexible throwing arm.

It is important that they test their setup thoroughly and document it so they can continue their work in subsequent classes with the same setup. Students also develop a setup that allows them to measure the height and length of the ball’s trajectory when it is filmed in slow motion on a phone. One option is to draw a grid in a given size on a surface that is used as a backdrop when filming the robot as it performs the throw. The aim here is that students find a viable method for collecting data for processing. 

When students have developed a functioning setup and have plotted in a parabola, they must find a relationship between their setup and the variables in the leading coefficient of a function. 

Students can either change the programming or the robot to achieve a higher vertex or longer throw. Changes to the hardware could be a longer or shorter throwing arm. Changes to the software could be a quicker execution of the throw.

Step #2

Experiment - Task 1

Once your robot is able to carry out the throw, you will measure it. You can do this with the help of a slow-motion camera (on an iPhone/Android phone) that allows you to study the throw more closely. Make sure to have visible markings that indicate length and height in the background when you film. Carry out 3-5 different throws and use the results of your measurements to determine the leading coefficient of the parabola. 

The leading coefficient of a quadratic equation is seen in the picture

Draw your parabola in GeoGebra. Upload a picture of your drawing.

Step #3

Experiment - task 2

Examine which parameters in your setup can affect the variables in the parabola’s leading coefficient. This could be changes to the hardware (the robot) or changes to the software. 

  • Make the robot throw the ball as far as possible. Draw the graph and explain which parameters you have adjusted. 

  • Make the robot throw the ball as high as possible. Draw the graph and explain which parameters you have adjusted. 
Evaluation 

  • Prepare a presentation of your results for the rest of the class. 

You can do an evaluation in the class or individually.

Lesson: Remote control of a solar panel system with Fable

Status: public

You will develop a solar panel system that is able to follow the sun’s path across the sky over the course of a day. In connection with this, you will design and conduct experiments with electrical and digital control of the Fable Joint module.

Lesson Duration: 4-6 Hours

National Curriculum 2014 (UK)

Key Stage 3: Computing.KS3.4, Computing.KS3.3, Computing.KS3.2, Computing.KS3.1

Grades: 07 - 09

Tags: Physics, Chemistry, Engineering, Block coding, Robotics, Electronics, LED, Blockly, Sensors, Lesson Plan

Supplies: A Fable Joint module, a lid, Fable Hub, Solar panels, Voltmeter, Ammeter, Light bulb or a resistor, Optional: LEGO bricks to build a holder for the solar panel, Powerful light bulb in case there is no sunlight, Pencil and paper

Step #1

Task 1

Devise an experiment that allows you to examine the optimal angle of the solar panel in relation to the light source. 

Materials: 

  • Powerful light source or Halogen bulb 
o Sunlight when the sun is at its highest (around midday)
  • Voltmeter 

  • Ammeter 

  • A suitable resistor or light bulb 
You can base your test setup on the illustration. To compare your various setups, measure the voltage and current and then calculate the power generated by the system. 
 


Note: An ammeter must always be connected in series with a circuit, and a voltmeter must always be connected in parallel with a circuit. Below you can see a circuit that includes the various measuring instruments. (See pic. 2)

The formula to calculate power is as follows: 

𝑃=𝑈⋅𝐼

P = power, U = voltage, I = current 

Make a table in which you note the angle of the solar panel, voltage, current, and power, so that you can compare the results. Use the most efficient setup (angle) to develop an automated solar panel system.

Upload a picture of your observations

Learning activities 

Prior to the project, the class should work with alternative energy sources so that students are familiar with the various technologies that exist. It is also important that students know how to use an ammeter and voltmeter, and that they can construct simple electrical circuits. The class is divided into groups of 2-4 students. Before the groups start programming and developing their system, they must research the conditions for optimum output of a solar panel. The efficiency of a solar panel is greatest when the sun’s rays hit the panel from a perpendicular angle. Students must relate this fact to the sun’s location in the sky and the orientation of the solar panel. The system must also be able to distinguish between summer and winter, given that the height of the sun in the sky varies throughout the year. To examine the output of their system, students measure the current and voltage of their setup. It is important that a light bulb or suitable resistor is included in the circuit so that students can measure the current in the solar panel system. The size of the bulb depends on the power produced by the solar panels and the number of solar panels used in the experiment. This must therefore be investigated before the material is taken into use. 

Fable is then programmed to ensure that the solar panel gets maximum sunlight. Here, the students must be able to describe the optimal path for the solar panel to follow. Here, it is also possible to differentiate the task. The system can be simplified by only considering the time of day at which the sun is at its highest point (zenith). The group then builds an electronic control system that takes into account the sun’s position in the sky in winter and summer. The project illustration shows the sun’s position (at zenith) over Copenhagen in summer and winter. 

To increase the project’s difficulty, the functionality of the system can be expanded so that the system is able to adjust the angle of the solar panel at morning, midday, and evening in summer and winter respectively. 

Students can also choose a different location in the world to develop the system for. The online almanac found at https://www.suncalc.org/ can be used to find the sun’s height throughout the year. Note that students should make sure to stay within the northern hemisphere, because otherwise all directions will need to be reversed. 

Finally, the students prepare a presentation of their system. It is therefore important that groups document their work throughout. 

Evaluation 

Class evaluation where students present their results. 

Step #2

Task 2

Build a solar panel system that functions optimally in summer and winter. To do this, you need to use the knowledge acquired in task 1 regarding the optimal setup of a solar panel. 

Note that the height of the sun differs in winter and summer. The illustration is based on the sun’s height over Copenhagen in summer and winter. 

If you want to develop a system for use in a different city, you can use the link below to find the height of the sun in summer and winter in your selected location.

https://www.suncalc.org/

Note that angles are measured from a position facing due south. 

  • Construct a platform so that the solar panel can be attached to the Fable Joint module.
  • Then consider how to develop a code that takes into account the difference between winter and summer. 
  • Upload a picture of your code

Step #3

Evaluation

Prepare a presentation in which you describe how you developed your solar panel system and the results you obtained. 

Lesson: Pythagoras

Status: public

In this lesson you will learn how to use the Fable Robot to draw right-angled triangles

Lesson Duration: 2-4 Hours

National Curriculum 2014 (UK)

Key Stage 4: Computing.KS4.2, Computing.KS3.3, Computing.KS3.2, Computing.KS3.1

Grades: 07 - 09

Tags: Engineering, Algebra, Shapes, Block coding, Blockly, Sensors, Lesson Plan

Supplies: The Fable robot and a computer with Fable Blockly installed, A laser pointer, LEGO to attach the laser pointer, A measuring tape, A protractor (can be in digital form for instance an app), Chalk (for marking purposes), Pen and paper, Calculator, GeoGebra or a similar program

Step #1

Build the robot

In groups you have to build a robot, that can create triangles by using a laser pointer. You should use the Fable Joint module and the phone connector (without the soft part) as well as the laser pointer. Mount the laser pointer as on the second picture and set the phone holder on the Fable Joint.

While constructing the robot, keep in mind, that it has to be able to draw right-angled triangles. When the robot is built, you have to start programming. This is done by using block structured programming.

Step #2

Make a right-angled triangle

With the laser, make a right-angled triangle. First, make a dot on the wall with the laser (mark with chalk), the laser turns, and makes another dot on the wall. Repeat again. Find the angles, the right lengths and the area of the triangle. Find the angles and the lengths of the triangle by using the Pythagorean theorem and doing the math. Draw the triangle in a geometry program like for instance GeoGebra.

Question: Are the triangles congruent?

Correct answer: Yes

Step #3

Draw a right-angled isosceles triangle in GeoGebra

Draw a right-angled isosceles triangle in GeoGebra, then construct a similar triangle in a suitable scale using Fable.

Question: Do the measurements and angles match with the drawing?

Correct answer: Yes

Step #4

Evaluation

You have to present and explain your calculations and result in the end.