الثلاثاء، 4 مايو 2021

فيجوال بيسك مع الأردوينو تصميم واجهة Visual studio(Visual Basic) Arduino Interface

               الفيجوال بيسك    visual basic 

تعد من أهم لغات البرمجة كائنية التوجه واللتي تستخدم لبناء تطبيقات ويندوز 

مميزات لغة الفيجوال بيسك

1 لغة سهلة ومبسطة 

2 تدعم البرمجة الشيئية 

3 سهولة معرفة الاخطاء
4 اعتماده على HTML وذلك مما جعله سهل الاستعمال والفهم.

نستطيع تصميم الواجهات من خلال تنزيل برنامج فيجوال استيديو visual studio 

وانشاء مشروع جديد وربطه مع الأردوينو من خلال الناقل التسلسلي سننشئ كمثال واجهة بسيطة للتحكم بليد متصل مع الأردوينو من خلال واجهة فيجوال بيسك مع محاكاة حالة الليد

ببساطة نضع 2 button ونعطيهم أسماء من الخصائص نسميهم on  off ومن ثم نضيف 2 picture box نضعهم فوق بعض نضع في الاول صورة ليد شغال وفي الثاني ليد مطفأ وسنقوم باستدعاء كل صورة بحسب حالة الليد 

راجع الفيديو على اليوتيوب لمعرفة تفاصيل أكثر

https://www.youtube.com/watch?v=Wr4eBYzj9LM
 طبعا الكود البرمجي للفيجوال بيسك هو 

 كود الفيجوال
Imports System.IO
Imports System.IO.Ports
Imports System.Threading

Public Class Form1

Shared _continue As Boolean
Shared _serialPort As SerialPort

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
SerialPort1.Close()
SerialPort1.PortName = “com3” //check and change Arduino port
SerialPort1.BaudRate = 9600
SerialPort1.DataBits = 8
SerialPort1.Parity = Parity.None
SerialPort1.StopBits = StopBits.One
SerialPort1.Handshake = Handshake.None
SerialPort1.Encoding = System.Text.Encoding.Default
End Sub

Private Sub ButtonON_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonON.Click
led.Visible = False
ledon.Visible = True
SerialPort1.Open()
SerialPort1.Write(“1”)
SerialPort1.Close()
End Sub

Private Sub ButtonOFF_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ButtonOFF.Click
led.Visible = True
ledon.Visible = False
SerialPort1.Open()
SerialPort1.Write(“0”)
SerialPort1.Close()
End Sub
End Class
 نصل على الأردوينو القطب رقم 13 ليد ونرفع الكود التالي 

 

void setup()
{
 pinMode (13,OUTPUT);
 Serial.begin(9600);
}
 
void loop()
{
  int value;
  if(Serial.available())
  {
    delay(50);
    while(Serial.available() >0)
    {
      value=Serial.read();
      if(value=='1'){digitalWrite(13,HIGH);}
      else if (value=='0') {digitalWrite (13,LOW);
      }
    }
  }
}

هذه هي النتيجة 

في النهاية أتمنى لكم الخير والرضى 

والسلام عليكم ورحمة الله 

خدماتنا



00905316072110

0 تعليقات:

إرسال تعليق

الاشتراك في تعليقات الرسالة [Atom]

<< الصفحة الرئيسية