02.Mar.2023


In this application, we will measure the resistance information and send it to the Android phone via the Bluetooth module.


Resistance measurement in multimeters is actually a voltage measurement process. As can be seen in the resistant connection diagram of the Arduino, an unknown resistance connects to the circuit. The larger the value of the resistance, the greater the tension on it. The resistance value is calculated with the following codes:

Float volt_x=analogread (A0); // Vin Input
    Float volt_in=5*(volt_x/1023);
   
    float rx=(volt_in*100000)/(5-volt_in); // ---------- >>>>>> Resistance Formula
    float rx_divided=rx/1000; // ohm ----> k ohm

   
If the value read by the analogread command is placed in the formula, the resistance value is found.
We convert this value primarily to the type of string variable and then to the series-jar type. And with the following command line, we send a Bluetooth modular.


Flutter-Dart codes were used for the Android program. Flutter-Dart and Arduino codes below.

 

Flutter-Dart Codes:

import 'dart:async';

import 'dart:convert';

//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<MyApp> {

  List<BluetoothDevice> _devices=[];

  late BluetoothConnection connection;

  String adr="00:21:07:00:50:69"; // my bluetooth device MAC Adres

  String recData="0 ohm";

 

  late Timer _timer;

  String _timeString="";

 

  @override

  void initState() {

    // _startTimer();  automatic

    super.initState();

    _loadDevices();

  }

 

 

  Future<void> _loadDevices() async {

    List<BluetoothDevice> devices=await FlutterBluetoothSerial.instance

        .getBondedDevices();

 

    setState(() {

      _devices=devices;

    });

  }

 

 

  //----------------------------

  Future<void> sendData(String data) async {

    data=data.trim();

    try {

      List<int> 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());

    }

  }

 

  // data RECEIVED --------------

 

  Future<void> receiveData() async {

    connection.input!.listen((Uint8List data) {

      //Data entry point

      setState(() {

        recData=ascii.decode(data);

        //var n1=int.parse('-42');

      });

    });

  }

  //--------------------------------------

 

// TIMER START-----------

  void _startTimer() {

    _timer=Timer.periodic(Duration(milliseconds: 500), (timer) {

      receiveData();

 

    });

  }

 

  // TIMER STOP--------------------------------------

  Future<void> _stopTimer() async {

    setState(() {

    });

    _timer.cancel();

  }

 

//---------------------------------------------

  @override

  void dispose() {

    _timer.cancel();

    super.dispose();

  }

 

 

  @override

  Widget build(BuildContext context) {

    return MaterialApp(

        home: Scaffold(

          appBar: AppBar(

            title: const Text("OHMMeter with BlueTooth"),

          ),

          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);

                },),

 

                const SizedBox(height: 30.0,),

 

                const Text("Receive Data: ",style: TextStyle(fontSize: 55.0),),

                Text(recData,style: TextStyle(fontSize: 45.0),),

 

                const SizedBox(height: 10.0,),

               // Text(_timeString),

                const SizedBox(height: 10.0,),

 

                ElevatedButton(child: Text("Stop timer"), onPressed: () {

                  _stopTimer();

                },),

                const SizedBox(height: 10.0,),

 

                ElevatedButton(child: Text("Start timer"), onPressed: () {

                  _startTimer();

                },),

 

              ],

            ),

          ),

 

        )

 

    );

  }

 

  Future connect(String address) async {

    try {

      connection=await BluetoothConnection.toAddress(address);

     // sendData('111');

      //durum="Connected to the device";

 

    } catch (exception) {

      // durum="Cannot connect, exception occured";

    }

  }

 

  @override

  void debugFillProperties(DiagnosticPropertiesBuilder properties) {

    super.debugFillProperties(properties);

  }

 

// --------------**************data gonder

  //Future send(Uint8List data) async {

    //connection.output.add(data);

   // await connection.output.allSent;

 // }

 

}

//------------*********** data gonder end

 

Arduino codes:

#include <SoftwareSerial.h>

 

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

 char Buf[50]; //  to bluetooth device<------

String resistor_string="";

 

 

void setup() { 

 // hc-05 bluetooth module resistor-----------------------------

 

  // Open serial communications and wait for port to open:

  Serial.begin(9600);

  mySerial.begin(9600);

 }

 

void loop() {

   float volt_x=analogRead(A0);// Vin INPUT

   float volt_in=5*(volt_x/1023);

  

   float RX=(volt_in*100000)/(5-volt_in);  //------------>>>>>>  resistance formula

   float RX_divided=RX/1000;    // ohm ----> K OHM

     

     resistor_string=String(RX_divided);

       resistor_string=  resistor_string+" K ohm";

     resistor_string.toCharArray(Buf, 50);

     mySerial.write(Buf);

     delay(200);

     

 

 

}

 

 

 

İlgili Haberler

How to make a night light with Bluetooth control and three colors?

A practical and inexpensive night light design with Bluetooth control

03.03.2023

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