FIRST LEGO League Challenge Programming: Difference between revisions

From ORTOP Wiki
(Updated introduction)
(Rearranged to put SPIKE Prime first)
Line 9: Line 9:
* [https://flltutorials.com/translations/en-us/RobotGame/ProgrammingQuickGuide.pdf Programming Skills Quick Guide] A PDF file with a series of brief guides on programming techniques with examples for both EV3 Lab and SPIKE Prime Word Blocks.
* [https://flltutorials.com/translations/en-us/RobotGame/ProgrammingQuickGuide.pdf Programming Skills Quick Guide] A PDF file with a series of brief guides on programming techniques with examples for both EV3 Lab and SPIKE Prime Word Blocks.
* [https://docs.google.com/spreadsheets/d/1OxyXEIB5pHzOSpAuOKY_2XeK1Uomv7lzHLVG1ZKLFH8/edit?fbclid=IwAR2r06uHqGSJQI1YPsrF9OLw-1AvzUGT9gdhmiLpX8EoIOhyNJgVA7NvudU#gid=0 Alternate Programming Languages For FLL] A comparison table of the variety of languages that can be used to program FLL Challenge robots
* [https://docs.google.com/spreadsheets/d/1OxyXEIB5pHzOSpAuOKY_2XeK1Uomv7lzHLVG1ZKLFH8/edit?fbclid=IwAR2r06uHqGSJQI1YPsrF9OLw-1AvzUGT9gdhmiLpX8EoIOhyNJgVA7NvudU#gid=0 Alternate Programming Languages For FLL] A comparison table of the variety of languages that can be used to program FLL Challenge robots
=Mindstorms EV3 Software=
== Mindstorms EV3 Lab Software ==
[[File:EV3-Lab_Logo.png||thumb||EV3 Lab Icon]]
[[File:EV3-Lab-MoveStraight.png|400px|thumb||EV3 Lab Sample Program]]
Mindstorms EV3 Lab also known as EV3-G was the main programming language provided by LEGO Education for the MINDSTORMS EV3 sets until fall 2020. EV3 Lab is graphical programming language where programming blocks are arranged horizontally. It is quite different from traditional programming languages.
=== Introductory Exercises ===
* [https://drive.google.com/file/d/1bL4hqy_XwdsEHgANsat7wYVtHKTWEU8_/view?usp=sharing Becoming Familiar with Your EV3]
* [https://drive.google.com/file/d/1fkS0XBMwnfBk3krm7nrEosz0AlA5wnHS/view?usp=sharing Lab 1 – Getting Your EV3 To Move and Respond to Its Environment]
* [https://drive.google.com/file/d/1Br9YPyRVuOaZ_QF0CMSP25Rkk0ua2X8_/view?usp=sharing Lab 2 – Using a Color Sensor]
* [https://drive.google.com/file/d/1cM0uWutZ8HytHHWA3A2kPK9AZ-TbQmR-/view?usp=sharing Lab 3 – Your Color Sensor Final Exam]
* [https://drive.google.com/file/d/1w6gDjyBawbgZQ7EKU0jVsCsqURKqHXkE/view?usp=sharing  Lab 4 – Putting it All Together]
* [https://drive.google.com/file/d/1aXMfXKqzKoUeZTm5B3SFpWBosZRUpjdx/view?usp=sharing  Appendix A - More Things You Will Need to Know about the EV3 Programming System]
=== Wiki Articles ===
* [[FIRST LEGO League Challenge Mindstorms EV3 Lab Programming Presentations|Programming Presentations]]
* [[FIRST LEGO League Challenge Mindstorms EV3 Lab Sample Programs|Sample Programs]]
===External Resources===
====Software====
* [https://education.lego.com/en-us/downloads/retiredproducts/mindstorms-ev3-lab/software Mindstorms EV3 Lab software from LEGO Education]
====Documentation====
* [https://le-www-live-s.legocdn.com/ev3/userguide/1.4.0/ev3_userguide_enus.pdf Mindstorms EV3 User Guide from LEGO Education]
* [https://www.sos.wa.gov/_assets/library/libraries/projects/youthservices/legomindstormsev3programmingbasics.pdf EV3 Programming Basics by Joe Olayvar & Evelyn Lindberg, Library Development Team, Washington State Library]
====Video Tutorials====
* STEM Robotics
** [https://stemrobotics.cs.pdx.edu/node/8878 Using EV3-G on a PC or Mac]
** [https://stemrobotics.cs.pdx.edu/node/9360 Using EV3-G on a Chromebook]
* Catlin Gable School
** [https://www.team1540.org/ev3-tutorial EV-3 video tutorials by Dale Yocum]
* Tufts University
** [http://www.legoengineering.com/ev3-tutorials-by-students-for-students Tutorials created by students affiliated with Tufts Center for Engineering Education and Outreach]
====Focused Tutorials====
* Gyro Programming from EV3Lessons.com
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/GyroTurn.pdf Gyro Sensors - Turns and Lag]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/GyroMoveStraight.pdf Gyro Move Straight]
* Line Following from EV3Lessons.com
** [https://ev3lessons.com/en/ProgrammingLessons/beginner/BasicLineFollower.pdf Basic Line Follower]
** [https://ev3lessons.com/en/ProgrammingLessons/intermediate/ColorFollowerDistance.pdf Color Follower for Distance]
** [https://ev3lessons.com/en/ProgrammingLessons/intermediate/ColorFollowerSensor.pdf Color Follower Stops Based on Color Detection]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/ProportionalControl.pdf Introduction to Proportional Control]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/ProportionalLineFollower.pdf Proportional Line Follower]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/PID.pdf PID Line Follower]
====Play Lists====
* [https://www.youtube.com/playlist?list=PLXNn7QnqlNpjcIie_4j-I70NepPsT6ekK Programming with LEGO Education's Mindstorms EV3 by LEGO Education]
* [https://www.youtube.com/playlist?list=PLJ9p4vPU79w6yjG7ndyn2xp-UMkSGFx9A EV3 Programming videos from W.A.F.F.L.E.S. Community Robotics]
== Mindstorms EV3 Classroom (Scratch) ==
[[file:EV3-Classroom Logo.png||thumb|EV3 Classroom Logo]]
[[file:EV3-Classroom-Sample-Program.png|400px|thumb||Sample EV3 Classroom Program]]
Mindstorms EV3 Classroom is a graphical programming language for the Mindstorms EV3 sets. It became the standard software for the EV3 Set for those running PCs with the 64-bit version of Windows 10, Chromebooks and Macs using macOS Catalina 10.15 in the fall of 2020.  The Mac version also works with macOS Mojave 10.14. Those with earlier operating systems should continue to use EV3 Lab.
EV3 Classroom is based on an educational language called Scratch and is quite similar to Word Blocks, the graphical language provided by LEGO Education for its SPIKE Prime set. LEGO Education has also announced that EV3 Classroom will become available for and Chromebooks.
=== Videos ===
* [[Programming Using Scratch-based Languages]]
=== External Resources ===
* [https://education.lego.com/en-us/downloads/mindstorms-ev3/software EV3 Classroom software from LEGO Education] Use this link to find EV3 Classroom for
** Windows 10 computers (Version 1803 or newer)
** Mac computers with macOS 10.14 (Mohave) or 10.15 (Catalina)
** Chromebooks (Android 7.0 or newer)
** Android tables (Android 7.0 or newer)
** Fire tablets (Android 4.2 or newer)
** iPads (iOS 11 or newer)
* To install the EV3 Classroom on a Chromebook use the Chromebook Play Store app and search for EV3 Classroom. If you get a "No app running" error when you start the software, go back to Play Store and search for Webview by Google and click on Update.
* [https://uploads-ssl.webflow.com/5d45ab770ae4a12ae3df8293/5fb986e6e5e1d8c99373670d_EV3%20Classroom%20Coding%20Blocks%20Visual%20Overview.pdf Reference Document from LEGO Education]
* [https://ev3lessons.com/en/Resources/WheelConverter/ Calculating rotations for EV3 movement]
* [https://ev3lessons.com/en/ProgrammingLessons/beginner/scratch-Color.pdf Color Sensor Programming from EV3Lessons.com]
* Gyro Programming from EV3Lessons.com
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/scratch-GyroTurn.pdf Gyro Sensors - Turns and Lag]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/GyroMoveStraight.pdf Gyro Move Straight]
* Line Following from EV3Lessons.com
** [https://ev3lessons.com/en/ProgrammingLessons/beginner/scratch-BasicLineFollower.pdf Basic Line Follower]
** [https://ev3lessons.com/en/ProgrammingLessons/intermediate/scratch-ColorFollowerDistance.pdf Color Follower for Distance]
** [https://ev3lessons.com/en/ProgrammingLessons/intermediate/scratch-ColorFollowerSensor.pdf Color Follower Stops Based on Color Detection]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/scratch-ProportionalControl.pdf Introduction to Proportional Control]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/scratch-ProportionalLineFollower.pdf Proportional Line Follower]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/scratch-PID.pdf PID Line Follower]
== Mindstorms EV3 Python ==
LEGO Education also provides a version of Python, a line-by-line programming language, for the Mindstorms EV3.
=== External Resources ===
* [https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3 LEGO Education's Python for EV3 page]
* Line Following Programs
** [https://thecodingfun.com/2020/06/16/lego-mindstorms-ev3-pid-line-follower-code-by-using-micropython-2-0 PID line follower with explanation]
** [https://github.com/Klabbedi/ev3 Another PID line follower with explanation]
** [https://gist.github.com/CS2098/ecb3a078ed502c6a7d6e8d17dc095b48 Sample line follower]


=SPIKE Prime Software=
=SPIKE Prime Software=
Line 248: Line 148:
* [https://lego.github.io/MINDSTORMS-Robot-Inventor-hub-API/class_motorpair.html Code for controlling a pair of motors]
* [https://lego.github.io/MINDSTORMS-Robot-Inventor-hub-API/class_motorpair.html Code for controlling a pair of motors]
* [https://antonsmindstorms.com/2021/01/14/advanced-undocumented-python-in-spike-prime-and-mindstorms-hubs/ Advanced function descriptions]
* [https://antonsmindstorms.com/2021/01/14/advanced-undocumented-python-in-spike-prime-and-mindstorms-hubs/ Advanced function descriptions]
=Mindstorms EV3 Software=
== Mindstorms EV3 Lab Software ==
[[File:EV3-Lab_Logo.png||thumb||EV3 Lab Icon]]
[[File:EV3-Lab-MoveStraight.png|400px|thumb||EV3 Lab Sample Program]]
Mindstorms EV3 Lab also known as EV3-G was the main programming language provided by LEGO Education for the MINDSTORMS EV3 sets until fall 2020. EV3 Lab is graphical programming language where programming blocks are arranged horizontally. It is quite different from traditional programming languages.
=== Introductory Exercises ===
* [https://drive.google.com/file/d/1bL4hqy_XwdsEHgANsat7wYVtHKTWEU8_/view?usp=sharing Becoming Familiar with Your EV3]
* [https://drive.google.com/file/d/1fkS0XBMwnfBk3krm7nrEosz0AlA5wnHS/view?usp=sharing Lab 1 – Getting Your EV3 To Move and Respond to Its Environment]
* [https://drive.google.com/file/d/1Br9YPyRVuOaZ_QF0CMSP25Rkk0ua2X8_/view?usp=sharing Lab 2 – Using a Color Sensor]
* [https://drive.google.com/file/d/1cM0uWutZ8HytHHWA3A2kPK9AZ-TbQmR-/view?usp=sharing Lab 3 – Your Color Sensor Final Exam]
* [https://drive.google.com/file/d/1w6gDjyBawbgZQ7EKU0jVsCsqURKqHXkE/view?usp=sharing  Lab 4 – Putting it All Together]
* [https://drive.google.com/file/d/1aXMfXKqzKoUeZTm5B3SFpWBosZRUpjdx/view?usp=sharing  Appendix A - More Things You Will Need to Know about the EV3 Programming System]
=== Wiki Articles ===
* [[FIRST LEGO League Challenge Mindstorms EV3 Lab Programming Presentations|Programming Presentations]]
* [[FIRST LEGO League Challenge Mindstorms EV3 Lab Sample Programs|Sample Programs]]
===External Resources===
====Software====
* [https://education.lego.com/en-us/downloads/retiredproducts/mindstorms-ev3-lab/software Mindstorms EV3 Lab software from LEGO Education]
====Documentation====
* [https://le-www-live-s.legocdn.com/ev3/userguide/1.4.0/ev3_userguide_enus.pdf Mindstorms EV3 User Guide from LEGO Education]
* [https://www.sos.wa.gov/_assets/library/libraries/projects/youthservices/legomindstormsev3programmingbasics.pdf EV3 Programming Basics by Joe Olayvar & Evelyn Lindberg, Library Development Team, Washington State Library]
====Video Tutorials====
* STEM Robotics
** [https://stemrobotics.cs.pdx.edu/node/8878 Using EV3-G on a PC or Mac]
** [https://stemrobotics.cs.pdx.edu/node/9360 Using EV3-G on a Chromebook]
* Catlin Gable School
** [https://www.team1540.org/ev3-tutorial EV-3 video tutorials by Dale Yocum]
* Tufts University
** [http://www.legoengineering.com/ev3-tutorials-by-students-for-students Tutorials created by students affiliated with Tufts Center for Engineering Education and Outreach]
====Focused Tutorials====
* Gyro Programming from EV3Lessons.com
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/GyroTurn.pdf Gyro Sensors - Turns and Lag]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/GyroMoveStraight.pdf Gyro Move Straight]
* Line Following from EV3Lessons.com
** [https://ev3lessons.com/en/ProgrammingLessons/beginner/BasicLineFollower.pdf Basic Line Follower]
** [https://ev3lessons.com/en/ProgrammingLessons/intermediate/ColorFollowerDistance.pdf Color Follower for Distance]
** [https://ev3lessons.com/en/ProgrammingLessons/intermediate/ColorFollowerSensor.pdf Color Follower Stops Based on Color Detection]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/ProportionalControl.pdf Introduction to Proportional Control]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/ProportionalLineFollower.pdf Proportional Line Follower]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/PID.pdf PID Line Follower]
====Play Lists====
* [https://www.youtube.com/playlist?list=PLXNn7QnqlNpjcIie_4j-I70NepPsT6ekK Programming with LEGO Education's Mindstorms EV3 by LEGO Education]
* [https://www.youtube.com/playlist?list=PLJ9p4vPU79w6yjG7ndyn2xp-UMkSGFx9A EV3 Programming videos from W.A.F.F.L.E.S. Community Robotics]
== Mindstorms EV3 Classroom (Scratch) ==
[[file:EV3-Classroom Logo.png||thumb|EV3 Classroom Logo]]
[[file:EV3-Classroom-Sample-Program.png|400px|thumb||Sample EV3 Classroom Program]]
Mindstorms EV3 Classroom is a graphical programming language for the Mindstorms EV3 sets. It became the standard software for the EV3 Set for those running PCs with the 64-bit version of Windows 10, Chromebooks and Macs using macOS Catalina 10.15 in the fall of 2020.  The Mac version also works with macOS Mojave 10.14. Those with earlier operating systems should continue to use EV3 Lab.
EV3 Classroom is based on an educational language called Scratch and is quite similar to Word Blocks, the graphical language provided by LEGO Education for its SPIKE Prime set. LEGO Education has also announced that EV3 Classroom will become available for and Chromebooks.
=== Videos ===
* [[Programming Using Scratch-based Languages]]
=== External Resources ===
* [https://education.lego.com/en-us/downloads/mindstorms-ev3/software EV3 Classroom software from LEGO Education] Use this link to find EV3 Classroom for
** Windows 10 computers (Version 1803 or newer)
** Mac computers with macOS 10.14 (Mohave) or 10.15 (Catalina)
** Chromebooks (Android 7.0 or newer)
** Android tables (Android 7.0 or newer)
** Fire tablets (Android 4.2 or newer)
** iPads (iOS 11 or newer)
* To install the EV3 Classroom on a Chromebook use the Chromebook Play Store app and search for EV3 Classroom. If you get a "No app running" error when you start the software, go back to Play Store and search for Webview by Google and click on Update.
* [https://uploads-ssl.webflow.com/5d45ab770ae4a12ae3df8293/5fb986e6e5e1d8c99373670d_EV3%20Classroom%20Coding%20Blocks%20Visual%20Overview.pdf Reference Document from LEGO Education]
* [https://ev3lessons.com/en/Resources/WheelConverter/ Calculating rotations for EV3 movement]
* [https://ev3lessons.com/en/ProgrammingLessons/beginner/scratch-Color.pdf Color Sensor Programming from EV3Lessons.com]
* Gyro Programming from EV3Lessons.com
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/scratch-GyroTurn.pdf Gyro Sensors - Turns and Lag]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/GyroMoveStraight.pdf Gyro Move Straight]
* Line Following from EV3Lessons.com
** [https://ev3lessons.com/en/ProgrammingLessons/beginner/scratch-BasicLineFollower.pdf Basic Line Follower]
** [https://ev3lessons.com/en/ProgrammingLessons/intermediate/scratch-ColorFollowerDistance.pdf Color Follower for Distance]
** [https://ev3lessons.com/en/ProgrammingLessons/intermediate/scratch-ColorFollowerSensor.pdf Color Follower Stops Based on Color Detection]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/scratch-ProportionalControl.pdf Introduction to Proportional Control]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/scratch-ProportionalLineFollower.pdf Proportional Line Follower]
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/scratch-PID.pdf PID Line Follower]
== Mindstorms EV3 Python ==
LEGO Education also provides a version of Python, a line-by-line programming language, for the Mindstorms EV3.
=== External Resources ===
* [https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3 LEGO Education's Python for EV3 page]
* Line Following Programs
** [https://thecodingfun.com/2020/06/16/lego-mindstorms-ev3-pid-line-follower-code-by-using-micropython-2-0 PID line follower with explanation]
** [https://github.com/Klabbedi/ev3 Another PID line follower with explanation]
** [https://gist.github.com/CS2098/ecb3a078ed502c6a7d6e8d17dc095b48 Sample line follower]


[[Category: FIRST LEGO League Challenge]]
[[Category: FIRST LEGO League Challenge]]
[[Category: Programming]]
[[Category: Programming]]
[[Category: Videos]]
[[Category: Videos]]

Revision as of 19:13, 28 June 2022

There are several ways of programming FIRST LEGO League Challenge Robots. The two most popular are EV3-G, which is also referred to as EV3 Lab, and a new language created by LEGO Education based on Scratch called Word Blocks. A version of this Scratch-based language called EV3 Classroom is also available. LEGO also provides a special version of a line-by-line language called Python for programming robots.

General

SPIKE Prime Software

SPIKE Prime Word Blocks (Scratch)

SPIKE Prime Icon
Sample Word Blocks program

The main programming language for SPIKE Prime is called Word Blocks, which is based on Scratch. LEGO Education provides an online introduction to the set and its software. The software can be downloaded before or after receiving the SPIKE Prime set.

Season-Independent Challenges Using Small Printable Mat

One of the best ways for team members to learn how to program a LEGO robot is to have simple challenges with guidance on how they might solve those challenges. And, these challenges can performed on a 2x3 foot mat, allowing small groups or individuals to learn the skills they'll need for the annual challenge on the full-size mat. With this in mind, ORTOP has developed a set of simple lessons that feature such challenges that are backed up by short videos that give hints on how to solve the challenges. Follow the link above to find out more.

Introductory Exercises for Coaches

Videos

Videos for team members on programming a SPIKE Prime Robot

Episode 1: Introducing Eva the parrot and Eaglet the baby LEGO eagle.

Episode 2: Eva arranges for Eaglet to get a ride home while we learn more about programming turns.

Episode 3: Eaglet finds his lost cat while we learn how to use the built-in gyro to control the robot's turns.

Episode 4: Eaglet brings his lost cat home while we learn how to program an attachment for retrieving cats.

Episode 5: Eaglet's Chariot robot learns how to drive in the middle of the road while we learn how to program a color sensor.

Episode 6: Chariot makes a better turn to Yellow the cat as we use our gyro programming skills.

Episode 7: Chariot stays in the middle of the road while we learn how to use a color sensor to follow the edge of a line.

Episode 8: Chariot uses a motor's built-in rotation sensor to measure distance while it uses line following to stay in the middle of the road.

Episode 9: Chariot visits the Animal Shelter with the help of his Chariot robot programmed using a MyBlock.

Videos for Coaches

Information Specific to Particular Computers

External Resources

Software

Learning Resources

Focused Tutorials

Play Lists

SPIKE Prime Python

Videos on Programming SPIKE Prime Robots Using Python

GitHub Resources by ORTOP

External Resources

Mindstorms EV3 Software

Mindstorms EV3 Lab Software

EV3 Lab Icon
EV3 Lab Sample Program

Mindstorms EV3 Lab also known as EV3-G was the main programming language provided by LEGO Education for the MINDSTORMS EV3 sets until fall 2020. EV3 Lab is graphical programming language where programming blocks are arranged horizontally. It is quite different from traditional programming languages.

Introductory Exercises

Wiki Articles

External Resources

Software

Documentation

Video Tutorials

Focused Tutorials

Play Lists

Mindstorms EV3 Classroom (Scratch)

EV3 Classroom Logo
Sample EV3 Classroom Program

Mindstorms EV3 Classroom is a graphical programming language for the Mindstorms EV3 sets. It became the standard software for the EV3 Set for those running PCs with the 64-bit version of Windows 10, Chromebooks and Macs using macOS Catalina 10.15 in the fall of 2020. The Mac version also works with macOS Mojave 10.14. Those with earlier operating systems should continue to use EV3 Lab.

EV3 Classroom is based on an educational language called Scratch and is quite similar to Word Blocks, the graphical language provided by LEGO Education for its SPIKE Prime set. LEGO Education has also announced that EV3 Classroom will become available for and Chromebooks.

Videos

External Resources

Mindstorms EV3 Python

LEGO Education also provides a version of Python, a line-by-line programming language, for the Mindstorms EV3.

External Resources