Configure Bluetooth with Arduino in Hindi

0
475

हेलो फ्रेंड्स, हमने हाल ही  में IoT के बारे में बात की थी और हमने IoT में ब्लूटूथ के बारे में भी बात की थी. तो आज हम उसी के बारे में ही बात करने वाले है और अपने uno को ब्लूटूथ कनेक्टिविटी केसे दे वो जानेगे.


Bluetooth क्या है?

ब्लूटूथ एक wireless communication protocol है और यह इसके फ़ायदों की वजसे बहुत famous हो गया है. आप फ़ोन, watch, स्पीकर, शूज, कार, सब जगह इस देखते है. ब्लूटूथ के बिना की दुनिया शायद हम अब सोच भी नहीं सकते. ब्लूटूथ 1989 में Ecrisson ने बनाया था. यह UHF पे काम करता है और इसकी range 2.4 GHZ की है. 2.4 Ghz को ISM band कहते है. इसका मतलब indutrial, scientific और medical uses के लिए है और इस  frequency को use करने के लिए कुछ pay नहीं करना पड़ता. यह free होती है.

Read more: Arduino क्या है? | Introduction |History|Types |
Read more: Arduino: First Project: Blinking LED

अब ब्लूटूथ के versions की बात करते है. ब्लूटूथ में सबसे latest version 5.0 है और ब्लूटूथ 4.0 को BLE( Bluetooth low energy) भी कहते है ,क्युकी कम एनर्जी में ज्यादा data transmit कर सकते है.

यह table में 3 version को compare किया है. अब देख सकते है की ble 5.0 range और data रेट दोनों में अच्छा है.

  BLUETOOTH
v2.1
BLUETOOTH 4.0
(LE) 
BLUETOOTH 5
(LE)
Range Up to 100 m Up to 100 m Up to 400 m
Max range
(free field)
Around 100 m
(class 2 outdoors)
Around 100 m
(outdoors)
Around 1,000m
(outdoors)
Frequency 2.402 – 2.481 GHz 2.402 – 2.481 GHz 2.402 – 2.481 GHz
Max data rate 1- 3 Mbit/s 1 Mbit/s 2 Mbit/s
Application
Troughput
0.7-2.1 Mbit/s Up to 305 kbit/s Up to 1,360 kbit/s
Topologies Point-to-point,
scatternet
Point-to-point,
mesh network
Point-to-point,
mesh network
Network
Standard
IEEE 802.15.1 IEEE 802.15.1 IEEE 802.15.1

ब्लूटूथ module

अब आप सोच रहे होंगे की हम ब्लूटूथ को कैसे use करेंगे? उसके लिए क्या करना होगा? तो दोस्तों हम Arduino को Bluetooth module से connect करके Bluetooth enable कर सकते है. अब market में बहुत सारे Bluetooth module है आप अपनी requirement के हिसाब से module  select कर सकते है.  हम आज HC-05 के बारे में बात करेंगे.

2019-04-24_23h55_50.png

Read More :  Android Project
Read More : IOT & Arduino | आई ओ टी  और एरडूइनो

HC-05 full duplex serial communication Bluetooth module है. इस module से आप अपने phone/laptop  से uno connect कर सकते है. इसमें serial communication UART protocol से data transmit होता है. इसलिए यह एक बड़ा ही अच्छा और popular module है. इसमें 6 pins, 1 बटन और एक status led होती है.


Pin Configuration

चलिए इसका pin configuration समझते  है:

Pin Number Pin Name Description
1 Enable / Key इस से आप data mode(0) और AT command mode(1) select कर सकते है. डिफ़ॉल्ट data mode होता है.
2 Vcc 5 volt vcc
3 Ground ground
4 TX – Transmitter Transmits Serial Data. Data को serially transmit करने के लिए.
5 RX – Receiver Receive Serial Data. data को serially रिसीव करने के लिए.
6 State ब्लूटूथ module का स्टेटस जानने के लिए. यह पिन के साथ एक led भी जुडी होती है और इसको आप uno के साथ connect करके वहा भी स्टेटस चेक कर सकते है.
7 LED module का स्टेटस जानने के लिए:

  • हर दो सेकंड पे blink मतलब command mode
  • blink करे ही जा रहा है मतलब data mode के लिए module तैयार है.
  • हर १ सेक पे blink मतलब data mode में है अभी.
8 Button data और AT command mode को select करने के लिए.

