You have blinked the built-in LEDs on your board. Now it's time to build your own LED circuits on your cyber:bot board's prototyping area.
A diode is an electrical part that only lets electricity flow through it in one direction. A light-emitting diode (LED) emits light when current passes through it. You have to make sure to connect an LED the right way for it to light up. If you plug an LED in backwards it will not hurt it, but it will not emit light.
An LED has two terminals: the anode and the cathode. In the picture below, the anode lead is labeled with the plus-sign (+), and it is the wide part of the triangle in the schematic symbol. The cathode lead is labeled with a minus-sign (-), and it is the line across the point of the triangle in the schematic symbol.
You can tell the anode and cathode apart by the shape of the LED’s plastic case. Look closely — it’s mostly round, but there is a small flat area near the cathode lead. Also note that the LED’s leads are different lengths. Usually, the shorter lead is connected to the cathode.
Always check the LED’s plastic case. Sometimes the leads have been clipped to the same length, or a manufacturer does not follow this convention.
Let's build two LED circuits on your breadboard. In addition to the two LEDs, you will need two resistors. Unlike the LEDs, the resistors do not have positive and negative leads, so you don't have to worry about plugging them in backward. Resistors resist the flow of electrical current. Each one has a value that tells how strongly it resists current flow, measured in ohms, often noted by Greek letter omega: Ω. Take a look at that Resistor Color Codes page [1] to see how its bands indicate its value.
Parts Needed
(2) red LEDs
(2) 220 ohm resistors (red-red-brown)
(misc) Jumper wires
This is the same test code that was used to blink the built-in P20 LED earlier in this tutorial, with the I/O pin number updated.
Enter, save, and flash the script pin_8_blink.
# pin_8_blink from cyberbot import * while True: bot(8).write_digital(1) sleep(2000) bot(8).write_digital(0) sleep(1000)
With the write_digital function, you have been using a 1 to connect the I/O pin to 3.3V, or 0 to connect to 0 V. However, you can also use True or False instead of 1 or 0. Let's try it.
bot(8).write_digital(True) sleep(2000) bot(8).write_digital(False) sleep(1000)
Let's take advantage of the programmable write_digital function. Paired with the for loop, it’s easy to make the LEDs light up one at a time.
# flashing_LEDs from cyberbot import * while True: for pin_number in range(8, 10): bot(pin_number).write_digital(1) sleep(50) bot(pin_number).write_digital(0) sleep(50)
Links
[1] https://learn.parallax.com/support/reference/resistor-color-codes