Lego Mindstorms EV3

Project 1: The Build

A few weeks ago Jack and I started building a Lego EV3 robot. The steps to making the robot were fun and some of them where pretty challenging but they paid off in the end once Jack and I got them built. Here is a few pictures to show the process.


This was a picture that was taken just when we started building the first bit of our robot.

This is our robot half built as you can see but without some other pieces.

This is the brick the main structure of the robot, it is like a motor to a car but you tell it what to do with the coding. The brick is pretty big but it will store a bit of space for your programs as well.

This is our fully completed robot with the wheels and the brick on.

Jack and I decided to name our robot JennyJom.

The robot was fun to build with all the challenges and troubleshooting like trying to find the parts and the robots not working that well but week 1 of robotics was fun.

Project 2: The 3 Challenges

Lego Mindstorms EV3 project 2 was probably even better than week 1 when Jack and I were building our EV3 Mindstorms robot. I think project 2 was better because at the start of the week our teachers gave our groups a few little challenge of homework (Some homework is boring and all but this one wasn’t).

There were 3 challenges the teachers asked us to do, the first challenge was to make our robot go forward exactly a metre and come back to exact start by reversing. We were not allowed to turn on this challenge. The second challenge was to make our robot go around a baseball diamond made of four 1 metre rulers. The third and final challenge was to make our robots go half a metre or a full metre forward and then turn around and come back to the start. Jack wasn’t here for the completion of all the challenges.
The first challenge was pretty easy (even though I got 3 days before I typed this blog) all we had to do was to make the robot go forward then back. Jack and I started the 4 weeks with these challenges, we completed all the challenges but then there was a glitch in my program on my file. I found this out on the Thursday before the Monday when my blog is due.

This is the coding of the first challenge, I used seconds to help, I figured out that it took 3 seconds for the robot to go an exact metre if the robot was going at full power. The last brick on my screen was used to reverse and negative 100 power makes it reverse back at full pace I forgot to get a video for this challenge but the other challenges all have videos).

The second challenge was hard for Jack and I because we were getting so close each time and it wouldn’t go around the diamond with out turning to late and then turning to early. The troubleshooting for this challenge was to make it turn at the right time.

This is my coding for the second challenge (I had to break it into each brick because the whole snip of the coding for this challenge was to big to put on).

 

 

 

 

The first brick’s coding was to make the wheels go forward 6 rotations because 6 rotations equals just over a metre so our robot didn’t turn to early or to late. I found rotations easier for this one because I could just use my robot ruler that shows my rotations, and I found degrees harder because I don’t know how to use degrees for turning and going forward with my EV3 robot.

The second brick’s coding was to make the robot turn. I found out that to make the robot turn 90 degrees using rotations you have to make it turn 65 on full power to make it turn exactly 90 degrees (I used this same brick after each metre). I found Rotations easier for this brick because Luka Didulica helped me use the rotations to make it turn and see how much rotations my robot needed to turn 90 degrees. I tried making it steer 50 but that was to short and didn’t turn 90 degrees so I tried 55 but that didn’t work so I tried 60 but that didn’t work either, so I tried 65 and it worked perfectly. Using seconds didn’t work for this brick as effective as rotations because I couldn’t work out how long it took and using a stopwatch would take to long.

The third brick’s coding was to make the robot go forward. But I found out that I needed to make each metre after the turn half a second longer than the last one because otherwise the robot would turn to early. I found out that using seconds for me was the same effect for Rotations and Seconds because I could of just used my rotations ruler to measure how much rotations it would take for me to go a bit further than the ruler so I could get a good turn and not have my robot turning into the ruler. I used seconds though because I thought that 3 and half seconds would make the robot go further than the ruler and it worked perfectly after about 33 tries.

The fourth brick’s coding was after the turn (because I used the brick 2 after each metre because it was super effective). I found out that after each turn I had to make it go half a second further then each metre brick before this brick so the our robot always has room to turn. Rotations could have worked for us to like the brick before but I decided to make it seconds because I had found out the pattern for going half a second further each time.

The fifth brick’s coding was nearly the exact same as the last 3 because by the time I had finished coding the fourth brick the coding was turning into the pattern of going up half a second each time.

 

