Introducing the breadboard
The breadboard is a prototyping tool for electronic circuits. It allows electronic components to be connected together without soldering. Breadboards are available in a variety of sizes and shapes, but the one we’re using (shown on the right) is usually called a mini-breadboard. These retail online for roughly between €3 and €5.
In the two centre panels of the breadboard, each short row of 5 holes (e.g. the row a1 to e1) allows the legs of up to 5 electronic components (or wires) to be electrically connected. Beneath each row of five holes is a single long metal clip that clasps anything inserted in that row. Because the clip conducts electricity, it forms an electrical connection between the components.
Running down the full length of each side of the breadboard are two long continuously connected holes (indicated by the continuous red and blue lines). These provide a convenient way of distributing power supply voltages throughout the circuit. They are often referred to as the power rails. In the RoboSlam design, the left rails will be used for 0V (blue) and 3V (red), while the right pair of rails will be used for 0V (blue) and 6V (red).
Inserting the ICs into the breadboard
An integrated circuit (IC) is a microchip. It contains a tiny semiconductor circuit, enclosed in a plastic package that provides a set of electrical connections. ICs are manufactured in a variety of package types, but the ones we are using are in dual in-line packages (DIPs) which are easy to insert into a breadboard.
WARNING! These chips need to be inserted extremely carefully into the breadboard since the connecting pins are very easy to bend and break.
- MSP430G2553 : between e5 and f14
- SN754410NE: between e17 and f24
The MSP430G2553 microcontroller is the brains of this device. It’s the 20-pin DIP IC on the upper end of the breadboard (between a5 and f14). A microcontroller is a single-chip computer, which contains a microprocessor, RAM, flash memory and a number of peripheral circuits for interfacing to other devices. Desktop and laptop computers interact with the outside world through monitors, keyboards, mice, wifi, etc. However, although microcontrollers are also computers, they interact with the outside world using electrical signals channeled through their connecting pins. We will be writing a computer program to switch the voltages on some of the MSP430’s pins back and forth between 0V and 3V to switch motors on and off.
The second chip on the breadboard is the SN754410NE driver IC. The electrical signals from the MSP430 are low-power signals which do not provide enough current to drive motors directly. The driver IC has 4 digital inputs and 4 digital outputs. A low power logic voltage signal (0V or 3V, and only low current) arriving at each of its inputs is translated into a higher power output signal (0V or 6V, and potentially high current) from one of its outputs.
Ultimately, the battery voltage to the circuit (6V from 4xAA batteries) will be connected to the power rails on the right side of the breadboard. A reduced version of this voltage (3V approx) needs to be supplied to the rails on the left side of the breadboard. Power also needs to be supplied to the two ICs.
- 30mm red wire: between 3V (left) red rail and a5
- 30mm red wire: between 6V (right) red rail and j17
- 50mm red wire: between g17 and d24
- 30mm black wire: between right 0V (blue) rail and j5
- 30mm black wire: between right 0V (blue) rail and j20
- 30mm black wire: between left 0V (blue) rail and a29
- 30mm black wire: between e29 and f29
- 30mm black wire: between right 0V (blue) rail and j29
- 1N4001 rectifier diode: between 3V (left) red rail and a30 (the end of the diode marked with the silver band should be connected to the red rail)
- Green LED: between e30 and f30 (the side of the LED that is slightly flattened should be connected to e30)
- 1N4001 rectifier diode: between 6V (right) red rail and j30 (the end of the diode marked with the silver band should be connected to j30)
Adding the LaunchPad connections
We use a 4-pin header (between b2 and b4) to connect the programming cable from the LaunchPad to the breadboard. We use a PC to write the computer program that will run on the microcontroller, and to compile that program into machine code. The LaunchPad is what we use to download the compiled machine code onto the microcontroller itself, where it will be stored in flash memory and will run each time the robot’s power is turned on.
To download the program onto the MSP, 4 connections are requires between it and the LaunchPad, as well as one pull-up resistor:
- 4-pin header: between b1 and b4 (the 4-pin header contains four short parallel metal pins set in a small black rectangual plastic bar)
- 40mm green wire: between c1 and c7
- 40mm yellow wire: between d2 and d8
- 50mm orange wire: between e3 and f9
- 40mm white wire: between e4 and f8
- 10kΩ resistor: between 3V (left) red rail and a3 (the 10kΩ resistor is the one with the following coloured bands: brown, black, orange, gold)
Connecting the MSP430 to the driver chip and an LED
Connecting the breadboard circuit to the rest of the robot