Home Free Lab ReportsINTRODUCTION

INTRODUCTION

INTRODUCTION:
The quiz buzzer systems are widely used in educational institutes and TV programmes. In quiz contests questions are asked by the quiz programmer one by one to teams of the program; and one of the teams is supposed to answer first. The team who is willing to answer first will be allowed to give the answer. Normally, buzzer system is used for this purpose, the team which presses the buzzer first is permitted to give the answer. Sometimes, it becomes very difficult to identify which team has pressed the switch first when two teams press the buzzer within a very small-time gap. In such cases the decision can be unfair due to human intervention. The authors in the present paper have designed and developed a fastest finger first quiz system which takes care of this problem. This buzzer system disables the other inputs as soon as anyone team presses first. This fastest finger first buzzer system has been designed for maximum of eight teams. It is built using open source Arduino UNO, which is very simple to use.
EXPERIMENTAL SETUP:
In this system, Arduino UNO, an entry level microcontroller board driven by the ATMega328 microcontroller is used. ATMega328 is a single chip microcontroller created by Atmel in mega AVR family. This is an 8-bit microcontroller and has 32 KB internal built in Flash memory and 2 KB Static Random-Access Memory (SRAM). It also has 1KB Electrically Erasable Programmable Read Only Memory (EEPROM) which helps to store the data, even when the electric supply to the microcontroller fails. It is a single chip microcontroller with 20MHz clock oscillator, 14 I/O programmable pins. Other features of this microcontroller consist of advanced RISC (Reduced Instruction Set Computers) architecture, good performance, low power consumption, real time counter having separate oscillator 1-3. The Arduino UNO board is the first in a series of USB Arduino board, which may be designed in laboratory or it may be procured from the online shop. It is basically an open source programmable circuit board and can be used in wide variety of simple and complex projects.
The present system has eight input pins corresponding to eight teams. The output is displayed on a seven-segment display (interfaced with Arduino), which shows the number corresponding to the team who has pressed the button first. A buzzer is used to give sound alarm for few seconds. It indicates that someone team has pressed his switch whose number is displayed on the seven-segment display connected with Arduino. The team whose number is displayed on the display will be allowed to answer. For the next question the system is reset by the operator and display will show the number “0”. And the same process will be started further. The connections to the Arduino board with the seven-segment display and to the input & output pins are shown fig.1.
This 8-player quiz-buzzer designed by the authors can be used in various competitions organised in educational institutes to identify the team who has pressed the buzzer first. Advantage of this quiz buzzer system is once a team has pressed the switch others team may press the switch but only number is displayed on display who press switch first. So, with the help of this circuit we can easily identify the team who has pressed the switch first. It is a simple circuit with minimum number of components and can easily be built. The ARDUINO considers the time delay between two buttons and the accurate number is displayed. When one of the switches is pressed, the buzzer starts ringing and the corresponding number is displayed on the 7-segment display connected with the system. The ringing of the buzzer stops after sometimes (say after few seconds), however, the seven-segment display will continue showing the team number who has pressed the switch first until it is reset by the reset button manually.
The figures 2 and 3 depict the inside and front view of the system respectively designed by the authors. The connections from the circuit are taken out for the eight push to ON switched. The system was found to work very accurately and efficiently.

Fig. 1

We Will Write a Custom Essay Specifically
For You For Only $13.90/page!


order now

(a) (b)
Fig. 2

SOFTWARE PROGRAMMING:
Once the circuit has been developed with Arduino UNO module, it is needed to upload the program (known as a sketch) to the Arduino. The software used to create Arduino sketches is called the IDE which stands for Integrated Development Environment 4. Program for the Microcontroller Atmega-328 is written, which is very simple to understand. It is uploaded either by Laptop or Computer through USB port. The sketch designed by the authors for the above-mentioned requirements are as follows:

Sketch for Fastest Finger First Quiz System for Arduino:

