Introduction:
Bluetooth based wireless notice board using Arduino will help us in passing any message almost immediately without any delay just by sending a SMS which is better and more reliable than the old traditional way of passing the message on notice board. This proposed technology can be used in colleges, many public places, to enhance the security system and also make awareness of the emergency situations and avoid many dangers. For this purpose, Android based application programs for Bluetooth and Wi-Fi communication between Android based personal digital assistant devices and remote wireless display board are used Using the developed system, two different applications for displaying messages on a remote digital notice board and wireless person calling has been implemented. It also helps in saving the time and the cost for paper and printing hardware.
Components Required
- Arduino Uno
- HC-05 Bluetooth module
- 16x2 LCD display module
- Jumper wires and breadboard
- Power Supply
- Smartphone (with a voice assistant app)
Understanding the Components
Arduino Board: Arduino is an open-source platform with a microcontroller that serves as the brain of our project. It facilitates easy interfacing of different components and can be programmed using a user-friendly Integrated Development Environment (IDE).
16x2 LCD Display: The 16x2 LCD (Liquid Crystal Display) is a versatile and widely used display module with two rows of 16 characters each. It provides a simple and compact way to display information.
HC-05 Bluetooth Module: The Bluetooth module enables wireless communication between the Arduino and a smartphone or any Bluetooth-enabled device.
Jumper Wires: These are essential for connecting the components together on the breadboard.
Power Source: You can power the Arduino using a USB cable or an external power supply.
Building the Bluetooth-Controlled Wireless Notice Board
Step 1: Assembling the Hardware
Connect the components as follows:
Connect the 16x2 display to the Arduino-
- RS pin of LCD to digital pin-8
- Enable pin is connected to digital pin-9
- D4 pin is connected to digital pin -10
- D5 pin is connected to digital pin-11
- D6 pin is connected to digital pin-12
- D7 pin is connected to digital pin-13
- Read/Write pin is connected to GND
- VSS pin is connected to the GND terminal
- VCC pin is connected to 5V
Connect the VCC and GND pins of the Bluetooth module to the 5V and GND pins of the Arduino, respectively.
Next, connect the Bluetooth module to the Arduino. Connect the RXD pin of the Bluetooth module to the TX pin on the Arduino and the TXD pin to the RX pin on the Arduino. This will allow communication between the Bluetooth module and the Arduino.
Power Supply:
- Connect the positive terminal of the power supply to the Vin Pin of the Arduino.
- Connect the negative terminal of the power supply to the GND pin of the Arduino
Step 2: Install Required Libraries
To make our project more manageable, we'll utilize existing libraries. In the Arduino IDE, install the "LiquidCrystal" library for the 16x2 display and the "SoftwareSerial" library for the Bluetooth module.
Step 3: Writing the Arduino Sketch
Now, it's time to write the Arduino sketch that will control the communication between the Bluetooth module and the display. The sketch will establish a Bluetooth connection and receive data from the mobile device to display on the LCD.
Step 4: Uploading the Sketch
Upload the Arduino sketch to your board and ensure there are no errors during the compilation process.
Step 5: Setup the Android App for controlling
To connect the Bluetooth-controlled Wireless Notice Board with your phone, follow these steps:
- Open the "Arduino Bluetooth Voice Controll" app on your Android device.
- Turn on the Bluetooth on your phone by going to your phone's settings.
- Connect your phone to the HC-05 Bluetooth module by clicking Bluetooth icon of the app. If you have a new HC-05 module, there is an additional step before connecting.
- Go to the Bluetooth settings on your phone.
- Search for Bluetooth devices.
- You will find a Bluetooth device named HC-05.
- Pair the Bluetooth device with your phone by selecting it.
- During the pairing process, you will be prompted to enter a password.
- The default password for HC-05 is usually either 1234 or 0000.
- Enter the password and proceed with the pairing process.
- Once the pairing is successful, your Bluetooth Controlled Wireless Notice Board is now connected to your Android device.
Step 6: Displaying Messages on the Notice Board
As you send messages via Bluetooth, the Arduino will process the data and display it on the 16x2 LCD. Voila! Your wireless notice board is ready to showcase real-time messages.
//The Code Is Written By SovanHax //YouTube Channel Link:- https://www.youtube.com/SovanHax // include the library code: #include <LiquidCrystal.h> char str[34],L=2; int temp=0,i=0; int Pass=0,p=0; int c,x,d; int LED1=6; int LED2=5; int Li = 17; int Lii = 1; int Ri = -1; int Rii = -1; // initialize the library by associating any needed LCD interface pin // with the arduino pin number it is connected to LiquidCrystal lcd(8,9,10,11,12,13); void setup() { // set up the LCD's number of columns and rows: lcd.begin(16, 2); // Print a message to the LCD. lcd.print("BLUETOOTH CONTROLLED"); lcd.setCursor(0,1); lcd.print("Speech Recognition"); Serial.begin(9600); pinMode(LED1,OUTPUT); pinMode(LED2,OUTPUT); } void loop() { if(temp==1) { //check(); temp=0; i=0; delay(1000); } for (int i = 0; i <= 15; i++) { lcd.setCursor(0, 0); lcd.print(Scroll_LCD_Left(" BLUETOOTH CONTROLLED")); lcd.setCursor(0, 1); lcd.print(Scroll_LCD_Left("SPEECH RECOGNITION SYSTEM")); delay(400); } } void serialEvent() { while (Serial.available()) { char inChar=Serial.read(); str[i++]=inChar; delay(10); } for (p=i+1;p<34;p++) { str[i++]=32; } temp=1; Serial.write(str); Clear_Scroll_LCD_Left(); // Use if the text in the string is changed / different from before Clear_Scroll_LCD_Right(); lcd.setCursor(0, 0); lcd.print(str); if(i>16) { d=16; for (x=0;x<=17;x++) { lcd.setCursor(x,2); lcd.print(str[d]); d++; } } delay(2000); if (str=="turn on LED") { digitalWrite(LED1,HIGH); } if (str=="turn off LED") { digitalWrite(LED1,LOW); } } //---------------------------------- String Scroll_LCD_Left(String StrDisplay){ String result; String StrProcess = " " + StrDisplay + " "; result = StrProcess.substring(Li,Lii); Li++; Lii++; if (Li>StrProcess.length()){ Li=16; Lii=0; } return result; } void Clear_Scroll_LCD_Left(){ Li=16; Lii=0; } //---------------------------------- String Scroll_LCD_Right(String StrDisplay){ String result; String StrProcess = " " + StrDisplay + " "; if (Rii<1){ Ri = StrProcess.length(); Rii = Ri-16; } result = StrProcess.substring(Rii,Ri); Ri--; Rii--; return result; } void Clear_Scroll_LCD_Right(){ Ri=-1; Rii=-1; }