Have each student use a 9V battery and an Arduino as a 5V power source plugged into a breadboard to create some simple circuits and learn how to use a multimeter. Use this worksheet (one per student, and one for yourself!) and go through it step by step with them, adding your own observations and knowledge about circuits and components as you go. Skip the math if the students aren’t into it. But let them ask lots of questions and dive as deep as they want to go with it.
AfroTech Mods: Basic electronics Videos
Topics:
● How to use a multimeter to measure voltage, resistance, and current
● Reading resistor color bands
● Creating circuits on a breadboard
● Resistors in parallel and series
● Ohm’s Law: V=IR
Supplies( for each student):
Arduino Uno
Laptop Computer
USBB--->USP A Cables
USB A to USB C Adapters
9V Battery with Barrel Jack Connector
Multimeter
------------------------
LEDs
330 Ohm Resistors
Other Resistors
Solderless Breadboard
Wires
Digitally share a copy of the Arduino Book Projects with the students so that they can follow along.
Note: You probably won’t finish both #1 and #2 in just this first hour. Feel free to start #2 and then pick it up the next day.
Instruction Guide:
Explain how the different components work, especially the buttons. If they put their buttons in the wrong configuration, they won’t work.
Walk them through both the Series and Parallel circuits, making sure students understand what’s going on and are successful.
Topics:
● Circuits as loops, Ground
● Directionality of LEDs
● Need for resistors so LED doesn’t get full 5V load
● Series and Parallel circuits
● How Breadboards work
Taking it Further (giving them 10-ish minutes of independent time with it):
● Add more LEDs and just mess around with it
● Add differently colored LEDs and have buttons that only activate particular colors. Experiment with combinations of LEDs and buttons so that many LEDs are activated by just one button, but there are multiple button/LED groups.
Instruction Guide:
Explain what this project DOES, and introduce the components. Then have students look at the circuit diagram, and predict which pins will be INPUT and OUTPUT, as well as explain the function of different parts of the circuit (Focus on how the button functions here. How does the code “know” when the button is pressed or not?). Try to get them to understand the logic of how the circuit is put together, and how the code will reflect that before even letting them see the code. Then, show the code and have them identify how each part corresponds to the physical circuit.
Encourage students to not EXACTLY follow the circuit diagrams for their breadboards, because sometimes the images are unrealistic and components don’t fit that way.
Give students time to build the circuit, connect to their computers, and upload the code from the Examples file. Troubleshoot as needed, and encourage them to assist their peers.
Topics:
● General aspects of the code: Setup & Loop, initializing Variables, Integers
● Using INPUT pins to receive data
Taking it Further giving them 10-ish minutes of independent time with it):
● Have students swap/scramble what the LEDs do when the button is pressed
● Add more LEDs and expand the code. Example: One of each color LED, button press = cool colors on, not pressed = warm colors on.
If Push Button is pressed, Green LED is turned OFF and Red LEDs blink alternatively. Otherwise Green LED is turned ON and Red LEDs are turned OFF.
/*
Spaceship Interface
*/
// Create a global variable to hold the state of the switch. This variable is persistent throughout the program. Whenever you refer to switchState, you’re talking about the number it holds.
int switchstate = 0;
void setup() {
// declare the LED pins as outputs
pinMode(3, OUTPUT);
pinMode(4, OUTPUT);
pinMode(5, OUTPUT);
// declare the switch pin as an input
pinMode(2, INPUT);
}
void loop() {
// read the value of the switch. digitalRead() checks to see if there is voltage on the pin or not
switchstate = digitalRead(2);
// if the button is not pressed turn on the green LED and off the red LEDs
if (switchstate == LOW) {
digitalWrite(3, HIGH); // turn the green LED on pin 3 on
digitalWrite(4, LOW); // turn the red LED on pin 4 off
digitalWrite(5, LOW); // turn the red LED on pin 5 off
}
// this else is part of the above if() statement. if the switch is not LOW (the button is pressed) turn off the green LED and blink alternatively the red LEDs
else {
digitalWrite(3, LOW); // turn the green LED on pin 3 off
digitalWrite(4, LOW); // turn the red LED on pin 4 off
digitalWrite(5, HIGH); // turn the red LED on pin 5 on
// wait for a quarter second before changing the light
delay(250);
digitalWrite(4, HIGH); // turn the red LED on pin 4 on
digitalWrite(5, LOW); // turn the red LED on pin 5 off
// wait for a quarter second before changing the light
delay(250);
}
}
Arduino Basics: https://arduinotogo.com/
Science Buddies: Physical Computing Projects with Arduino