الكود البرمجي
افتح برنامج VIDLE for VPython والصق الكود البرمجي التالي وارفعه على لوحة الاردوينو عن طريق النقر على:
Run -> Run Module
from visual import * import serial #Serial imported for Serial communication import time #Required to use delay functions ArduinoSerial = serial.Serial('com18',9600) #Create Serial port object called arduinoSerialData time.sleep(2) #wait for 2 secounds for the communication to get established obj = box(pos=(-5,0,0), size=(0.1,4,4), color=color.white) wallL = box(pos=(-1,0,0), size=(0.2,12,12), color=color.cyan) text(text='US sensor', axis=(0,1,0) , pos=(-2,-6,0), depth=-0.3, color=color.cyan) t = 0 while 1: rate(100) t = int (ArduinoSerial.readline()) #read the serial data and print it as line t= t* 0.05 obj.pos.x = t print(t)
شرح الكود البرمجي
افتح صفحة جديدة في VIDLE for VPython وقم باستدعاء المكتبات المطلوبة visual تساعدك في انشاء نماذج ثلاثية الأبعاد, serial python لقرءة القيم من لوحة الاردوينو عن طريق المنفذ التسلسلي و time تساعدك في استخدام دوال معينة مثل delay.
from visual import * import serial #Serial imported for Serial communication import time #Required to use delay functions
حدد المنفذ COM المستخدم في الاتصال مع الاردوينو.
(هذا سطر قابل للتغيير بناء على نوع المنفذ الذي ستستخدمه في المشروع يمكنك تعيينه عن طريق برنامج اردوينو IDE من قائمة Port).
ArduinoSerial = serial.Serial('com18',9600) #Create Serial port object called arduinoSerialData
بعد ذلك ستتم قراءة المسافة من حساس الموجات فوق البنفسجية وسيتم تمثيل المسافة على الواجهة الرسومية بنماذج ثلاثية الأبعاد على شكل مستطيلين بالألوان والأبعاد المذكورة بالكود البرمجي.
obj = box(pos=(-5,0,0), size=(0.1,4,4), color=color.white) wallL = box(pos=(-1,0,0), size=(0.2,12,12), color=color.cyan) text(text='US sensor', axis=(0,1,0) , pos=(-2,-6,0), depth=-0.3, color=color.cyan) t = 0 while 1: rate(100) t = int (ArduinoSerial.readline()) #read the serial data and print it as line t= t* 0.05 obj.pos.x = t print(t)
بعد رفع الكود البرمجي سيظهر تمثيل المسافة على شكل مستطيل ثلاثي الأبعاد سماوي ثابت ومستطيل ثلاثي الأبعاد متحرك رمادي.
سيتحرك المستطيل الرمادي بناء على المسافة التي يقرأها من حساس الموجات فوق البنفسجية.