HC-05 Default Settings

  • Default Bluetooth Name: “HC-05”
  • Default Password: 1234 or 0000
  • Default Communication: Slave
  • Default Mode: Data Mode
  • Data Mode Baud Rate: 9600, 8, N, 1
  • Command Mode Baud Rate: 38400, 8, N, 1
  • Default firmware: LINVOR

HC-05 Technical Specifications

  • Operating Voltage: 4V to 6V (Typically +5V)
  • Operating Current: 30mA
  • Range: <100m
  • Works with Serial communication (USART) and TTL compatible
  • Follows IEEE 802.15.1 standardized protocol
  • Uses Frequency-Hopping Spread spectrum (FHSS)
  • Supported baud rate: 9600,19200,38400,57600,115200,230400,460800.

अब हम module को use कैसे करेंगे?

हमे पिन १ से पता चला की इसके दो operating mode है data और AT command. हम module के vcc gnd को uno के vcc gnd से connect करेंगे. हम uno का rx module के tx में connect करना है और module का rx uno के tx के साथ connect करेंगे. तो rx-tx connection होगा ना की rx-rx tx-tx. दोस्तों यहाँ ध्यान से connection कीजिये वरना आप कुछ receive या transmit नहीं कर पाएंगे.  आप जैसे ही module को power on करेंगे वेसे ही आप आपके phone के ब्लूटूथ  menu  में आप HC-05 नाम का device देख पाएंगे. आप अपने phone में जब pair press करेंगे तो password मांगेगे. इसका पासवर्ड 0000 या 1234 है. एक बार pair हो गया तो फिर आप अब इसको phone से use कर पाएंगे.

2019-04-24_23h57_12.png

UART

दोस्तों ब्लूटूथ और कई सारे protocols UART use करते है और IoT में भी UART काफी important है. तो हम थोडा UART के बारे में आज बात करते है. universal asynchronous receiver-transmiter इसका full form है. यह एक asynchronous protocol है मतलब data transmit और receive करते वक्ते clock की जरुरत नहीं पड़ती. इसमें data के साथ framing bits जाते है जो सही से transmission में मद्दद करते है. Framing bits जेसे की start bit, stop bit, parity bit,etc.

2019-04-24_23h58_21.png

दो uart device को connect cross wiring से किया जाता है. इसका मतलब एक का rx दुसरे के tx में और vice -versa.

तो दोस्तों uart की basic knowledge होना जरुरी था इसलिए मेने यह topic थोडा brief out किया है. इसके बारे में आगे हम discuss करते रहेंगे.


Coding

ब्लूटूथ module uart protocol पर काम करता है यानि इसमें serial communication use होता है. हम बिना किसी library के भी इसको कोड कर सक्ते है. serial communication के arduino में बहुत सारे function है. जैसे सबसे important function है serial.begin(). इससे हम serial communication की baud rate set करते है. इसके बिना serial communication मुनकिन ही नहीं. तो चलिए शुरू करते है coding.

हम अपने smart phone में Bluetooth Terminal की App Download कर लेंगे. फिर यह कोड uno में dump करके हमारे HC-05 को phone के साथ pair करेंगे. इस कोड से हम अपने फ़ोन से on board led को on –off करेंगे.

char value = 0;         
void setup()
{
  Serial.begin(9600);        
  pinMode(13, OUTPUT);       
}
void loop()
{
  if(Serial.available() > 0) 
  {
    value = Serial.read();
    Serial.println("Value from bluetooth is:");
    Serial.print(value);       
    Serial.print("\n");        
    if(Incoming_value == '1')  
      digitalWrite(13, HIGH); 
    else if(Incoming_value == '0')
      digitalWrite(13, LOW);  
  }                           
}

अब हमने serial.begin(9600) से हमने baud rate select की. फिर serial.available() से हम check करेंगे की कोई value आई है की नहीं. अगर आई होगी तो हम उसे serial.read() function से read करेंगे. अब तो आप blinking led के कोड से वाकिफ ही हो. बस फिर हम value की हिसाब से led को control करेंगे.

दोस्तों आज हमने ब्लूटूथ के बारे में सिखा उसके versions के बारे में बात की और एक simple project भी किया. एसे तो कितने ही Android Apps मिल जायेंगे जिससे आप uno और ब्लूटूथ module से बहोत कुछ कर पाएंगे. अगर आपको किसी और app से करना है तो आप मुझे बता सकते है. तो दोस्तों मिलते है अलगे article में तब तक Keep UNOing.


LEAVE A REPLY

Please enter your comment!
Please enter your name here