Android ফোন এবং Arduino দিয়ে নিয়ন্ত্রণ করুন আপনার ঘরের বিভিন্ন সুইচ (Home Automation Basic)

আসুন, দেখে নিই কি ভাবে সার্কিট কি কাজ করে।
আমারা জানি BLUETOOTH রেডিও ব্যাবহার করে ডাটা স্থানান্তরিত বা নির্দিষ্ট ডিভাইস এ পাঠানো যায়। আমরা এখানে Android ফোন ও Arduino কে সংযুক্ত করার জন্য BT প্রযুক্তি ব্যাবহার করব।
আমরা জানি যে 5V এর রিলে তে 5V দিলে সেটি অন হয়ে যায়।আর রিলে টি যদি ২৪০ ভোল্ট এসি লাইনের সাথে সংযুক্ত থাকে তবে রিলে অন করলে আউটপুটে ২৪০ ভোল্ট পাওয়া যায় আর রিলে অফ করলে ০ ভোল্ট।
ধরুন “১” এই সংখ্যাটি যদি BT module এর মাধ্যমে Arduino তে আসে তাহলে রিলে টি অন হবে আর “২” এই সংখ্যাটি যদি BT module এর মাধ্যমে Arduino তে আসে তাহলে রিলে টি অফ হবে। তাহলে Android ফোন দিয়ে “১” আর “২” দুইটি সংখ্যা পর্যায়ক্রমে পাঁঠিয়ে সুইচ নিয়ন্ত্রন করা সম্ভব ।
আর যদি অনেক গুলো সুইচ নিয়ন্ত্রন করার দরকার হয় তবে প্রতিটি সুইচ বা রিলের জন্য আলাদা দুইটি Command দিয়ে তা নিয়ন্ত্রন করা সম্ভব ।

Untitled

আমরা এই প্রোজেক্ট টাকে মোট তিন ভাগে ভাগ করব।

১.প্রথমে android ফোন এ ব্যবহার উপযোগী একটা ইন্টারফেস তৈরি করব।

২.Arduino তে প্রোগ্রাম করব।

৩.সার্কিট সংযোগ করব।

ধাপ-১: Android ফোন এ আমরা একটা apps তৈরি করব যা দিয়ে command পাঠানো যাবে। এ জন্য Android Studio এবং Java ইন্টারনেট থেকে নামিয়ে কম্পিউটারে ইন্সটল করে নিতে হবে।

এখানে আমাদের কাজ দুইটি।

১। ইউজার এর জন্য গ্রাফিক্যাল লেআউট তৈরি।

২।মুল কোডিং বা জাভা কোডিং।

এখন Android Studio রান করে Application name লিখে NEXT বাটন এ ক্লিক করতে হবে।

তারপর আবার next বাটন তারপর blank Activity select করে নেক্সট বাটন তারপর ফিনিস এ ক্লিক করতে হবে।তারপর যে উইন্ডো ওপেন হবে সেখানে activity_main.xml এর ভিতর নিচের কোড টা কপি করে দিতে হবে।

Android ও Arduino বেইজ Home Automation এর গ্রাফিক্যাল লেআউট তৈরির জন্য নিচের কোড কপি করুন Android Studio তে

********************************************************

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
>

<TextView
android:id="@+id/headertext"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:gravity="center"
android:text="@string/header_text"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#555"
/>

<TextView
android:id="@+id/fan"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_marginStart="30dp"
android:layout_marginTop="60dp"
android:text="@string/fan"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#555" />

<ToggleButton
android:id="@+id/toggleButton1"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignParentEnd="true"
android:layout_alignTop="@+id/fan"
android:layout_marginEnd="30dp"/>

<TextView
android:id="@+id/light1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/fan"
android:layout_below="@+id/toggleButton1"
android:layout_marginTop="15dp"
android:text="@string/light_1"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#555" />

<ToggleButton
android:id="@+id/toggleButton2"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/toggleButton1"
android:layout_alignTop="@+id/light1" />

<TextView
android:id="@+id/light2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/light1"
android:layout_below="@+id/toggleButton2"
android:layout_marginTop="15dp"
android:text="@string/light_2"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#555" />

<ToggleButton
android:id="@+id/toggleButton3"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/toggleButton2"
android:layout_alignTop="@+id/light2" />

<TextView
android:id="@+id/light3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/light2"
android:layout_below="@+id/toggleButton3"
android:layout_marginTop="15dp"
android:text="@string/light_3"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#555" />

<ToggleButton
android:id="@+id/toggleButton4"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/toggleButton3"
android:layout_alignTop="@+id/light3" />

<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/light3"
android:layout_below="@+id/toggleButton4"
android:layout_marginTop="15dp"
android:text="@string/tv"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="#555" />

<ToggleButton
android:id="@+id/toggleButton5"
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_alignStart="@+id/toggleButton4"
android:layout_alignTop="@+id/tv" />

<EditText
android:id="@+id/bluetoothName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/toggleButton5"
android:layout_alignStart="@+id/toggleButton5"
android:layout_alignTop="@+id/button1"
android:hint="@string/device_name" />

<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignEnd="@+id/tv"
android:layout_below="@+id/toggleButton5"
android:layout_marginTop="20dp"
android:text="@string/ok" />

<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_alignBottom="@+id/button1"
android:layout_alignTop="@+id/button1"
android:layout_marginStart="10dp"
android:text="@string/connect" />

<TextView
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="15dp"
android:text="@string/copyright"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="#555" />

</RelativeLayout>
</RelativeLayout>

********************************************************************

 

এরপর /res/value ফোল্ডার এর ভিতর string.xml এ নিচের কোড টা লিখে দিন।

****************************************************************
<string name="header_text">Please select what you want to control</string>
<string name="light_1">Light 1:</string>
<string name="light_2">Light 2:</string>
<string name="light_3">Light 3:</string>
<string name="fan">Fan:</string>
<string name="tv">Television:</string>
<string name="ok">Add</string>
<string name="connect">Connect</string>
<string name="device_name">Device Name</string>
<string name="copyright"></string>
<string name="actionbar">HOME AUTOMATION</string>
<string name="about">About</string>
<string name="action_settings">action_settings</string>
<string name="title_activity_actionbar">actionbar</string>
<string name="title_activity_about">about</string>

***************************************************************

এরপর /res/value ফোল্ডার এর ভিতর style.xml এ নিচের কোড টা লিখে দি।

****************************************************************

<resources>

<!--
Base application theme, dependent on API level. This theme is replaced
by AppBaseTheme from res/values-vXX/styles.xml on newer devices.
-->
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>

<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
</style>

</resources>

******************************************************************

 

আজকের পর্ব এ পর্যন্ত ই ।

 

Android ও Arduino দিয়ে নিয়ন্ত্রণ করুন বাসার বিভিন্ন সুইচ -২

Android ও Arduino দিয়ে নিয়ন্ত্রণ করুন বাসার বিভিন্ন সুইচ-৩

10 মন্তব্য

  1. APK তে এক্সপোর্ট করে লিঙ্ক দিতে পারতেন এবং স্ক্রিন্টশট বা ভিডিও টিউটোরিয়াল দিলে ভালো হইত 🙂

উত্তর প্রদান

আপনার মন্তব্য লিখুন
আপনার নাম লিখুন