int x=1; // take int value as 1
void setup()
{
pinMode(A0,INPUT); //analog pins as input
pinMode(A1,INPUT);
pinMode(A2,INPUT);
pinMode(A3,INPUT);
pinMode(A4,INPUT);
pinMode(A5,INPUT);
pinMode(0,INPUT); //digital pins as input
pinMode(1,INPUT);
pinMode(12,OUTPUT); //Digital pins as output for seven seg display
pinMode(11,OUTPUT);
pinMode(10,OUTPUT);
pinMode(9,OUTPUT);
pinMode(8,OUTPUT);
pinMode(7,OUTPUT);
pinMode(6,OUTPUT);
pinMode(3,OUTPUT); // output for buzzer
// set initially display to 0
digitalWrite(12,HIGH); // seg a
digitalWrite(11,HIGH); // seg b
digitalWrite(10,HIGH); // seg c
digitalWrite(9,HIGH); //seg d
digitalWrite(8,HIGH); //seg e
digitalWrite(7,HIGH); // seg f
digitalWrite(6,LOW); //seg g
digitalWrite(3,LOW); // buzzer as off
}
void loop()
{
int a=digitalRead(A0); // reading pin values for 8 buttons
int b=digitalRead(A1);
int c=digitalRead(A2);
int d=digitalRead(A3);
int e=digitalRead(A4);
int f=digitalRead(A5);
int g=digitalRead(0);
int h=digitalRead(1);
if(a==LOW) //if 1 player press button
{
if(x==1) // check if x is 1 if yes then execute the code
{ //delay(1000);
digitalWrite(3,HIGH); // buzzer on
digitalWrite(11,HIGH); // pirnt 1
digitalWrite(10,HIGH);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(12,LOW);
x++; //increment x
}
delay(2000);
digitalWrite(3,LOW); //Buzzer off
}
//delay(1000);
else if(b==LOW) //if player 2 press button
{
if(x==1) // check if x is 1 if yes then execute the code
{
digitalWrite(3,HIGH); // buzzer on
digitalWrite(11,HIGH); // pirnt 2
digitalWrite(12,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,LOW);
digitalWrite(6,HIGH);
digitalWrite(10,LOW);
x++;
}
delay(2000);
digitalWrite(3,LOW); //Buzzer off
}
else if(c==LOW) //if player 3 press button
{
if(x==1) // check if x is 1 if yes then execute the code
{
digitalWrite(3,HIGH); // buzzer on
digitalWrite(11,HIGH); // pirnt 3
digitalWrite(12,HIGH);
digitalWrite(10,HIGH);
digitalWrite(9,HIGH);
digitalWrite(6,HIGH);
digitalWrite(7,LOW);
digitalWrite(8,LOW);
x++;
}
delay(2000);
digitalWrite(3,LOW); //Buzzer off
}
else if(d==LOW) //if player 4 press button
{
if(x==1) // check if x is 1 if yes then execute the code
{
digitalWrite(3,HIGH); // buzzer on
digitalWrite(11,HIGH); // pirnt 4
digitalWrite(10,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(8,LOW);
digitalWrite(9,LOW);
digitalWrite(12,LOW);
x++;
}
delay(2000);
digitalWrite(3,LOW);
}
else if(e==LOW) //if player 5 press button
{
if(x==1) // check if x is 1 if yes then execute the code
{
digitalWrite(3,HIGH); // buzzer on
digitalWrite(10,HIGH); // pirnt 5
digitalWrite(12,HIGH);
digitalWrite(9,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(11,LOW);
digitalWrite(8,LOW);
x++;
}
delay(2000);
digitalWrite(3,LOW); //Buzzer off
}
else if(f==LOW) //if player 6 press button
{
if(x==1) // check if x is 1 if yes then execute the code
{
digitalWrite(3,HIGH); // buzzer on
digitalWrite(10,HIGH); // pirnt 6
digitalWrite(12,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(11,LOW);
x++;
}
delay(2000);
digitalWrite(3,LOW); //Buzzer off
}
else if(g==LOW) //if player 7 press button
{
if(x==1) // check if x is 1 if yes then execute the code
{
digitalWrite(3,HIGH); // buzzer on
digitalWrite(10,HIGH); // pirnt 7
digitalWrite(12,HIGH);
digitalWrite(9,LOW);
digitalWrite(8,LOW);
digitalWrite(7,LOW);
digitalWrite(6,LOW);
digitalWrite(11,HIGH);
x++;
}
delay(2000);
digitalWrite(3,LOW); //Buzzer off
}
else if(h==LOW) //if player 8 press button
{ if(x==1) // check if x is 1 if yes then execute the code
{ digitalWrite(3,HIGH); // buzzer on
digitalWrite(10,HIGH); // pirnt 8
digitalWrite(12,HIGH);
digitalWrite(9,HIGH);
digitalWrite(8,HIGH);
digitalWrite(7,HIGH);
digitalWrite(6,HIGH);
digitalWrite(11,HIGH);
x++;
//delay(1000);
}
delay(2000);
digitalWrite(3,LOW); //Buzzer off
}
}

CONCLUSION:
The program written above was uploaded to the Arduino module of the system through USB connection of the computer or laptop and the system was verified by pressing the switches many times by different persons who sometimes pressed the switches at the same time but the system recognized who pressed the switch firs; in fact the system gives the result even if there was a time gap between the switches of the order of fraction of a second. It is, therefore, said that the system designed by the authors in the present communication found to work successfully. Since the sketch is uploaded in the Electrically Erasable Programmable Read Only Memory (EEPROM), so the program may be changed if need arises.
REFERENCES:
1. J M Hughes, “Arduino: A Technical References”, Publisher O’Reilly, Media INC, May-2016.

2. Michail McRobert, “Beginning Arduino”, 2010 PDF book format available https://www.apress.com/in/book/978143023778.

3. Jack J Purdeem, “Beginning C for Arduino: Learn C Programming for Arduino”, 2012.
4. James A, Langbridge, “Arduino sketches: Tools and Techniques for Programming Wizardry”, 2015.

x

Hi!
I'm Marcia!

Would you like to get a custom essay? How about receiving a customized one?

Check it out