This is my video my robot doing a lap of a baseball diamond. Hope you enjoy :).

The third and final challenge for the last few weeks was when we were set a task to make our robot go half a metre or a full metre forward and make it turn around and come back because it was going to be tagged out by a baseball fielder. I chose my robot to go half a metre forward because it would make more sense for a robot to go half a metre because in baseball if you are about to be tagged out by a fielder you would be safe if you went to the other base.

This is the coding for the third challenge, For the first brick I found out that going 3 rotations with our robot’s power at 50 would make it our robot go half a metre forward. For the second brick it took a bit more tries to get the robot to turn 180 degrees. I could of also use 1 rotation instead of 1 second because it still would have worked but I decided to use seconds to try something a bit different. The third brick was the exact same as the first because when my robot turned it would go exactly half a metre forward and land where our robot started.

I found EV3 robotics project 2 really fun because I learnt a lot of stuff and had fun with my partner. Even if you don’t complete or win something it is still fun to try.

Project 3: Using the Colour Sensor

After project 2 of Lego EV3 Mindstorms we had to do 3rd project. The project was to make our robot go forward and either turn around when it came to a piece of paper or reverse back. This project included using a colour sensor which was fun because it is cool to see when a robot nearly runs into a piece of paper it turns or does what you want it to do.

We had 3 challenges to do, the first challenge consisted of our robot going forward to a red piece of paper and coming back to a red piece of paper also (reversing or turning), but the robot had to stop. The second challenge consisted of using any piece of coloured paper but our robot had to come back to the same coloured piece of paper (reversing or turning). The third challenge consisted of making our robot go towards a piece of paper and turning or reversing to come back and stop at a different coloured piece of paper.

The first challenge was fun and wasn’t very hard because Jack and I made our robot go forward turn around and come back (but we did put the colour sensor brick in the coding to make it turn and stop once it came to the end.

This is the coding for the first challenge, this coding consisted of just making our robot go forward come back and stop. For the first brick we didn’t need anything except our robot to go forward, I made our robot go at full power because half power was slow. For the second and the third brick Jack and I had to make our robot sense the colour red and turn and come back. Also the third brick needed to turn at 92.5 because it kept going to long and then turning to short or to far. The fourth brick was the same as the first to make our robot go forward and the fifth brick was the same as the second brick to make our robot stop at the red piece of paper.

Here is our robot doing the first challenge. Hope you enjoy :).

For the second challenge we made our robot go from a green piece of paper to another green piece of paper. It was as easy as the first challenge just we changed the wait brick from red to green on both of the wait bricks.

This is the coding of the second challenge. As you can see it is not different at all except for the second and the fifth brick which instead of having the wait brick on red we changed them both to green.

This is the video for the second challenge. ūüôā

For the third and final challenge we made our robot go to a red piece of paper and then it turned and came back to a green piece of paper. We didn’t have to change much, all we did was change the second brick to go turn around at a red piece of paper.

This is the coding for the third challenge. There wasn’t much to change (again), all I had to do was to change the second brick (wait brick) to red.

Here is the video for the third challenge.

I found the third project for EV3 Mindstorms very fun, because I already knew how we got our robot to go forward, and knowing something with something you don’t know is fun to learn because you just need to know half of it.

Project 4: The Colour Barrier challenge

On 29 of May 2018 our teachers gave us a new project. This fourth project was the hardest so far, because the project consisted of making our robot go forward around a piece of paper that had a bit of a strip of paper on each side but not in the corners, so if our robot went outside the barrier we failed. The teachers also asked us to do it on 2 or 3 different pieces of paper with different coloured strips of paper on them. We also had to use a new brick in our program called a switch brick

As we started off we figured out that we could only use the move tank brick and large motor brick, for some reason we couldn’t use the move steering block, I don’t know why but when you used them the program would just stop dead.

Apart from that Jack and I went pretty well and succeeded in making the robot stay within the barrier. We also got help from Alex Arora and Lucas Gray who showed us how to get the coding exactly right, Jack and I did have a go at the start though but our robot turned to late and turned to the corners.

