This project demonstrates the prototype of a breadboard with programmable interconnections. Using this breadboard one can simply plug in the components and make the connections with the help of a microcontroller program. The design is at its very initial stage and lot of improvements need to be done. This article discusses about the details of the work done on this project so far.
This project uses only the commonly available electronic components from the market and very simple arrangement of them and makes use of the techniques of serial to parallel converters, analog switches etc. The Arduino board is used in this project as a microcontroller handling the process of making and breaking connections with different points of the breadboard.
The commonly available Analog Switch IC is used in this project for the interconnections and a serial to parallel converter IC is used to set the Analog switches in their ON/OFF states. The Arduino board receives the data from the serial port of the PC and transfer it serially to the serial to parallel converter IC whose individual outputs will turn ON/OFF the corresponding analog switches.
Fig. 1: Prototype of Arduino based Breadboard with Programmable Interconnections
Breadboard Pins
The prototype is built using the modular assembly approach. The project includes four different parts as listed below;
1) Breadboard pins
2) Analog Switches
3) Serial to Parallel converters
4) Arduino
The following block diagram represents the way in which the different parts are connected together.
Fig. 2: Overview of Arduino based Breadboard with Programmable Interconnections
1) Breadboard pins
The breadboard pins are made of simple female burg sticks, into which the components can be plugged in. The burg stick pins are then connected to the pins of the Analog Switch IC. In this project a breadboard of pin size 4×5 is created and the image of the same is given below;
Fig. 3: Image showing layout of Burg Pin Sticks for 4X5 Breadboard
Unlike the traditional breadboard design, in this particular breadboard no pins are connected together. Connections can be made by programming only. The pins are arranged in the board in the form of matrix but they actually forms serial pins at its output as shown below; It will help to program the connection using the method of serial programming the analog switches.
Fig. 4: Image of Matrix for Breadboard with Programmable Interconnections
The burg sticks are used for this breadboard pins because they are easily available and can be cut and connect in any pin numbers. Almost all the electronic components which can be plugged in the breadboard can also be plugged in this breadboard made of female burg sticks.
Fig. 5: Image of Burg Sticks placed on PCB
Analog Switches
2) Analog Switches
In this project an array of the Analog switch IC CD4066 is used whose switch controls are connected to the parallel to serial converter and the terminals of switches are connected in between the breadboard pins. Whenever there is logic high on a switch control pins of the IC, the corresponding switch will get open and the current will flow through it. Thus the pins where this switches are connected will become ideally a short circuit path. The arrangement of the Analog Switches are in such a way that they can be connected Serial to Parallel converter IC array in a parallel connection.
Fig. 6: Image of Analog Switches placed on PCB
Serial to Parallel Converters
3) Serial to Parallel converters
Serial to Parallel converters basically convert the serial data into parallel form. They have a single pin for receiving the serial data and a number of parallel pins where the serial data will appear in the parallel form. A cascaded connection of Serial to Parallel converter ICs are used in this project which receives the serial data from the Arduino board. The output is the parallel side where the control pins of the Analog Switches are connected and the serial input is connected to the output of the Arduino board.
Fig. 7: Image of Serial to Parallel Port Converter
Arduino
4) Arduino
An Arduino Board is AVR microcontroller based board which follows the standard arduino schematic and is flashed with the arduino boot-loader. The arduino board has all the required circuitry to get the built-in AVR microcontroller running. The output or inputs can be taken from the boards or given to the board using convenient connectors. Both digital and analog inputs and outputs are available in all arduino boards. The arduino boards can also communicate with other devices using standard communication ports like USART, IIC, and USB etc. The Arduino pro-mini board is used in this project because this is the smallest board among the popular Arduino boards.
The Arduino board in this project can receive the data from a PC and can use the same data to program the device. The arduino board uses its GPIO pins to shift the data serially into the Serial to Parallel converter array. Once the shifting is completed the Arduino activates the strobe pin of the entire Serial to Parallel converter array and the serial data will appear at the parallel pins. This parallel pins are connected to the Analog Switch IC which are then turned ON/OFF based on whether there is logic 0 or logic 1 in respective parallel pins.
Fig. 8: Image of Arduino Pro Mini
The Arduino board receives the data serially from the serial port of the PC using the serial communication techniques.
Demonstration
About the demonstration
In the demonstration of this programmable breadboard, a Bi-color LED is used which can be connected to a power source through two different ways to get two different color light. The data corresponding to two different circuit paths are stored in two different text files in a PC. Transmitting any of these text file will make a corresponding connection in the 4*5 programmable breadboard and the Bi-color LED will glow with the respective color.
Fig. 9: Image of complete prototype of Arduino based Breadboard with Programmable Interconnections
Short comings and Future possibilities
Since the device is designed to respond data received from a PC, applications like circuit simulators, PCB designers etc. can be developed which can program the device to emulate circuits. The major short coming in this prototype is that the CD4066 introduce significant amount of resistance in the circuit path which may not be suitable for the working of some circuits.
Project Source Code
###
int STROBE = 5; int DATA = 6; int CLOCK = 7; int led = 13; int i = 0; char dat [ 40 ]; void setup() { digitalWrite(STROBE, LOW); digitalWrite(DATA, LOW); digitalWrite(CLOCK, LOW); pinMode(STROBE, OUTPUT); pinMode(DATA, OUTPUT); pinMode(CLOCK, OUTPUT); digitalWrite(led, LOW); pinMode(led, OUTPUT); Serial.begin(2400); for ( i = 0; i < 40; i ++ ) { while (!Serial.available()); dat[i] = Serial.read(); } digitalWrite(led, HIGH); //---------------------------------// for ( i = 0; i < 40; i ++ ) { digitalWrite(CLOCK, LOW); delayMicroseconds(50); digitalWrite(DATA, LOW); delayMicroseconds(50); digitalWrite(CLOCK, HIGH); delayMicroseconds(50); } //---------------------------------// for ( i = 0; i < 40; i ++ ) { digitalWrite(CLOCK, LOW); delayMicroseconds(50); if('0' == dat[i]) digitalWrite(DATA, LOW); else digitalWrite(DATA, HIGH); delayMicroseconds(50); digitalWrite(CLOCK, HIGH); delayMicroseconds(50); } digitalWrite(STROBE, HIGH); } void loop() { ; }###
Project Datasheet
Project Video
Filed Under: Electronic Projects
Filed Under: Electronic Projects
Questions related to this article?
👉Ask and discuss on EDAboard.com and Electro-Tech-Online.com forums.
Tell Us What You Think!!
You must be logged in to post a comment.