This Project is Suitable for Everyone Including student and Professional
Bluetooth-based relay control using an 8051-based microcontroller involves using Bluetooth communication to remotely control the switching of a relay. Here’s a general overview of the system:
- Hardware components:
- 8051-based microcontroller board
- HC-05 Bluetooth module
- Relay board
- Power supply
- AC Bulb 230v
- Bulb Holder
- Android based Mobile phone
- Connections:
- The HC-05 module is connected to the microcontroller’s serial port pins.
- The relay board is connected to the microcontroller’s output pins.
- Power supply connections are made to power the microcontroller and the relay board.
- Software:
The software for this system involves two main parts:
- Code for the microcontroller to receive commands from the Bluetooth module and switch the relay on or off accordingly.
- An Android application to send Bluetooth commands to the HC-05 module.
- Operation:
- The Android application sends Bluetooth commands to the HC-05 module.
- The HC-05 module receives the commands and sends them to the microcontroller.
- The microcontroller interprets the commands and switches the relay on or off based on the command received.
Overall, this system provides a wireless means of controlling a relay, which can be useful for a variety of applications, such as home automation or industrial control systems.
#include<reg51.h> sbit X = P1^0; // connect relay1 to P1.0 sbit Y = P1^1; // connect relay2 to P1.1 void delay(unsigned int count) { unsigned int i; while(count) { i = 115; while(i > 0) i--; count--; } } /* Uart initialization function, call this function by passing a valid baud rate value to initialize UART currently Supported Baud Rates are 9600,4800,2400,1200 */ void uart_init(unsigned int baud) { unsigned int a = 9600, b = 4800, c = 2400 , d = 1200; TMOD = 0x20; // timer 1 8-bit auto-reload SCON = 0x50; // Tx and Rx enable if(baud == a) { TL1 = 0xFD; TH1 = 0xFD; } if(baud == b) { TL1 = 0xFA; TH1 = 0xFA; } if(baud == c) { TL1 = 0xF4; TH1 = 0xF4; } if(baud == d) { TL1 = 0xE8; TH1 = 0xE8; } TR1 = 1; // Start timer } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Trasmitting 8 bit data Send 8-bit data while callinjg this function to send it over UART ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ void uart_write(unsigned char value) { SBUF = value; while(!TI); TI = 0; } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Receiving 8-bit data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ char uart_read() { while(!RI); RI = 0; return(SBUF); } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Xmitting String ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ void uart_write_text(char *str) { unsigned char i=0; while(str[i]) uart_write(str[i++]); } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Read a particular number of bytes in a string ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ void uart_read_text(void *buff, unsigned int len) { unsigned int i; for(i=0;i<len;i++) { ((char*)buff)[i]=uart_read(); } } /*~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Echoing received data ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~*/ void uart_echo() { uart_write(uart_read()); } void main() { unsigned char byte; uart_init(9600); //P2 = 0x00; X=0; Y=0; delay(100); uart_write_text("Welcome"); while(1) { byte = uart_read(); // receive a byte serially, wait 1 second and again send it back if(byte == 'A') { X = 1; } if(byte == 'a') { X = 0; } if(byte == 'B') { Y = 1; } if(byte == 'b') { Y = 0; } delay(100); // little delay so that user can recognize it uart_write(byte); // resend received data over UART } }
for more learning of Python Raspbery Pi, Internet of things , ESP 32 ,and Arduino click on courses