Make.lk

Learn Everything Free

Arduino

Ultrasonic Arduino to Arduino communication 😲 – Wonder of Arduino

අද කියන්න යන්නේ ටිකක් විශේශ දෙයක් arduino sinhala blog ගොඩක් තිබුනට මේ අද කතා කරන්න යන දේ නං ඒ එකකවත් ලියවෙලා නෑ. මොකද මේක එච්චරකට අලුත් නිව්ස් එකක්🙂🙂. ( සරලවම ආඩුඊනෝ ගොසිප් එකක්)😂.

අපි හුග දෙනෙක් දන්න මොඩුයුල් එකක් තම Ultrsonic module එක කියන්නේ.මේක පාවිච්චි කරලා අපි මෙච්චර කල් කරේ දුර මැනලා ඒ ආශ්‍රිත යෙදීම් වලට පාවිච්චි කරපු එක.

ඒත් මේ මොඩුයුල් එකෙන් ආඩුඊනෝ බෝර්ඩ් දෙකක් communicate කරොත්??? … සුපිරි නේ !!. 😍😍😍

ඔව් එහෙම පුලුවන්.අද කියන්න යන්නේ ඒ ගැන.

මුලින්ම මේ වැඩේට ඕන දේවල් මම යටින් දාන්නම්.

1) Ultrasonic transducer TX and RX ( HC-SR04 වගේ මොඩුයුල් එක්කින් ගලවගන්න පුලුවන්)

2) LM386

3) LM393

4) 2 × Arduino Uno ( මේක ඉතිම් අනිවාර්යයෙන්ම ඕන.)

5) 10K pot

6) LED

7) 220 Omhs resistor

8) 100nF cap

9) 10K resistor

දැන් බලමු මේකේ transmission code එක ( දැනට text විතරයි)

void setup()
{
    Serial.begin(115200);
    pinMode(3,OUTPUT);
}

void loop()
{
   send("Wellcome to srilanka");
   send("Hello World");  
}

void send(String msg)
{
   byte ch;
   unsigned int pos = 0;
   unsigned int sz = msg.length();
   while(pos<sz)
   {
      ch = msg.charAt(pos);
      Serial.print((char)ch);
      tone(3,40000);
      delay(10);
      noTone(3);
      for(int i=0;i<8;i++)
      {
         boolean b;
         b = bitRead(ch,7-i);
         if(b)
         {
            tone(3,40000);
            delay(2);
         }
         else
         {
            tone(3,40000);
            delay(4);
         }
         noTone(3);
         delay(11);
      }
      pos++;
   }
}

දැන් දත්ත ලැබෙන code එක

int pos = 0;

unsigned char CH = 0;

unsigned int bits1 = 0;

boolean capture = false;

void setup()

{

   Serial.begin(115200);

   pinMode(5,INPUT_PULLUP);

}

void loop()

{

   if(digitalRead(5))

   {

      bits1 = 0;

      unsigned long deltaT = millis();

      while(millis()-deltaT <= 10) if(digitalRead(5)) bits1 ++;

      //Serial.println(bits1);

      if(capture)

      {

         boolean b = 0;

         if(bits1 > 290 && bits1 < 600) b = 0;

         if(bits1 > 20 && bits1 < 290) b = 1;

         if(b) bitSet(CH,7-pos); else bitClear(CH,7-pos);

         //Serial.print(b);

         pos++;

         if(pos == 8)

         {

            Serial.print((char)CH);

            pos = 0;

            capture = false;

         }

      }

      if(bits1 > 600)

      {

         capture = true;

         pos = 0;

      }

   }

}



මෙතන යටින් code එක ඩවුන්ලෝඩ් කරගන්නත් පුලුවන්.

20 Downloads

මේ යට තියෙන්නේ receiver එකේ circuit diagram එක.

මේ යට video එකෙන් මම කිව්ව දේ තව ටිකක් තේරුම් ගන්න පුලුවන් වෙයි.

1 Comment

  1. mega boy

    tfs

Leave a Reply

Theme by Anders Norén

%d bloggers like this: