WA-ACTE Summer Conference Presentations on Robotics and Lock Picking

(Updated: Additional links requested in the session at bottom)

I’m presenting to middle and high school CTE teachers at this year’s WA-ACTE Summer Conference on two topics: Robotics and Lock Picking. The “Lockpicking and other mischievous way to learn engineering” looks at using lock picking as a way to get students excited about learning how locks work and how to use tools to make lock picks. My other talk is “DIY Robotics – Affordable Robotics for Every Classroom and Beyond“. In this one, I cover common issues with robotics in the classroom (cost of the robotics kits being the biggest one) and how we can use open source robotics systems like Arduinos to overcome many of these problems. Below are resources for anyone interested in getting started with robotics in the classroom. If you want to try using Arduinos in your classroom, feel free to contact me with questions. Unlike the prepackaged kits, there isn’t a company to reach out to with questions so the community has to help each other.

What do you need to get started?

  • Arduino – You certainly need one of these but Arduino isn’t just one thing, there are many types of Arduinos that have different characteristics so which one to pick. In Renton Schools, we opted for Arduino Nanos originally and are now switching to the Leonardo. Both are great, especially for mobile robots. If you’re just getting started with Arduino, get the Uno. Note that Arduino is open source so anyone can manufacture Arduino-compatible boards that usually cost less than official Arduinos. This is intentional. Also, you can find Arduino (both official and third-party) on many other websites that will give different levels of support/price. For lots of support look at places like AdaFruit (their Uno equivalent is called “METRO”) and for no support but lower prices, check AliExpress.
  • USB Cable – Often your Arduino will come with one, but not always. Just note which type it requires (mini, micro, USB-C, etc) and if it didn’t come with one, you likely have an old cable in a drawer that will work.
  • Programming Environment – This is where you write the code before loading it onto your Arduino. I’ll outline several options for this below. For now just know that you need a computer with some software installed to program your robot.

That’s all you need to get started. After the basics, you’ll want to start getting sensor, motors, lights, speakers, and all the other items to make your robot do everything you want. For now, we’ll just look at programming the built-in LED to keep things as simple as possible

Programming Environments

There are different ways to program your Arduino. Most online tutorials will assume you’re writing code but there are block-based coding languages as well. These are helpful for younger students and people just getting started with coding.

  • Arduino IDE – This is the default programming environment. You can download it for free and install it on Windows, Mac, or Linux machines. There isn’t a version for Chromebooks. They do offer an online editor that can work with ChromeOS, but I haven’t had good luck running it on Chromebooks at our schools.
  • Makeblock or mBlock – This is an online editor that works with Chromebooks. It also defaults to block-based coding and will translate your blocks into Arduino code that you can see on the right side. You have to install a plug-in to allow it access to your USB port for uploading code. You also need to tell it you’re using at Arduino when starting. Do this by clicking “Add” on the Devices tab on the right edge of the screen and selecting the Arduino you’re using.
  • CodeBender – This is another online editor, but only allows for text based coding. I’m not a huge fan but I know many teachers have experience using CodeBender for other projects so if you’re already comfortable with it, give it a try

Blinking LED

The first project to try when starting is blinking the built-in LED. Below is the code in both the Arduino IDE and mBlocks. In both examples, we blink the built-in LED on pin 13 on for one second and off for one second.

Using Arduino IDE, you always need to have two sections of code “void setup()” and “void loop()”. The setup runs once when the Arduino turns on, then goes to the loop code with continues to run over and over until you unplug it. In the setup part of this code, we only tell the Arduino that we’re using pin 13 as output. In the loop section, we turn on pin 13 (set it to high), wait a second, turn pin 13 off, and wait another second before repeating it.

After the code is written, click Tools >> Board and select the type of Arduino you’re using (Nano, Leonardo, Uno, etc). Then click Tools >> Port and select which port on your computer it’s connected to. Now click the arrow at the top (next to the check mark) to load your code onto your Arduino and watch the LED blink. Now try changing the code to make it blink in a different pattern like on for two seconds and off for 1/4 second.

With mBlock, once you’ve added your Arduino on the Device tab, you can start coding with the “when Arduino starts up” block in the Events section. Next add the other blocks shown above to turn pin 13 on (set output to high), wait 1 second, turn pin 13 off, wait another second, and repeat forever.

Make sure your Arduino is plugged in and click Connect. It will ask what port you want to use and usually only gives you one option. Once connected, you can click Upload Code to see it work. You can also click the “Arduinoc” tab to see the text-based code. Now change the code (either the blocks or the text) and see if you can get the Arduino to blink in a different pattern.

Project Ideas

Now it’s time to start building more advance projects but what to build? You could build a mobile temperature sensor or temperature logger, create a digital egg for an egg drop challenge using an accelerometer, or start building a $20 mobile robot. If none of those are exciting enough, there are plenty of project ideas online:

  • Arduino Project Hub – The Arduino website hosts a repository of different projects from simple to very advanced. There will certainly be a project there for anyone.
  • Instructables – There are over 200 Arduino project on there. Some are very well written and other leave a lot for you to figure out along the way. If you’re just looking for ideas, this is another great place
  • Student imagination – Your students will be able to come up with too many project ideas. Many will be much more complex than they are able to create, but if they break the large project ideas down into smaller and smaller pieces, they will find the intersection of their dreams and the edge of their skills. Have them start there then learn, build, and expand the project until it can do much more.

You now have the basic. Create some cool projects, reach out if you have questions, and please send me photos of what you create.

Update with additional resources requested during the session

  • Renton Custom Leonardo Projects – Several of you asked for resources related to the custom Renton CTE Arduino Leonardo. This site shows a few basic projects and how individual components can be combined into larger projects
  • Class projects and guide – We discussed the list of projects I have the students go through during their first Tri to understand the basic of Arduinos. This page list those projects and walks you through many of them. The formatting was corrupted a bit when Google switched from Classic Sites to the new version but hopefully the content is still good. This is based on the Arduino Nano which is easy to get on any of the sites listed above
  • Robotics Parts List – The most common question was where to buy supplies. This page was badly corrupted so the formatting is terrible (working on it). The most common links people wanted were for:
    • Chassis – The chassis are from Feetek (the spelling changes sometimes so don’t worry if it’s a bit off). I found it here before and ordered the FT-MC-005 which doesn’t seem to be available currently. I’ve emailed with them before and they’ve been super helpful getting the FT-MC-005 even when it wasn’t shown. If not, the other option to get the same thing is to “Start Order Request” on this page and explain that you want the 2WD Chassis with servos (the other option is for geared motors. Servos have 3 wires and are what all my examples use. Geared motors only have two wires and require an additional piece of hardware.)
    • Storage Boxes – These are small, inexpensive storage boxes that will hold the robots and are easily stackable
    • Arduinos – You can get these on  Amazon or AliExpress for a little less
This entry was posted in Education, Maker and tagged . Bookmark the permalink.

1 Response to WA-ACTE Summer Conference Presentations on Robotics and Lock Picking

  1. Pingback: Lockpicking and Other Mischievous Ways to Learn Engineering | A Runner's Ramblings

Leave a comment