Day 3 - Section 3 - Respond to light

Site: ΕΛ/ΛΑΚ Moodle
Course: Robotics - 3D Printing - Internet of Things
Book: Day 3 - Section 3 - Respond to light
Printed by: Guest user
Date: Sunday, 5 May 2024, 4:30 PM

Description

After the completion of this section the students will be able to:

  • create a Light alarm with their robots
  • turn the lights of the robot ON and OFF according to the amount of surrounding light
  • program their robot to follow the light

Chapter 8.1 - Light alarm

Click the ‘Add Variable’ button in the top left corner and a pop up box will appear.



Type in the name of your variable as ‘Light_Level’, select the variable range as +/-32767 (word) and set the initial value to zero. Now click OK and your variable will be added to the variables table in the bottom right corner.





Now, write the following program to have the Edison robot sound an alarm when the lights in the room are turned on.



The sense light icon reads the light level from the left light sensor and places the reading into the variable called Light_Level.

The first loop uses mathematics to determine what to do.

Loop until the value in the variable called ‘Light_Level’ is ‘greater than’ (>) 100.    

When the value in Light_Level is greater than 100 the loop is exited and goes to the next loop that sounds the alarm.

Place the Edison robot in the dark and press the play button. When the lights are turned on, the robot raises the alarm.


Chapter 8.2 - Automatic lights

Write the following program to have the Edison robot turn the two LED lights on when it gets dark.



Drive the robot through a tunnel or under a couch and see the front lights come on.

In this program we are using the ‘less than’ (<) symbol to determine the path of the program. If the variable Light_Level is ‘less than’ 100, then take the true path and turn the LEDs on.

Experiment with the value (100) in the If icon.


Chapter 8.3 - Follow the light

First, you have to create two word (16-bit) variables: Left_Light and Right_light

Write the following program to have the Edison robot follow light from a torch/flashlight.


Shine a torch/flashlight at Edison and the robot will drive towards the light.

This program performs a calculation between two variables. In the calculate word icon the variable Right_Light is subtracted from the variable Left_Light. The result (answer) is placed back into the variable Right_Light. Let’s see what the results would look like:


From the above you can see that when the torch is to the right the result is below zero (negative number). When the torch is to the left the result is above zero (positive number).

The If icon asks: Is the result less than zero? If true the robot drives left (towards the light), if false the robot drives right (towards the light).