Here is a key above for what the following bricks do and what I did with them (Red means there was an error with the numbering so I have changed them a bit).

  1. The start button needs to be on every program in order for that program to work, it starts the program.
  2. This brick is the display brick which displays an image, either a real one or like eyes and smiles.
  3. This brick is the button that turns on what type of sensor or brick button that you want to use.
  4. This brick is the button for what colours you want your robot to sense.
  5. This button is on the Move tank, it is a button that gives you a selection, We chose on so our robot just goes straight and we can select from just the power.
  6. These 2 bricks are for the speed and the power of the brick. Jack and I chose to put this on 30 power because the robot would go to far and turn to late.
  7. This brick is the ports button, it tells you which ports you need the 2 cables in. We found out that if you have the ports in your robot different to the ports on the screen your robot would not move at all when it came to that program.
  8. This brick is one of the main bricks in this circuit, it is the move tank brick. This brick powers both wheels, that’s why there are 2 selections for the power options, the left option powers the left wheel and the right option powers the right wheel.
  9. This symbol is part of the switch brick. At where I put 3, it is the selection for what you want your robot to see. There are 2 symbols, the yes symbol (10) and the no symbol (9). This symbol (the no symbol) is what we tell the robot to do when it doesn’t see (something) you want it to do.
  10. This symbol is the yes symbol, if the robot sees the thing we want it to see then do something that is what the robot will do.
  11. This button is the exact same as the rotation button for the move tank (5). We chose this button to go for rotations because we found out that 9 tenths of rotation goes the right length.
  12. This button is the power button on the other move tank button which made our robot reverse.
  13. This is the button for how many rotations we used. Jack and I found out that 9 tenths of a full rotation was the right length.
  14. This button is the coast or brake button, the coast button which is the x on the selection is to make the robot go really smoothly and the brake button makes the robot jolt in between bricks. Jack and I chose our robot to Coast instead of jolting.
  15. Again this brick is the Move tank brick, Jack and I chose to use it because move¬†steering brick still wouldn’t work.
  16. This the power brick in the Large motor brick. Jack and I used this button to make our robot turn after it reversed.
  17. This is the rotation button for the Large motor brick. We found out that 1.2 was too long and 1.0 was too short, so we tried 1.1 and it worked perfectly.
  18. This is a part of the loop brick (it is like number 4), it tells the robot which colours to actually sense and do the programming for. Jack and I made our robot sense black, green, blue, red and yellow because our teachers said that we needed to try our projects on 2 or 3 different pieces of paper with different coloured strips.
  19. This is the ports for the numbers, some bricks have this and you put it in the correct number on the back of your brick.
  20. This is the loop brick, the loop brick makes a robot keep repeating what it has already done before. We chose to use this so our robot would keep going until we took our robot off the paper.

I learnt a lot from this 4th project of Lego EV3 Mindstorms robotics. I used what I knew from the last 3 projects to figure out what to do, I also took new experiences and new understandings of how our robots work. I can’t wait ’till the next project because I can use what I knew and also learn knew things.

Here is a video of our robots doing the project and on 2 different pieces of paper with different strips. Hope you enjoy ūüôā

 

 

Project 5: Line following challenge

Since the First project from building I’ve learnt a lot. For our fifth (and I think final project) we had to make our robot go in an oval with black lines. The point was to make our robot go in a complete oval. The teachers gave us a few hints and then we got straight into it.

