03.Mar.2023

Today, devices controlled by Bluetooth have proliferated. Electronic devices with features that make our lives easier are becoming more preferred thanks to their bluetooth features.
So, today we will make a night lamp that we can use in our daily life. This night light will be tricolor and will be controlled by the HC-05 bluetooth module. This night light, which consists of very economical parts, is also very easy to make. The physical design of the night light can be viewed in the video below.
 

The project consists of three parts:
1. Microcontroller part
2. Android program
 3. Chandelier design


We provide lighting with two or three LEDs that we connect to the microcontroller.
We made the Android program using the Flutter-Dart programming language.
 The chandelier part consists of paper cups, straws and glossy gelatin paper.

 

Below are the Flutter-Dart codes we wrote for the Android phone:

import 'dart:async';

//import 'dart:convert';

import 'package:flutter/foundation.dart';
import 'package:flutter/material.dart';
 import 'package:flutter_bluetooth_serial/flutter_bluetooth_serial.dart';

void main()=> runApp(const MyApp());

class MyApp extends StatefulWidget {
   const MyApp({super.key});

  @override
  // ignore: library_private_types_in_public_api
  _MyAppState createState()=> _MyAppState();
 }

class _MyAppState extends State {
  List _devices=[];
  late BluetoothConnection connection;
   String adr="00:21:07:00:50:69"; // my bluetooth device MAC Adres

  @override
  void initState() {
    super.initState();
    _loadDevices();
   }

  Future _loadDevices() async {
     List devices=await FlutterBluetoothSerial.instance.getBondedDevices();

    setState(() {   _devices=devices;    });
  }
//----------------------------
   Future sendData(String data)  async {

    data=data.trim();
    try {
      List list=data.codeUnits;
      Uint8List bytes=Uint8List.fromList(list);
      connection.output.add(bytes);
      await connection.output.allSent;
      if (kDebugMode) {
        // print('Data sent successfully');
      }
    } catch (e) {
      //print(e.toString());
    }
   }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
        home: Scaffold(
          appBar: AppBar(
            title: const Text("Bluetooth Night LAMP Control"),
          ),
          body: Center(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: [
                 const Text("MAC Adress: 00:21:07:00:50:69"),

                ElevatedButton(child:Text("Connect"),onPressed: () {
                  connect(adr);   },),
                SizedBox(height: 30.0,),
                ElevatedButton(child:Text(" YELLOW_ON "),onPressed: () {
                  sendData("yellow_on");  },),
                SizedBox(height: 10.0,),
                ElevatedButton(child:Text("YELLOW_OFF"),onPressed: () {
                  sendData("yellow_off"); },),
                 SizedBox(height: 10.0,),

                ElevatedButton(child:Text(" RED_ON "),onPressed: () {
                  sendData("red_on");  },),
                SizedBox(height: 10.0,),
                ElevatedButton(child:Text("RED_OFF"),onPressed: () {
                  sendData("red_off"); },),
                 SizedBox(height: 10.0,),

                ElevatedButton(child:Text(" BLUE_ON "),onPressed: () {
                  sendData("blue_on");  },),
                SizedBox(height: 10.0,),
                ElevatedButton(child:Text("BLUE_OFF"),onPressed: () {
                  sendData("blue_off"); },),
                 SizedBox(height: 10.0,),

              ],
            ),
           ),


        )

    );
   }

  Future connect(String address) async {
    try {
      connection=await BluetoothConnection.toAddress(address);
      sendData('111');
      //durum="Connected to the device";
      connection.input!.listen((Uint8List data) {
        //Data entry point
        // durum=ascii.decode(data);
       });

    } catch (exception) {
      // durum="Cannot connect, exception occured";
    }
   }

// --------------**************data gonder
//Future send(Uint8List data) async {
//connection.output.add(data);
//await connection.output.allSent;
}
 //------------*********** data gonder end

 

Below are the microcontroller codes:

#include 

SoftwareSerial mySerial(10, 11); // RX, TX

// YELLOW-->pin 7   RED--->pin 6     BLUE--->pin 5    ====> digital pins
String rec_data="off";

void setup() {
   pinMode(7, OUTPUT);
   pinMode(6, OUTPUT);
   pinMode(5, OUTPUT);
   
  Serial.begin(9600);
  mySerial.begin(9600);   // BlueTooth Data baud,set the data rate for the SoftwareSerial port
  
  digitalWrite(7,LOW);
  digitalWrite(6, LOW);
  digitalWrite(5, LOW);
}

void loop() { // run over and over
  if (mySerial.available()) {
    
    rec_data=mySerial.readString();
   
    if(rec_data=="yellow_on"){digitalWrite(7, HIGH);}
    if(rec_data=="yellow_off"){digitalWrite(7, LOW);}

    if(rec_data=="red_on"){digitalWrite(6, HIGH);}
    if(rec_data=="red_off"){digitalWrite(6, LOW);}

    if(rec_data=="blue_on"){digitalWrite(5, HIGH);}
    if(rec_data=="blue_off"){digitalWrite(5, LOW);}

    
    
    Serial.println(rec_data);
    delay(100);
  }
  
}

İlgili Haberler

Measuring DC Volts with Android Phone - Voltmeter

Converting an old tablet computer to a voltmeter (with bluetooth)

04.03.2023

We make temperature and humidity detection system with Android device

Android apps

05.03.2023

A BlueTooth-controlled Android App to Measure Heart Rate

An application related to biomedical devices: Measuring heartbeats

08.03.2023

Controlling 8 LEDs with Android phone

Android apps with Bluetooth Module

13.03.2023

DC Motor Speed Control by Android phone

Android Mobil Apps

14.03.2023

Controlling multiple devices with Android phone

Android Apps with Bluetooth

15.03.2023

Projects with Wifi Module

Wifi module settings

20.03.2023

Application to Control Led Matrix Panel with Android Phone - Part 1

Led Panel-Bluetooth Apps

29.03.2023

Designing an IoT System

Designing an IoT system for personal and business

22.05.2023

Reading the Weather Using the GSM Module Connected to the Microcontroller

How to make weather reading application with GSM module

24.05.2023

Smart Homes Can Be Smarter Than Us.

I'm Programming My House.

18.12.2022

IoT impact in the Healthcare Industry

What is the level of applications of IoT objects in the health sector?

22.12.2022

Application of IoT(Internet of Things) Technologies to Animals

Animals on the Internet

23.12.2022

Smart Cars in the IoT Universe

The evolution of Smart Cars

24.12.2022

Use of HM-10, HC-06 and HC-05 Bluetooth Modules in IoT Projects

Use of HM-10, HC-06 and HC-05 Bluetooth Modules

23.01.2023

Led Control Application with HC-05 Bluetooth Module

Led Control with Android Phone-Flutter

25.02.2023

Electronic Organ Construction with HC-05 Bluetooth Module

Electronic organ design with the program written with Flutter-Dart codes

25.02.2023

220 Volt Lamp On-Off Application with Bluetooth

A bluetooth application made with Flutter-Dart codes

25.02.2023

Measuring resistance by phone to Android

Measuring resistance by phone to Android( with Flutter-Dart)

02.03.2023