ගෙදර විදුලිය ඉතිරි කරගමු

Hasistranger

Well-known member
  • Oct 21, 2010
    11,246
    1,441
    113
    Western Province, SL
    ගෙදර විදුලිය ඉතිරි කරගමු



    ඔන්න මචන්ලා අදත් මම ඔයාලට මම දන්න දෙයක් කියල දෙන්නයි යන්නේ.කව්රුත් වගේ දන්නවනේ මේ දවස් වල ලංකාවේ විදුලි බිල එහෙම ටිකක් දරාගන්න අමාරුයි කියල.ඉතින් අපිට ඒකට කරන්න වෙන්නේ පුළුවන් තරම් විදුලිය අර පිරිමැස්මෙන් පාවිච්චි කරන එක තමයි.ඒකට එක ක්‍රමයක් විදිහට අපිට කරන්න පුළුවන් , ගෙදර අනවශ්‍ය විදුලි බුබුළු නිවා දමන්න.ඔය මොන කිව්වත් ගොඩක් යට අමතක වෙන දෙයක් තමයි, කාමරේට යද්දී ලයිට් එක on කරාට , කාමරෙන් එලියට එද්දී ලයිට් එක off කරන වැඩේ.ඉතින් මම කල්පනා කලා ඔය වැඩේ ඉතාමත් ලේසි විදිහකට කරන්න.ඒ කිව්වේ අපි කාමරේට යද්දී කාමරේ ලයිට් ඉබේම on වෙන්න සහ කාමරෙන් එලියට ආවහම ඒ කාමරේ ලයිට් එක ඉබේම off වෙන්න පුළුවන් විදිහක්.

    ඉතින් මේ වැඩේ කොහොමද කරන්නේ , අපිට මේ වැඩේ කරන්න පුළුවන් අපේ කාමරේට මොකක් හරි sensor එකක් හයි කරලා.ඒ කියන්නේ කාමරේට කව්රුහරි ආවහම ඒ sensor එකෙන් detect කරගන්න ඕනේ කාමරේට කව්රුහරි අව කියල වගේම , කාමරෙන් පිට උනහම sensor එකෙන් detect කරගන්න ඕනේ කාමරේ කව්රුත් නැහැ කියල.ඉතින් මේ වැඩේට අපිට කරගන්න ක්‍රම කිහිපයක් තියෙනවා වගේම ඒ වැඩේට උපයෝගී කරගන්න පුළුවන් sensor වර්ග කිහිපයක්ම තියෙනවා.උදාහරණ වශයෙන්,


    • ultrasonic sensor
    • motion detect sensor
    • infrared sensor

    වගේ ඒවා.අද මම කියල දෙන්න යන මේ වැඩේට මම යොදාගන්නේ infrared sensor කියන sensor ජාතිය.

    දැන් බලමු මේ infrared sensor එක වැඩකරන්නේ කොහොමද කියල.කව්රුත් වගේ දන්නවා ඇති අප අවට තියෙන සියලුම භෞතික වස්තුන් වලින් තාප කිරණ විමෝචනය කරන එක ගැන.ඉතින් මේ sensor එකෙන් කරන්නේ එහෙම පිට කරන infrared rays detect කරගෙන එකට අදාලව signal එකක් output කරන එකයි.ඉතින් මේ වැඩේට අපිට යොදාගන්න පුළුවන් PIR (passive infrared sensor) කියන sensor ජාතිය.පහල වීඩියෝ එක මගින් ඔයාලට දල අදහසක් ගන්න පුළුවන් මේ PIR වැඩකරන්නේ කොහොමද කියල.





    හරි මම හිතනවා ඔයාලට දැන් යම් අදහසක් එන්න ඇති මේ වැඩේ කරන්නේ කොහොමද කියල.මම පෙන්නන්නම් කොහොමද මේ වැඩේ කරගන්නේ කියල.අපිට මේ වැඩේට ඕන කරනවා පහත සදහන් දේවල්.



    දැන් අපි මේ ඔක්කොම modules ටික ඩොට් බෝඩ් එකේ පහල රුපයේ විදිහට එකලස් කරගන්න ඕනේ.


    picture.php



    Connections




    • Shift Register එකේ DS(14) පින් එක Arduino බෝඩ් එකේ D2 pin එකට connect කරන්න.
    • Shift Register එකේ OE(13) පින් එක GND එකට connect කරන්න.
    • Shift Register එකේ GND(8) පින් එකට GND connect කරන්න.
    • Shift Register එකේ ST_CP(12) පින් එක Arduino බෝඩ් එකේ D3 pin එකට connect කරන්න.
    • Shift Register එකේ SH_CP(11) පින් එක Arduino බෝඩ් එකේ D4 pin එකට connect කරන්න.
    • Shift Register එකේ MR(10) පින් එකට 5V connect කරන්න.
    • Shift Register එකේ VCC(16) පින් එකට 5V connect කරන්න.
    • Relay module එකේ GND pin එක GND එකට connect කරන්න.
    • Relay module එකේ VCC පින් එකට 5V connect කරන්න.
    • Relay module එකේ IN1 pin එක Shift Register එකේ Q0 pin(15) එකට connect කරන්න.
    • Relay module එකේ IN2 pin එක Shift Register එකේ Q1 pin(1) එකට connect කරන්න.
    • Relay module එකේ IN3 pin එක Shift Register එකේ Q2 pin(2) එකට connect කරන්න.
    • Relay module එකේ IN4 pin එක Shift Register එකේ Q3 pin(3) එකට connect කරන්න.
    • Relay module එකේ IN5 pin එක Shift Register එකේ Q4 pin(4) එකට connect කරන්න.
    • Relay module එකේ IN6 pin එක Shift Register එකේ Q5 pin(5) එකට connect කරන්න.
    • Relay module එකේ IN7 pin එක Shift Register එකේ Q6 pin(6) එකට connect කරන්න.
    • Relay module එකේ IN8 pin එක Shift Register එකේ Q7 pin(7) එකට connect කරන්න.
    • Arduino Board එකේ VIN pin එකට 5V connect කරගන්න.
    • Arduino Board එකේ GND pin එකට GND connect කරගන්න.
    • පලවෙනි PIR sensor එකේ Data pin එක Arduino Board එකේ D5 පින් එකට connect කරගන්න.
    • පලවෙනි PIR sensor එකේ VIN pin එකට 5V connect කරගන්න.
    • පලවෙනි PIR sensor එකේ GND pin එකට GND connectකරගන්න.
    • දෙවෙනි PIR sensor එකේ Data pin එක Arduino Board එකේ D6 පින් එකට connect කරගන්න.
    • දෙවෙනි PIR sensor එකේ VIN pin එකට 5V connect කරගන්න.
    • දෙවෙනි PIR sensor එකේ GND pin එකට GND connectකරගන්න.
    • තුන්වෙනි PIR sensor එකේ Data pin එක Arduino Board එකේ D7 පින් එකට connect කරගන්න.
    • තුන්වෙනි PIR sensor එකේ VIN pin එකට 5V connect කරගන්න.
    • තුන්වෙනි PIR sensor එකේ GND pin එකට GND connectකරගන්න.
    • හතරවෙනි PIR sensor එකේ Data pin එක Arduino Board එකේ D8 පින් එකට connect කරගන්න.
    • හතරවෙනි PIR sensor එකේ VIN pin එකට 5V connect කරගන්න.
    • හතරවෙනි PIR sensor එකේ GND pin එකට GND connectකරගන්න.
    • පස්වෙනි PIR sensor එකේ Data pin එක Arduino Board එකේ D9 පින් එකට connect කරගන්න.
    • පස්වෙනි PIR sensor එකේ VIN pin එකට 5V connect කරගන්න.
    • පස්වෙනි PIR sensor එකේ GND pin එකට GND connectකරගන්න.
    • හයවෙනි PIR sensor එකේ Data pin එක Arduino Board එකේ D10 පින් එකට connect කරගන්න.
    • හයවෙනි PIR sensor එකේ VIN pin එකට 5V connect කරගන්න.
    • හයවෙනි PIR sensor එකේ GND pin එකට GND connectකරගන්න.
    • හත්වෙනි PIR sensor එකේ Data pin එක Arduino Board එකේ D11 පින් එකට connect කරගන්න.
    • හත්වෙනි PIR sensor එකේ VIN pin එකට 5V connect කරගන්න.
    • හත්වෙනි PIR sensor එකේ GND pin එකට GND connectකරගන්න.
    • අටවෙනි PIR sensor එකේ Data pin එක Arduino Board එකේ D12 පින් එකට connect කරගන්න.
    • අටවෙනි PIR sensor එකේ VIN pin එකට 5V connect කරගන්න.
    • අටවෙනි PIR sensor එකේ GND pin එකට GND connect කරගන්න.

    හරි අපි දැන් unit එක හරි විදිහට එකලස් කරගත්ත.දැන් අපි බලමු කොහොමද මේ unit එක program කරන්නේ කියල.මුලින්ම අපිට ඕන කරනවා Arduino Library එකක් shift register එකෙන් වැඩේ කරගන්න .එක download කරගන්න පුළුවන් පහල ලින්ක් එකෙන්.

    Shift Register Library

    ඊට පස්සේ මේ Shifter.rar file එක ඔයාලගේ Arduino Library Folder ("Documents\Arduino\libraries")එකට extract කරගන්න.

    හරි දැන් බලමු Arduino Sketch එක ගැන.


    /*

    Pin Allocation

    D2 - SHIFT REGISTER - DATA
    D3 - SHIFT REGISTER - CLOCK
    D4 - SHIFT REGISTER - LATCH
    D5 - PIR 01 DATA
    D6 - PIR 02 DATA
    D7 - PIR 03 DATA
    D8 - PIR 04 DATA
    D9 - PIR 05 DATA
    D10 -
    PIR 06 DATA
    D11 - PIR 07 DATA
    D12 - PIR 08 DATA
    D13 -
    A1 -
    A2 -
    A3 -
    A4 -
    A5 -

    */


    #include <Shifter.h>

    #define Data 2
    #define Clock 3
    #define Latch 4
    #define Register 7

    #define On LOW
    #define Off HIGH

    int PIR_01 = 5;
    int PIR_02 = 6;
    int PIR_03 = 7;
    int PIR_04 = 8;
    int PIR_05 = 9;
    int PIR_06 = 10;
    int PIR_07 = 11;
    int PIR_08 = 12;

    int Val_01 = 0;
    int Val_02 = 0;
    int Val_03 = 0;
    int Val_04 = 0;
    int Val_05 = 0;
    int Val_06 = 0;
    int Val_07 = 0;
    int Val_08 = 0;


    Shifter Shift(Data,Clock,Latch,Register);


    void setup(){

    pinMode(PIR_01, INPUT);
    pinMode(PIR_02, INPUT);
    pinMode(PIR_03, INPUT);
    pinMode(PIR_04, INPUT);
    pinMode(PIR_05, INPUT);
    pinMode(PIR_06, INPUT);
    pinMode(PIR_07, INPUT);
    pinMode(PIR_08, INPUT);

    Shift.setPin(0,Off);
    Shift.setPin(1,Off);
    Shift.setPin(2,Off);
    Shift.setPin(3,Off);
    Shift.setPin(4,Off);
    Shift.setPin(5,Off);
    Shift.setPin(6,Off);
    Shift.setPin(7,Off);
    Shift.write();

    }

    void loop(){

    Val_01 = digitalRead(PIR_01);
    Val_02 = digitalRead(PIR_02);
    Val_03 = digitalRead(PIR_03);
    Val_04 = digitalRead(PIR_04);
    Val_05 = digitalRead(PIR_05);
    Val_06 = digitalRead(PIR_06);
    Val_07 = digitalRead(PIR_07);
    Val_08 = digitalRead(PIR_08);


    if (Val_01 == HIGH) {

    Shift.setPin(0,On);
    Shift.write();

    }else if (Val_01 == LOW) {

    Shift.setPin(0,Off);
    Shift.write();

    }

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

    if (Val_02 == HIGH) {

    Shift.setPin(1,On);
    Shift.write();

    }else if (Val_02 == LOW) {

    Shift.setPin(1,Off);
    Shift.write();

    }

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

    if (Val_03 == HIGH) {

    Shift.setPin(2,On);
    Shift.write();

    }else if (Val_03 == LOW) {

    Shift.setPin(2,Off);
    Shift.write();

    }

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

    if (Val_04 == HIGH) {

    Shift.setPin(3,On);
    Shift.write();

    }else if (Val_04 == LOW) {

    Shift.setPin(3,Off);
    Shift.write();

    }

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

    if (Val_05 == HIGH) {

    Shift.setPin(4,On);
    Shift.write();

    }else if (Val_05 == LOW) {

    Shift.setPin(4,Off);
    Shift.write();

    }

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

    if (Val_06 == HIGH) {

    Shift.setPin(5,On);
    Shift.write();

    }else if (Val_06 == LOW) {

    Shift.setPin(5,Off);
    Shift.write();

    }

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

    if (Val_07 == HIGH) {

    Shift.setPin(6,On);
    Shift.write();

    }else if (Val_07 == LOW) {

    Shift.setPin(6,Off);
    Shift.write();

    }

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

    if (Val_08 == HIGH) {

    Shift.setPin(7,On);
    Shift.write();

    }else if (Val_08 == LOW) {

    Shift.setPin(7,Off);
    Shift.write();

    }

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


    }
    හරි දැන් තියෙන්නේ මේ sketch එක Arduino Board එකට upload කරලා , sensors ටික එක කාමරයකට එක බැගින් කාමර 8කට සවි කරන්න.sensor එක සවි කරද්දී එකේ sensing unit එක පිටතට නිරාවරණය වෙන පරිදි සවි කරගන්න වග බලාගන්න.

    අපිට තව මෙතැනදී අපේ ගෙදර වතුර මොටරයත් මේකටම සම්බන්ද කරන්න පුළුවන් , එතැනදී අපිට සිද්ද වෙනවා PIR sensor එකක් වෙනුවට water level sensor එකක් Arduino බෝඩ් එකට connect කරගන්න.


    Water Level Sensor







    අපේ එක සහෝදරයෙක් අහල තිබුන මේක කොහොමද ලයිට් එක්ක සම්බන්ද කරන්නේ කියල.එක කරන්නේ මෙහෙමයි.කාමරේ ලයිට් එකට සම්බන්ද කරලා තියෙන switch එකෙන් වයර් දෙකෙන් extension එලියට අරගෙන ඒවා relay එකත් එක්ක සම්බන්ද කරන්න ඕනේ.මේ පහල තියෙන පින්තුරෙන් ඔයාලට දල අදහසක් ගන්න පුළුවන්.

    picture.php








    මගේ කලින් shift register ත්‍රෙඩ් එක


    තව ඔයාලට Speech Recognition සහ Home Automation ගැන දැනගන්න පුළුවන් මගේ Java
    Speech Recognition කියන බ්ලොග් එකට ගියානම්.

    [FONT=&quot][FONT=&quot][FONT=&quot][FONT=&quot][FONT=&quot][FONT=&quot][FONT=&quot]ඔයාලට මේකෙන් යම් දැනුමක් ලැබුන කියල හිතෙනවා.[/FONT][FONT=&quot]එහෙන[FONT=&quot]ම් මම ගිහින් එන්නම්.


    [/FONT][/FONT][/FONT][/FONT][/FONT][/FONT][/FONT][/FONT]
     
    Last edited:

    Hasistranger

    Well-known member
  • Oct 21, 2010
    11,246
    1,441
    113
    Western Province, SL
    මචං කාමරේ ඉන්නකොට අපිට light එක off කරන්න ඕනනම් මොකද කරන්නේ ?


    ඒකට මචන් කාමර ලයිට් manual on off කරන්න පුළුවන් විදිහට නොර්මල් switch socket එකටයි automatically on off වෙන්න relay එකටයි කියන දෙකටම connect කරන්න ඕනේ.එක ඉලෙක්ට්‍රික් කරන කෙනෙක්ට කිව්වනම් ඒ අය දන්නවා connection එක දෙන්න ඕනේ විදිහ.ඒ කිව්වේ relay එකෙන් off වෙලා තියෙද්දී අපිට switch එක මගිනුත් on/off කරන්න පුළුවන් වෙන විදිහට හදන්න ඕනේ.
     

    Mr.Tom

    Well-known member
  • Mar 1, 2013
    19,179
    3,690
    113
    EK Automobile
    ෂා :) මේකේ වටිනාකම නම් කියලා නිම කරන්න බෑ. මේකට ඕනි හැම දෙයක්ම දැනට මගේ ලග තියනවා. ට්‍රයි එකක් දෙන්න ඕනේ. බොහෝම ස්තූතී.
    +21