Jack and I got straight into it. We used turn bricks and other bricks to make our robot go forward. The annoying thing was we each had to do a separate project. Jack completed his on Thursday the seventh of June, and I completed mine on Friday because I didn’t have my laptop on the Tuesday.

  1. This the play button, it makes our robot do the project. This button is important because without it the robot won’t do the program.
  2. This is the switch brick, it indicates what my robot sees, if it does see whatever I want it to see, it will do what I put in the yes brick. But if it doesn’t see it, it will do what I put in the no column.
  3. This is the colour option, this option lets you know what colour you want your robot to see, then it will react in what way you tell it to.
  4. This is the menu which lets you choose what sensor you want to use (we had to use the colour sensor).                                                                                                            
  5. This is a port, there are 2 types of ports, one is the letter ports where there are 2 wires and you plug them into the robot depending on what letters you have for the code and also there is another port which are for different bricks where you have a number and you plug the single wire into the number in the brick that is on your program.
  6. This is the move steering brick, it is important because it makes the robot steer and turn. I used this brick so if our robot didn’t sense white it would keep going straight until it found white.
  7. This option is the menu for what you want your robot on or off for. There are Five options in this menu; the On for Rotations option, the On for Seconds option, the On for Degrees option, the Off option and the On option. I chose the On option because all I needed to do was make my robot go forward.                                              
  8. This is the steering option, which indicates if you want to make the robot turn or not. I didn’t need to do anything with that option because all I needed my robot to do was go straight forward.
  9. This option is the power option, it indicates what power I want my robot to go at. I made my robot go at 50 power because I didn’t want my robot to go to fast or to slow so I went at half of full power.
  10. This are the ports for the move steering brick, I always use A+D for the ports with the letters, I don’t know why, I guess it just a trademark.
  11. This is the no symbol, it is used do when on the switch brick it will do the code that is in this section. I chose to use my code in this section so that when my robot sees another colour apart from white (or shade) it will do what is in this section of the switch brick.
  12. This is the yes symbol, this symbol indicates what my robot does if it sees the colour or the thing that I want my robot to do. I made my robot turn if it saw black by using a wait brick that would make my robot turn if it saw black.
  13. Again this is the switch brick, but I’m not going to explain it again so I am going to explain about the steering. The steering is the same as explanation 8. I used this brick again so my robot would turn -26 (which the same as going 26 but left). I chose this because my robot needed to turn left 26 to complete the oval.
  14. This is the power option again, I chose to make this go at 30 power so my robot wouldn’t go to fast.
  15. This is the Wait brick, I used this so my robot would sense black instead of white. I needed the robot to do this so it could turn when it saw the black.
  16. This is the menu option for the wait brick, again there are the same options as the menu for the Switch brick and the Move steering brick (4 and 7).                                
  17. This is an option for the Wait brick that indicates what colour my robot would do if it saw it, then the brick after it would do what you told it to do.
  18. Again this is the Move steering brick, there was no changes I had to do with this one so I kept it.
  19. This is again a Wait brick, I used this so our robot would do the same thing again.
  20. This is the Loop brick, it will make our robot do the whole thing again either a certain number of times or for ever. I used this so our robot would just keep going and going.
  21. This is the menu for the loop brick, you can do bout as much options as you can on the Wait brick and the Switch brick (4 and 16).                                                         

Here is a video with my robot (JennyJom) conquering the project (yet again). Also I made JennyJom go around the oval 3 times to prove that my code works.

I learnt a lot from this project, and I will also take a lot away from it. I learnt that you can use a Wait brick inside a Switch brick and the Wait brick would be more powerful. I also knew a bit about using the Move steering brick and the Loop brick but for now it is good bye until my next project :).

Project 6: Using the Ultrasonic Sensor

Today (13/6/2018) our teachers gave us a new project. We found out that we were going to use a new sensor, this sensor is called the Ultrasonic sensor. This sensor measures distance. In this project there were 2 challenges, the first to make our robots go to a wall and stop around 20 centimetres before it. The second challenge was to make our robots go in a wall and not bump into any by using the distance sensor to make it turn and stuff.

The first challenge was really easy, Jack and I knocked it over in about 5 minutes. Underneath is a key for what the bricks and options do and what we did.

  1. This is the play button, it starts your program and allows it to work. Without it you robot would just stay still and not do the program at all.
  2. This is the Move Steering brick, it allows me to steer my robot, left and right. But in this case I just use it to make JennyJom go forward until she does what I tell her to do.
  3. This the letter ports, they make sure my robots energy is going into the right ports with the right amount of power.
  4. This a Wait brick, in this case I am using it to use the Ultrasonic sensor. This brick makes our robots wait, then do something.
  5. This is a number port, it is pretty much the same as the letter ports but it has numbers and the wires from the sensors and other bits go into it.
  6. This is the stop brick, it is my first Advanced brick (Blue coloured brick) I have used. This brick makes the robot stop on the spot.
  7. This is the option for the Move Steering brick, there are 5 options they are listed below.                                                                                                                                          
  8. This is the steering option for the move steering, it allows you to make your robot turn by different numbers.
  9. This is the power option for the move steering brick, it can make your robot go fast and slow. 100=fast 0=slow.
  10. This is the option for the Wait brick, I have put on the Ultrasonic sensor so it measures distance. I have put this on four which equals greater.
  11. This option lets you tell your robot when it is this close to something (each number stands for centimetres) to do the next brick. As for me once my robot was 20 cm away from something it would stop.

