I'm currently planning a new class at my school on prototyping with arduino (which could later morph into more pcb design). I'm stuck on my first hands on lesson. I want the students to see the capabilities of the arduino, but not do anything too complex because I'd hate to fry anything on day 1.

I considered the standard "blink an LED" hello world program, but that wouldn't take up an entire class period. I have an hour and a half, and all the students are using computers that have the IDE set up so I don't need to leave time for setup.

So, what would be a good first lesson? I haven't chosen a board yet, so please specify which board and why you've chosen that one. Wiring diagrams are welcome!

  • $\begingroup$ What materials and resources do you have (e.g. motors, sensors etc.) $\endgroup$ – ItamarG3 Aug 3 '17 at 14:36
  • $\begingroup$ The school hasn't bought anything yet, so I can use anything that isn't outrageously expensive. $\endgroup$ – thesecretmaster Aug 3 '17 at 15:07
  • $\begingroup$ I see. hehe starts formulating an answer $\endgroup$ – ItamarG3 Aug 3 '17 at 15:10
  • $\begingroup$ @ItamarG3 Also you could do some fun stuff with non-uno boards like the primo (wifi, BLE, NFC, IR, etc.) or yun (runs openwrt linux distro) or mega (sooo many pins). $\endgroup$ – thesecretmaster Aug 3 '17 at 15:16

My preferred lesson, using any board that has servo headers (and you can do it even without these), is to show them how to make a servo turn (I have a wheel attached to it ahead of time).

The program is fairly easy to follow for students, and there is a look of shock when it starts moving. I then tell them that they need to attach the servo along with another one to a box, and make a robot that drives forward, and they will need to add three lines of code to their program.

The challenge of adding the three lines is just different enough from what they have, that they will struggle, but similar enough that they can figure it out.

I then introduce the delay command and tell them they need to program their robot to drive around a big box.

This takes about an hour and a half if I prebuild the robots and it is just programming. If they are building them, add at least another 30 min.

The nice thing is that this acts as a great starting lesson to lead into others. Later you can give challenges that require sensors and introduce conditionals. Serial Communication can be used to make them remote control (works better if you have a board with blue tooth communication).

Depending on your budget there are some arduino robot kits starting around $80 that I think are a good value.

  • $\begingroup$ Welcome to Computer Science Educators! Quite an interesting answer. I hope we'll be hearing more from you again. $\endgroup$ – ItamarG3 Aug 5 '17 at 17:25

HD44780. Classic 1, 2 or 4 line LCD alphanumeric displays. The protocol is simple, getting these to work perfectly in practice is gritty (the way similar looking displays can have very different visible address space breaks etc will teach problem solving). Best get a grab bag of all kinds of sundry displays based on that chip.

Have someone (can be students) with some basic electronic prototyping skills wire them up - miswiring them usually leads to destroying them.

  • $\begingroup$ Thanks for the answer! I'd really like to have something that the students (who have little to no experience) can wire themselves, but an LCD display is a great idea also. $\endgroup$ – thesecretmaster Aug 3 '17 at 13:44
  • 1
    $\begingroup$ The important thing NOT to do is sending ANY "high" (non-zero-voltage) signals to the display before it is powered properly. Especially keeping any pin "high" and then switching on can let the smoke out. $\endgroup$ – rackandboneman Aug 3 '17 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.