FIRST LEGO League Challenge Programming: Difference between revisions
m (→External Resources: Added title of link) |
BruceSchafer (talk | contribs) (→Slide Set for Coaches: Updated link to PDF of slides) |
||
(132 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
There are several ways of programming FIRST LEGO League Challenge Robots. The | There are several ways of programming ''FIRST'' LEGO League Challenge Robots. The most popular new language created by LEGO Education is based on [[Wikipedia:Scratch (programming language)|Scratch]] called Word Blocks. A version of this Scratch-based language called EV3 Classroom is also available for those using EV3 sets rather than SPIKE Prime. LEGO also provides a special version of a line-by-line language called Python for programming robots. | ||
= | =General= | ||
* [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 | |||
* [[Programming a Robot from Anywhere in the World]]. Information on how a team can program their robot when they can't get together in person. | |||
=SPIKE Prime Software= | |||
== SPIKE Prime Word Blocks (Scratch) == | |||
[[file:SPIKE-Prime Logo.png||thumb||SPIKE Prime Icon]] | |||
[[file:SPIKEMoveStraightExample.png|200px|thumb||Sample Word Blocks program]] | |||
The main programming language for SPIKE Prime is called Word Blocks, which is based on Scratch. LEGO Education provides an [https://education.lego.com/en-us/start/spike-prime#Introduction online introduction] to the set and its software. The software app can be downloaded and installed before or after receiving the SPIKE Prime set. | |||
* [https://education.lego.com/en-us/downloads/spike-legacy-app/software SPIKE Prime App Version 2] (2022 version) | |||
* [https://education.lego.com/en-us/downloads/spike-app/software SPIKE Prime App Version 3] (latest version) | |||
** This new version of the app includes a variety of improvements but also reduces the number of choices for Movement blocks. | |||
** [https://legoeducation.atlassian.net/servicedesk/customer/portal/3/article/36817141835 LEGO Education description of SPIKE Prime App Version 3] | |||
** [https://youtu.be/K-aQmM0Zshs Youtube video about the changes in App Version 3] | |||
** The current version of SPIKE App Version 3 will allow you to open projects saved using Spike App version 2 also known as Legacy. | |||
*** When you open Word Block projects created using Version 2 they are automatically translated so that the program will work in Spike App 3. | |||
*** To open a project created with Version 2 | |||
****Click on File then Open. | |||
**** In the File Name field type *.* to get it to display your Version 2 projects by showing each name followed by ".llsp". | |||
**** You can then select and open one of your Version 2 projects. | |||
*** Even though it will be translated to App 3 you may need to make some adjustments. | |||
** [https://drive.google.com/file/d/1wt6LBmDXXou251uZdjtgUkEDerI-EZ_o/view?usp=drive_link Slides showing how to convert Movement Blocks from App Version 2 to Version 3] | |||
** If you upgrade to version 3 of the SPIKE Prime App, it will update your hub to new firmware that works with the new app. | |||
** If you decide to go back to version 2, you will need to change the firmware back to a version that works with App Version 2 of the App. See [https://spike.legoeducation.com/hubdowngrade this link] to downgrade your Hub firmware to the compatible version. | |||
=== Slide Set for Coaches === | |||
Each year ORTOP holds workshops in the summer and early fall. | |||
* [https://drive.google.com/file/d/17A06z5l7wok6PxLRLAXP2zKS-wLEfp12/view?usp=sharing Slides used in the workshops] | |||
== | === Introductory Exercises for Coaches === | ||
* [https://drive.google.com/file/d/1XoAQObGMD_2N0qe0T6PB8UGYpMwtQb8G/view?usp=sharing Introduction to SPIKE Prime Table of Contents] | |||
* [https://drive.google.com/file/d/14pgJa07YbJOFRGm-25iof928IjJL2jQ7/view?usp=sharing Getting ready to use your SPIKE Prime Kit] | |||
* [https://drive.google.com/file/d/1t-IkYMfIFPN0UzMDN-vfiAGsQZnFbs_E/view?usp=sharing Exercise 1 - Building your first SPIKE Prime robot and teaching it to move] | |||
* [https://drive.google.com/file/d/1b0p2IM9hSZoic6klhoEEde4UJt0lw0ZN/view?usp=sharing Exercise 2 - Teaching your robot to drive] | |||
* [https://drive.google.com/file/d/1tnlaf-G_EJslMw76X9HZrcbE2LMvGlDv/view?usp=sharing Exercise 3 - Using a Color Sensor] | |||
* [https://drive.google.com/file/d/1sksKCDH9Xi9KdKcBzuxzicUCJ4eSX6_G/view?usp=sharing Exercise 4 - Putting it all together] | |||
* [https://drive.google.com/file/d/1S_8uGHlGD6MY3MUDsGMMZAOR1MwfC6X6/view?usp=sharing Appendix A - Walk through of SPIKE Prime Hub] | |||
* [https://drive.google.com/file/d/19VrlrxAS8d5DuFn_XFreSWpDn6_8bVuK/view?usp=sharing Appendix B - Walk through of SPIKE Prime Project Screen for writing programs] | |||
=== | === [[Season-Independent SPIKE Prime Lessons|Season-Independent Lessons Using Small Printable Mat]]=== | ||
[[ | One of the best ways for team members to learn how to program a LEGO robot is to have simple [https://docs.google.com/document/d/1--6E22xBUuKQ1b-GLcC6nJokAOofTrYOjNbM8WygI-Y/edit?usp=sharing 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 [[Season-Independent SPIKE Prime Lessons|simple lessons]] that feature such challenges that are backed up by short videos that give hints on how to solve the challenges. Follow [[Season-Independent SPIKE Prime Lessons|'''this link''']] to find out more. | ||
=== Videos === | |||
====Videos for team members on programming a SPIKE Prime Robot==== | |||
Episode 1: Introducing Eva the parrot and Eaglet the baby LEGO eagle. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=LiCsKCCQX3A | |||
|dimensions=360 | |||
}} | |||
Episode 2: Eva arranges for Eaglet to get a ride home while we learn more about programming turns. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=xS_DumMvC4g | |||
|dimensions=360 | |||
}} | |||
Episode 3: Eaglet finds his lost cat while we learn how to use the built-in gyro to control the robot's turns. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=va6_ogN8hMA | |||
|dimensions=360 | |||
}} | |||
Episode 4: Eaglet brings his lost cat home while we learn how to program an attachment for retrieving cats. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=S_sAVLDK41Q | |||
|dimensions=360 | |||
}} | |||
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. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=ZS8U-0Tb0Hk | |||
|dimensions=360 | |||
}} | |||
Episode 6: Chariot makes a better turn to Yellow the cat as we use our gyro programming skills. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=HtACFEPzOpA | |||
|dimensions=360 | |||
}} | |||
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. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=wrkcLhbpJ-c | |||
|dimensions=360 | |||
}} | |||
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. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=uJst-xmDEuU | |||
|dimensions=360 | |||
}} | |||
Episode 9: Eaglet visits the Animal Shelter with the help of his Chariot robot programmed using a My Block. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=WQNAIXzxexM | |||
|dimensions=360 | |||
}} | |||
Episode 10: Chariot delivers food to the Animal Shelter while we learn how to use a variable to count stripes to improve the robot's navigation. We also learn more about use My Blocks as well as how to display numbers on the top of the hub. | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=4DgLzzoUli4 | |||
|dimensions=360 | |||
}} | |||
=== | ====Videos for Coaches==== | ||
* [https://m.youtube.com/playlist?list=PLS9qLR8VoFA62KcAzsUfAOQgLrEXCp78B Geek Tutorials from LEGO Education] | |||
* [[Programming Using Scratch-based Languages]] | |||
* [[Videos on SPIKE Prime Sensors]] | |||
* See also [[#line following video|link to line-following video]] and [[#Play Lists|Play Lists]] below. | |||
* [https:// | ===Information Specific to Particular Computers=== | ||
* [https://docs.google.com/document/d/1lHtSBsNQf29wjWiAfHolDJEGbdCJ_hqlLDRDlhIvN2w/edit?usp=sharing Backing Up or Restoring Project Files on a ChromeBook] | |||
* [https:// | === External Resources === | ||
* [https:// | ====Software==== | ||
* | * [https://education.lego.com/en-us/downloads/spike-prime/software SPIKE Prime Word Blocks is included with the standard SPIKE Prime Software from LEGO Education] | ||
====Learning Resources==== | |||
* [https://ortop.org/wp/wp-uploads/PD-Block-Cheat-Sheet-1-v1.pdf List of Word Blocks from ''FIRST''] | |||
* [https://education.lego.com/en-us/lessons?products=SPIKE%E2%84%A2+Prime+Set Lesson Plan Units from LEGO Education] Units of Lessons featuring Word Blocks | |||
** [https://education.lego.com/en-us/lessons/prime-competition-ready Competition Ready] | |||
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-1-driving-around Training Camp 1 - Driving Around] | |||
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-2-playing-with-objects Training Camp 2 - Playing with Objects] | |||
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-3-react-to-lines Training Camp 3 - Reacting to Lines] | |||
*** Material from FLL Tutorials relating to the Guided Mission | |||
**** [https://flltutorials.com/en/Worksheets.html Code file with comments and relevant videos] | |||
**** [https://primelessons.org/en/RobotDesigns.html Droid Bot M used in above] | |||
**** Video on making Guided Mission more reliable | |||
{{#evt: | |||
service=youtube | |||
|id=https://www.youtube.com/watch?v=rvAgi-Yviww | |||
|dimensions=240 | |||
|alignment=center | |||
}} | |||
* [https://primelessons.org/en/ SPIKE Prime Lessons The PrimeLessons.org website with a variety of learning resources] | |||
* [https://primelessons.org/en/ProgrammingLessons/SPBlockGuide.pdf Unofficial SPIKE Prime Block Guide by PrimeLessons.org] Descriptions of each block in the graphical Word Blocks Language. | |||
* [https://docs.google.com/document/u/0/d/1Ijre6QDcMBOve8x-3ak3MXYsT3EkHhUX3mlpV9cGGB8 Backing Up Project Files] Reduce the risk of losing your work by keeping backup copies. | |||
* [ | ====Focused Tutorials==== | ||
* Gyro Turn | |||
** Lessons from LegoEducation.com | |||
*** [https://education.lego.com/en-us/lessons/prime-competition-ready/training-camp-1-driving-around#coding-tips Training Camp 1 from LEGO Education] | |||
* Gyro Move Straight | |||
** Lessons from PrimeLessons.com | |||
*** [https://primelessons.org/en/ProgrammingLessons/GyroMoveStraight.pdf Move Straight] | |||
* Line Following | |||
** <div id="line following video"></div>[https://www.youtube.com/watch?v=FlnZsZSEvhU Video: Spike Prime Line Following Robot With Instructions & Program] | |||
** Lessons from PrimeLessons.com | |||
*** [https://primelessons.org/en/ProgrammingLessons/LineFollower.pdf Basic Line Follower] | |||
*** [https://primelessons.org/en/ProgrammingLessons/ProportionalLineFollower.pdf Proportional Line Follower] | |||
*** [https://primelessons.org/en/ProgrammingLessons/PIDLineFollower.pdf PID Line Follower] | |||
====Play Lists==== | |||
* [https://www.youtube.com/playlist?list=PLj_k_RHuTqaUsl7AlR-iYRP4cMYsZBb3C LEGO SPIKE Prime] Tutorial videos from Creator Academy Australia | |||
* [https://www.youtube.com/playlist?list=PLXNn7QnqlNpgSG-5bJKTXAdJLUe_9Ljog Getting Started with LEGO Education SPIKE Prime] Very short videos from LEGO Education | |||
== SPIKE Prime Python == | |||
=== [[Videos on Programming SPIKE Prime Robots Using Python]] === | |||
== | === GitHub Resources by ORTOP === | ||
* [https://github.com/cervan4/Spike_Python_Lessons Python Lessons] | |||
* [https://github.com/cervan4/Spike-Prime-Python Python Code] | |||
=== External Resources === | === External Resources === | ||
* [https://primelessons.org/en/PyLessons.html?fbclid=IwAR0pj80wWYPt7sbNJaqD-xnBSS4acrAhdj4hspslyBmSIldT78ooohaI0VA Prime Lessons] | |||
* [https://education.lego.com/en-us/downloads/spike-prime/software Python is included with the standard SPIKE Prime software from LEGO Education] | |||
* [https://education.lego.com/en-us/support/spike-prime#Python SPIKE Prime Python from LEGO Education] | |||
* [https://www.youtube.com/watch?v=HpGnthVB-gA Video: Getting Started with Python on SPIKE Prime] | |||
* [https://www.youtube.com/watch?v=ZdLCNNdLNFI Video: Program a FLL Line Following in Python with Spike Prime] | |||
* [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://education.lego.com/en-us/downloads/mindstorms-ev3/software | =Mindstorms EV3 Software= | ||
== 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 | * 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/scratch-GyroTurn.pdf Gyro Sensors - Turns and Lag] | ||
** [https://ev3lessons.com/en/ProgrammingLessons/advanced/GyroMoveStraight.pdf Gyro Move Straight] | ** [https://ev3lessons.com/en/ProgrammingLessons/advanced/GyroMoveStraight.pdf Gyro Move Straight] | ||
* Line Following from EV3Lessons. | * Line Following from EV3Lessons.com | ||
** [https://ev3lessons.com/en/ProgrammingLessons/beginner/scratch-BasicLineFollower.pdf Basic Line Follower] | ** [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-ColorFollowerDistance.pdf Color Follower for Distance] | ||
Line 55: | Line 213: | ||
=== External Resources === | === External Resources === | ||
* [https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3 LEGO Education's Python for EV3 page] | * [https://education.lego.com/en-us/support/mindstorms-ev3/python-for-ev3 LEGO Education's Python for EV3 page] | ||
* Line Following Programs | * Line Following Programs | ||
Line 62: | Line 219: | ||
** [https://gist.github.com/CS2098/ecb3a078ed502c6a7d6e8d17dc095b48 Sample line follower] | ** [https://gist.github.com/CS2098/ecb3a078ed502c6a7d6e8d17dc095b48 Sample line follower] | ||
= | == Mindstorms EV3 Lab Software == | ||
[[File:EV3-Lab_Logo.png||thumb||EV3 Lab Icon]] | |||
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] Previous version of EV3 Software. See EV3 Classroom above for the current software for EV3. | |||
====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:// | ** [https://ev3lessons.com/en/ProgrammingLessons/beginner/BasicLineFollower.pdf Basic Line Follower] | ||
* [https:// | ** [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:// | |||
= | * [https://www.youtube.com/playlist?list=PLJ9p4vPU79w6yjG7ndyn2xp-UMkSGFx9A EV3 Programming videos from W.A.F.F.L.E.S. Community Robotics] | ||
[[Category: FIRST LEGO League Challenge]] | |||
[[Category: Programming]] | |||
[[Category: Videos]] | |||
Latest revision as of 14:12, 9 November 2024
There are several ways of programming FIRST LEGO League Challenge Robots. The most popular new language created by LEGO Education is based on Scratch called Word Blocks. A version of this Scratch-based language called EV3 Classroom is also available for those using EV3 sets rather than SPIKE Prime. LEGO also provides a special version of a line-by-line language called Python for programming robots.
General
- 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.
- Alternate Programming Languages For FLL A comparison table of the variety of languages that can be used to program FLL Challenge robots
- Programming a Robot from Anywhere in the World. Information on how a team can program their robot when they can't get together in person.
SPIKE Prime Software
SPIKE Prime Word Blocks (Scratch)
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 app can be downloaded and installed before or after receiving the SPIKE Prime set.
- SPIKE Prime App Version 2 (2022 version)
- SPIKE Prime App Version 3 (latest version)
- This new version of the app includes a variety of improvements but also reduces the number of choices for Movement blocks.
- LEGO Education description of SPIKE Prime App Version 3
- Youtube video about the changes in App Version 3
- The current version of SPIKE App Version 3 will allow you to open projects saved using Spike App version 2 also known as Legacy.
- When you open Word Block projects created using Version 2 they are automatically translated so that the program will work in Spike App 3.
- To open a project created with Version 2
- Click on File then Open.
- In the File Name field type *.* to get it to display your Version 2 projects by showing each name followed by ".llsp".
- You can then select and open one of your Version 2 projects.
- Even though it will be translated to App 3 you may need to make some adjustments.
- Slides showing how to convert Movement Blocks from App Version 2 to Version 3
- If you upgrade to version 3 of the SPIKE Prime App, it will update your hub to new firmware that works with the new app.
- If you decide to go back to version 2, you will need to change the firmware back to a version that works with App Version 2 of the App. See this link to downgrade your Hub firmware to the compatible version.
Slide Set for Coaches
Each year ORTOP holds workshops in the summer and early fall.
Introductory Exercises for Coaches
- Introduction to SPIKE Prime Table of Contents
- Getting ready to use your SPIKE Prime Kit
- Exercise 1 - Building your first SPIKE Prime robot and teaching it to move
- Exercise 2 - Teaching your robot to drive
- Exercise 3 - Using a Color Sensor
- Exercise 4 - Putting it all together
- Appendix A - Walk through of SPIKE Prime Hub
- Appendix B - Walk through of SPIKE Prime Project Screen for writing programs
Season-Independent Lessons 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 this link to find out more.
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: Eaglet visits the Animal Shelter with the help of his Chariot robot programmed using a My Block.
Episode 10: Chariot delivers food to the Animal Shelter while we learn how to use a variable to count stripes to improve the robot's navigation. We also learn more about use My Blocks as well as how to display numbers on the top of the hub.
Videos for Coaches
- Geek Tutorials from LEGO Education
- Programming Using Scratch-based Languages
- Videos on SPIKE Prime Sensors
- See also link to line-following video and Play Lists below.
Information Specific to Particular Computers
External Resources
Software
Learning Resources
- List of Word Blocks from FIRST
- Lesson Plan Units from LEGO Education Units of Lessons featuring Word Blocks
- Competition Ready
- Training Camp 1 - Driving Around
- Training Camp 2 - Playing with Objects
- Training Camp 3 - Reacting to Lines
- Material from FLL Tutorials relating to the Guided Mission
- Code file with comments and relevant videos
- Droid Bot M used in above
- Video on making Guided Mission more reliable
- Competition Ready
- SPIKE Prime Lessons The PrimeLessons.org website with a variety of learning resources
- Unofficial SPIKE Prime Block Guide by PrimeLessons.org Descriptions of each block in the graphical Word Blocks Language.
- Backing Up Project Files Reduce the risk of losing your work by keeping backup copies.
Focused Tutorials
- Gyro Turn
- Lessons from LegoEducation.com
- Gyro Move Straight
- Lessons from PrimeLessons.com
- Line Following
- Video: Spike Prime Line Following Robot With Instructions & Program
- Lessons from PrimeLessons.com
Play Lists
- LEGO SPIKE Prime Tutorial videos from Creator Academy Australia
- Getting Started with LEGO Education SPIKE Prime Very short videos from LEGO Education
SPIKE Prime Python
Videos on Programming SPIKE Prime Robots Using Python
GitHub Resources by ORTOP
External Resources
- Prime Lessons
- Python is included with the standard SPIKE Prime software from LEGO Education
- SPIKE Prime Python from LEGO Education
- Video: Getting Started with Python on SPIKE Prime
- Video: Program a FLL Line Following in Python with Spike Prime
- Code for controlling a pair of motors
- Advanced function descriptions
Mindstorms EV3 Software
Mindstorms EV3 Classroom (Scratch)
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
- 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.
- Reference Document from LEGO Education
- Calculating rotations for EV3 movement
- Color Sensor Programming from EV3Lessons.com
- Gyro Programming from EV3Lessons.com
- Line Following from EV3Lessons.com
Mindstorms EV3 Python
LEGO Education also provides a version of Python, a line-by-line programming language, for the Mindstorms EV3.
External Resources
- LEGO Education's Python for EV3 page
- Line Following Programs
Mindstorms EV3 Lab Software
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
- Becoming Familiar with Your EV3
- Lab 1 – Getting Your EV3 To Move and Respond to Its Environment
- Lab 2 – Using a Color Sensor
- Lab 3 – Your Color Sensor Final Exam
- Lab 4 – Putting it All Together
- Appendix A - More Things You Will Need to Know about the EV3 Programming System
Wiki Articles
External Resources
Software
- Mindstorms EV3 Lab software from LEGO Education Previous version of EV3 Software. See EV3 Classroom above for the current software for EV3.
Documentation
Video Tutorials
- STEM Robotics
- Catlin Gable School
- Tufts University
Focused Tutorials
- Gyro Programming from EV3Lessons.com
- Line Following from EV3Lessons.com