Here is my robot JennyJom completing the first task of the last project in a video underneath.

 

Jack and I completed that task on the first day of using the Ultrasonic sensor. But little did we know that there would be another challenge. The teachers told us about the second challenge, they said that we need to pretend that our robot is in a shed and it is a sheep and can’t bump into any of the walls. We used chairs and put them together to be the shed.

I found this task really easy, even though Jack and I had to do different code and work separate it was still really fun. I used what I knew from the Colour barrier challenge to make JennyJom reverse then turn. Underneath is a key for what did what and what I did.

  1. Again this is the play button. Same as first challenge.
  2. Again this is the Move Steering brick. Same as first challenge.
  3. Again these the letter ports, they make sure my robots energy is going into the right ports with the right amount of power.
  4. Again this the Wait brick. Same as first challenge.
  5. Again these are the letter ports. Same as first challenge.
  6. This is brick is the Move tank brick, I chose to use it because move¬†steering brick still wouldn’t work.
  7. This is Large motor brick. I used this button to make our robot turn after it reversed.
  8. This is a single letter port, it will make JennyJom go left or right depending on which port it is in.
  9. This is the Loop brick. It makes our robot do the whole thing for a certain amount of time or on forever from where the start of the loop brick is. I made this one go twelve st JennyJom would go 3 times around the shed because there a four stools because 3 times 4 is 12 (even though that option as the infinity symbol, I changed it to 12).
  10. Again this is the option for the Move Steering brick, there are 5 options they are listed below.                                                                                                                                          
  11. This is the steering option for the move steering, it allows you to make your robot turn by different numbers. I just needed JennyJom to go straight so I didn’t need to put any numbers on that except 0 to make JennyJom go straight
  12. This is the power option for the move steering brick, it can make your robot go fast and slow. 100=fast 0=slow. I made this go 25 (1/4) of power so JennyJom wouldn’t go to fast.
  13. This the option for the Wait brick, it allows you to do a heap of options. The options are listed below.                                                                                                         
  14. This is the option for the Wait brick, I have put on the Ultrasonic sensor so it measures distance. I have put this on four which equals greater.
  15. This option lets you tell your robot when it is this close to something (each number stands for centimetres) to do the next brick. As for me once my robot was 20 cm away from something it would stop.
  16. This the option for the Move Tank brick. There are a few options that are listed below.                                                                                                                                          
  17. Here are the power options for the Move Tank brick, it allows you to go a certain amount of speed, as example 100=fast 0=slow. I made this go in the negative column to make JennyJom reverse. The 2 options are for each wheel.
  18. This is for the rotations for the move tank brick. It lets me tell the robot how much rotations I want it to do, I did this much because I want it to go back as far as the colour barrier challenge.
  19. This is the coast or brake button, there are 2 options; Coast (cross) and Brake (tick). I put JennyJom on coast to make her go smoothly through.
  20. This is the option for the Large motor brick, on the Move steering brick, Move Tank brick and this brick there are the same options.
  21. This is the Power option for the Large Motor brick. I have put it on 100 because this option on 100 and the next one on 1.1 rotations equals a 90 degrees turn exactly.
  22. This is the rotation option for the Large motor brick, this option and the Power option on 100 equals a 90 degree turn.
  23. This again is the coast or brake button. I put it on coast so it jolted a bit before going to do the whole thing again.
  24. This the loop brick, (same as number 9).

Here is a video of JennyJom completing the final challenge of EV3 term 2 underneath.]

I learnt a lot from EV3 Robotics, I learnt how to code and follow directions. I have taken a lot away from EV3 and I have taken a lot in. I have enjoyed EV3 Mindstorms Robotics, it has made me feel very motivated towards learning.

Thank you for reading :).

Post a comment

You may use the following HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>