نرم افزار پروسسینگ آردوینو یک پلتفرم اوپن سورس دارای Sketchbook و زبان برنامه نویسی جاوا وC++ است. با استفاده از این نرم افزار نحوه ی کدنویسی و ایجاد محیط گرافیکی را یاد خواهیم گرفت. این نرم افزار در سال ۲۰۰۱ جهت پردازش تصویرهای تجسمی پروموت شد و در حال حاضر ده ها هزار نفر از دانش آموزان و دانشجویان برای طراحی محیط گرافیکی و نمونه سازی بدون دانش تخصصی از آن استفاده میکنند. نرم افزار پروسسینگ رایگان و اوپن سورس است. قابلیت اجرای برنامه هایی با خروجی ۲D, 3D , PDF را دارد. ادغام با برنامه OpenGL برای طراحی شتاب های ۲D و ۳D، قابلیت اجرا با GNU/Linux, Mac OS X, Windows, Android, ARM نیز دارد. بیش از ۱۰۰ کتابخانه در این نرم افزار قرار گرفته شده است و به راحتی قابل استفاده است. تشخیص و اندازهگیری فاصله در کیتهای DIY از اهمیت ویژهای برخوردار است. سنسور آلتراسونیک، بسیار دقیق عمل میکند. در این آموزش توسط نرم افزار پروسسینگ، فاصله شی تا سنسور در GUI نمایش داده میشود. در ادامه با مرجع تخصصی آردوینو به زبان فارسی دیجی اسپارک همراه باشید.
۱- فاصله سنج آلتراسونیک SRF
ماژول فاصله سنج SRF، اجسام قرار گرفته شده در مسیر سنسور را تشخیص داده و سپس فاصله شی تا سنسور را اندازه گیری میکند. ولتاژ کاری ماژول فاصله سنج SRF بین ۴٫۵ تا ۵٫۵ ولت DC است. فرکانس کاری ماژول SRF در حدود ۴۰ کیلوهرتز است. این ماژول از ۵ پایه Trigger, Echo, Out, Vcc, Gnd تشکیل شده است. پایه Trigger و Echo در خروجی پالس دیجیتال ۱۰uS ایجاد میکند. خروجی پایه Echo بین ۰ تا Vcc متغیر است. دراین حالت پالس ۱۰uS به پایه تریگر Trigger ارسال شده و سپس سنسور به صورت اتوماتیک در خروجی فرکانس ۴۰ کیلوهرتز را ارسال خواهد کرد. توسط پایه Echo مانیتورنیگ خروجی انجام میشود. هنگامی که خروجی Echo افزایش یابد، تابمر فعال میشود. سپس با کاهش یافتن خروجی Echo، مدت زمان سپری شده در تایمر ذخیره شده و در نهایت فاصله توسط فرمولی که برای محاسبه فاصله شی تا سنسور تعریف شده است، اندازه گیری خواهد شد.
Distance (in cm) = (elapsed time * sound velocity (340 m/s)) / 100 / 2
۲- پیش نیاز آردوینو با پروسسینگ
در بخش اول آموزش کار با نرم افزار پروسسینگ Processing، منوهای نرم افزار کامل بررسی شد. در آموزش بخش دوم، توسط کد آردوینو یک محیط گرافیکی GUI برای کنترل خروجی ها طراحی کردیم. همچنین رنگ صفحه نمایش، نوع نمایش و کادر بندی را آموزش دادیم. جهت اطلاعات بیشتر و نحوهی طرای یک محیط GUI به بخش های قبلی مراجعه کنید.
معرفی نرم افزار پروسسینگ Processing و آموزش نصب و راه اندازی برای آردوینو
آموزش کار با نرم افزار پروسسینگ Processing بخش دوم GUI با LED
آموزش کار با برد آردوینو Arduino و نصب نرم افزار Arduino IDE
۳- اجرای پروسسینگ Processing
پروسسینگ یک نرم افزار اوپن سورس و یک ابزار توسعه برای نوشتن برنامه در کامپیوتر است. توسط این نرم افزار ارتباط بین دو کامیپوتر از طریق پورت سریال امکان پذیر خواهد بود و باید در کد آردوینو با پروسسینگ پورت سریال را انتخاب نمایید تا اتصال برقرار گردد.
ارتبا سریال Serial با برد آردوینو
کلاسی برای ارسال و دریافت دیتا که از پروتکل سریال serial communication استفاده میشود. به عنوان مثال:
import processing.serial.*; // The serial port: Serial myPort; // List all the available serial ports: printArray(Serial.list()); // Open the port you are using at the rate you want: myPort = new Serial(this, Serial.list()[0], 9600); // Send a capital A out the serial port: myPort.write(65);
تابع import
از تابع import برای فراخوانی کتابخانه در نرم افزار پروسسینگ استفاده میشود. از کاراکتر * برای پایان دادن به تابع کتابخانه استفاده میگردد.
import libraryNameimport
تابع PFont
تابع PFont یک کلاس فونت برای نرم افزار پروسسینگ است. برای ساخت فونت مورد نظر از منو Tools، گزینه Create fonts را انتخاب کنید. از پسوند vlw. برای فونت استفاده میشود.
PFont myFont;
تابع ()size
تعریف ابعاد جهت نمایش ابعاد صفحه نمایش و اتنخاب عرض و طول آن.
size(size(widthwidth, , heightheight) size(width, height, renderer)
تابع ()Background
از تابع background جهت انتخاب رنگ صفحه نمایش استفاده میشود. برای انتخاب رنگ باید از کد رنگ ها استفاده کنید.
background(backgr rgb) background(rgb, alpha) background(gray) background(gray, alpha) background(v1, v2, v3) background(v1, v2, v3, alpha) background(image)
تابع ()textAlign
توسط این تابع مکان قرار گرفتن متن در صفحه نمایش ( مرکز، راست و چپ) مشخص میگردد.
textAlign(textAl alignX) textAlign(alignX, alignY)
تابع ()fill
توسط تابع fill، رنگ اشکال داخل صفحه نمایش را میتوان تعیین کرد.
fill(fill(rgbrgb) fill() fill rgb, alpha) fill(gray) fill(gray, alpha) fill(v1, v2, v3) fill(v1, v2, v3, alpha)
تابع ()text
توسط تابع text، مکان نمای نمایش متن یا اشکال دیگر در صفحه مشخص میگردد.
text(text(cc, , xx, , yy) text() text c, x, y, z) text(str, x, y) text(chars, start, stop, x, y) text(str, x, y, z) text(chars, start, stop, x, y, z) text(str, x1, y1, x2, y2) text(num, x, y) text(num, x, y, z)
تابع ()textSize
توسط تابع textsize، سایز فونت نمایش متن در صفحه مشخص میگردد.
textSize(size)
تابع ()stroke
از تابع stroke جهت تعیین رنگ دور اشکال استفاده میشود.
stroke(stroke rgb) stroke(rgb, alpha) stroke(gray) stroke(gray, alpha) stroke(v1, v2, v3) stroke(v1, v2, v3, alpha)
۴- کد پروسسینگ Processing
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
اتصالات ماژول آلتراسونیک به آردوینو
- پایه Trigger را به پایه ۸ دیجیتال آردوینو Arduino اتصال دهید.
- پایه Echo را به پایه ۷ دیجیتال آردوینو Arduino اتصال دهید.
برای اجرای پروژه، اطلاعات از پایه تریگر خوانده شده و سپس توسط فرمول، فاصله اندازه گیری میگردد.
۵- کد فاصله سنج با آردوینو Arduino
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
وسایل مورد نیاز
ماژول تشخیص فاصله آلتراسونیک SRF05
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
پروژه و دریافت بن ارسال رایگان
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک دانشجوکیت digispark daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام
از آموزش کامل و توضیح خط به خط بی نهایت ممنونم.
بی صبرانه منتظر آموزش بعدی هستم
سلام
از توجه و دقت نظر شما ممنونم.
سلام
چه طور میتونم فونت تغییر بدم؟
سلام
در متن آموزش تابع PFont را مطالعه نمایید.
سلام
من به کدها دسترسی ندارم باید چیکار کنم؟
سلام
کاربر گرامی برای دسترسی به کدها باید اشتراک تهیه کنید. گزینه ثبت نام سایت را انتخاب و اشتراک خریداری کنید.
سلام
برای دسترسی به کدها لطفا راهنمایی کنید.
سلام
در این خصوص باید در سایت ثبت نام و اشتراک خریداری کنید.
ثبت نام
سلام
ارتباط بین آردوینو و نرم افزار از چه طریقی است؟! چطور تعیین میکنیم دیتا ارسال شود>
سلام
از طریق پورت سریال ارتباط بین آردوینو و نرم افزار پروسسینگ برقرار میگردد.
با سلام و خسته نباشید
طبق دستور عمل کردیم
موقع اجرا کردن کد processing با این خطا مواجه شدیم
Could not parse -1 for –display
با سلام
ارور کامل را ارسال کنید تا بررسی گردد.
سلام ، ممنون از آموزشتون ، نحوه بستن سخت افزار این برنامه نمیگید؟
با سلام
با تشکر از شما
در متن آموزش کامل توضیح داده شده است.
سلام من نوع دیگری ماژول فاصله میخام،میشه تماس گرفت باشما؟
من ممنونتونم
سلام
به فروشگاه مراجعه کنید.
دانشجوکیت
سلام خسته نباشید خانم پوربلورچیان
میخواستم بدونم که آیا امکان اجرای این پروژه با برد آردوینو nano با پردازنده ATmega328 هست یا خیر؟
اگر امکانش باشه آیا نیازی به ایجاد تغییراتی در اتصالات یا کدنویسی برنامه ذکر شده هست یا میتوان با تمام آموزش های گفته شده این پروژه را با برد آردوینو nano نیز انجام داد؟
اگر راهنمایی بفرمایید ممنون میشم
سپاس فراوان
با سلام
هیچ تفاوتی در نوع برد وجود ندارد و تنها کافیست در تنظیمات آردوینو برد مورد نظر را انتخاب کنید. کدها نیازی به تغییر ندارد.
سلام خانم پور بلورچیان
خسته نباشید
میخواستم بدونم امکانش هست که این پروژه رو با برد آردوینو NANO با پردازنده ATmega328 هم انجام داد؟
اگر که این امکان وجود داشته باشه ، بفرمایید که نیازی به ایجاد تغییراتی در اتصالات یا کد برنامه نویسی هست یا خیر؟
ممنون میشم اگر راهنمایی بفرمایید
سپاس فراوان
با سلام
هیچ تفاوتی در نوع برد وجود ندارد و تنها کافیست در تنظیمات آردوینو برد مورد نظر را انتخاب کنید. کدها نیازی به تغییر ندارد.
سلام
من از example این کتابخونه ای که معرفی کردین استفاده کردم و مدام فاصله رو صفر برمیگردونه
البته وقتی قطع و وصل میکنم تغذیش رو تو یه لحظه یه عدد میده(البته عددش هم درست نیست) و نمیدونم مشکل از کجاست.
و اینکه مگه ولتاژ کاری سنسور ۵ ولت نیست؟
نباید برای صفرو یک کردن پایه های trig و echo از level shifter استفاده کنیم؟
با سلام
این آموزش با نرم افزار پروسسینگ نوشته شده است. سوال خود را در پست مرتبط عنوان کنید تا بررسی شود.
آموزش راه اندازی فاصله سنج SRF و نمایشگر LCD کاراکتری با آردوینو
سلام خانم پوربلورچیان
من تو اجرای پروژه با این خطا مواجه میشم :
RuntimeException: Error opening serial port COM9: Port not found
Could not run the sketch (Target VM failed to initialize).
میشه راهنماییم کنین
اگه میشه لطفا راجع به اتصال پورت سریال یکم توضیح بدین که چطور باید باشه
ممنون
با سلام
این ارور مربوط به عدم شناسایی پورت آردوینو در سیستم است.
در خصوص سریال مانتیور با نگه داشتن همزمان CTRL +SHIFT + M باز خواهد شد.
با سلام و خداقوت، میشه همه ی اینا رو تو گوشی اندروید انجام داد؟
با سلام
در خصوص نمایش راداری؟ یا کلا برنامه نویسی؟