گاهی اوقات لازم است قبل از ساخت و تولید یک پروژه آن را شبیه سازی کنیم. برای شبیه سازی مدارهای الکترونیک از نرم افزاری به نام پروتؤس استفاده میشود. نرم افزار پروتئوس در زمینه شبیه سازی یک مدار الکترونیکی کاملا شبیه به واقعیت را فراهم میکند. شبیه سازی مداراتی که با آردوینو ساخته میشوند نیز یکی از توانایی های این نرم افزار است که با فایل های کمکی قابل دستیابی است.
شبیه سازی آردوینو در پروتئوس
تمامی بردهای آردوینو در نرم افزار پروتئوس Proteus قابلیت شبیه سازی دارند. برای شبیه سازی یک برد آردوینو از جمله بردهای آردوینو مگا Mega2560، آردوینو Uno ، نانو و مینی و یا حتی لیلی پد Arduino Lilypad باید کتابخانه این بردها به نرم افزار Proteus اضافه شود. در ادامه نحوه اضافه کردن کتابخانه، دانلود و نحوه اجرای برنامه درون این بردها را توضیح خواهم داد. ابتدا لازم است که کلیه کتابخانههای مورد نیاز را دانلود کنید. پس از باز کردن فایل ZIP دانلودی دو فایل با فرمتهای LIB و IDX در اختیار شما قرار میگیرد. حال باید به محل نصب Proteus وارد شویم. برای یافتن آدرس نصب نرم افزار پروتئوس Proteus به این صورت عمل کنید. با کلیک بر روی آیکون آن و انتخاب گزینه Open file location آدرس را پیدا کنید. ولی اگر در هنگام نصب محل آن را تغییر ندادهاید در آدرس زیر وجود دارد.
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional
جهت دانلود کتابخانه بردهای آردوینو در نرم افزار پروتئوس Proteus به صفحه محصول آردوینو در فروشگاه مراجعه کنید. در قسمت دانلود کتابخانه مورد نیاز قرار گرفته شده است. حال به پوشه LIBRARY رفته و فایلهای دانلودی را به آن جا انتقال دهید. سپس وارد نرم افزار Proteus شده و روی گزینه P کلیک کنید. به تصویر زیر دقت کنید.
سپس با کلیک بر روی Arduino مانند شکل زیر میتوانید کتابخانه مربوط به آردوینو را باز کنید. این بردها در نرم افزار پروتئوس Proteus به صورت سبز رنگ هستند. زیر کتابخانه Arduino با Gnuino هیچ تفاوتی ندارد. همانطور که میدانید هر دو برند یکسان هستند.
کد پروژه فتوسل LDR با آردوینو
محدودیت در دسترسی کامل به این مجموعه آموزش
دسترسی کامل به آموزش برای اعضای دیجی اسپارک امکان پذیر است. بخش اصلی آموزش شامل سورس کدهای توسعه داده شده توسط مهندسهای دیجی اسپارک است. به همین دلیل این آموزش خاص و یکتاست. برای استفاده از آن بایستی عضویت تهیه کنید. تبادل نظر با کاربران و پرسش سوال رایگان است و میتوانید از بخش نظرات همین آموزش اقدام کنید. |
ابتدا بر روی verify کلیک میکنیم تا کد در جایی دلخواه ذخیره شود،سپس با کلیک بر روی Sktch از تب بالای Arduino IDE روی Export comiled Binary کلیک میکنیم،متوجه می شویم در همان جایی که فایل را ذخیره کرده بودیم دو فایل دیگر با فرمت باینری زخیره شدهاند. به تصویر زیر دقت کنید.
تنظیمات آردوینو در پروتئوس Proteus
حال به نرم افزار پروتئوس مراجعه کرده و یک برد از قسمت کتاب خانه Arduino انتخاب کنید. با دو بار کلیک بر روی برد پنجرهای مانند زیر باز میشود.
سپس مانند تصویر زیر از بخش Program File جهت فراخوانی فایلهای مورد نیاز روی بخش مشخص شده کلیک کنید.
سپس یکی از همان دو فایلی که در کنار کد آردوینو ساخته شده را انتخاب کنید و بر روی Ok کلیک کنید.
شبیه سازی پروژه آردوینو در پروتئوس
پس از انجام اقدامات نرم افزاری، میبایست موارد سخت افزاری آردوینو را اجرا کنیم. همانند تصویر زیر مدار LDR فتوسل را روی برد آردوینو ببندید.
حال همان طور که مشاهده میکنید اگر نور را نزدیک کنیم به سنسور لامپ روشن می شود. همان طور که می بینید بدون هیچ هزینه ای یک پروژه LDR راه اندازی شد. حال اگر بخواهید این پروژه را در واقعیت ببندید اتصالات رامانند شکل زیر انجام دهید.
قطعات و وسایل موردنیاز
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد.
پروژه و دریافت بن خرید
طی چند قسمت قبلی که طرح پروژه را پیاده سازی کردیم، با استقبال شما کاربران مواجه شدیم. در این سری برای اینکه گستره بیشتری از افراد بتوانند فرصت استفاده از بن خرید را داشته باشند؛ روال دیگری را در پیش گرفتیم. در این روش تصمیم گرفتهایم به ۱۰ نفر از کاربران بن خرید ارایه شود. برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و بسته به خلاقیتشان، مدار جدیدی ایجاد کنند. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگ «#دیجی_اسپارک» و «#دانشجوکیت» و «#digispark» و «#daneshjookit» منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان از دانشجو کیت، لینک را ارسال کنید.
در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.
سلام
از آموزش کامل و توصیحات خوب ممنونم. فقط من متوجه نشدم از کجا کتابخانه آردوینو mega را دانلود کنم. من فقط مگا۲۵۶۰ دارم. لطفا راهنمایی کنید.
برای دانلود کتاب خانه ها از قسمت صفحه محصول یا از لینک زیر از قسمت دانلود بر روی دانلود کتابخانه برد آردوینو برای پروتوس دانلود فرمائید ٬ توجه کنید که همه برد ها داخل همان کتاب خانه هست که زیر برد UNO آمده است.
لینک صفحه محصول در بالای صفحه گفته شده.
لطفا کمک کنید واسه من فایل LIBRARY رو نداره
با سلام
ضمن تشکر از توجه شما، فایلی که از سایت دانلود کردید را باید داخل پوشه Library واقع شده در محل نصب پروتوس کپی کنید که محل این پوشه در نصب پروتوس به طور پیشفرض آدرس زیر می باشد:
C:\Program Files (x86)\Labcenter Electronics\Proteus 8 Professional\LIBRARY
(با توجه به ویندوز میتواند متفاوت باشد)
با سلام در مورد پرسش شما از نبود Library در ورژن جدید پروتوس درست فرمودید شما میتوانید آن را در آدرس زیر پیدا کنید:
C:\Program data\Labcenter Electronics\Proteus 8 Professional\LIBRARY
شاید پروگرام دیتای شما نیز hidden باشد از این حالت بردارید تا دیده شود.
با تشکر.
سلام
اره منم همین مشکلو داشتم ولی توی فولدر DATA یه فولدر LIBRARY وجود داره این همونه
سلام من تمام مراحل رو انجام میدم اما LED روشن نمیشه!!!!
با سلام
ضمن تشکر از توجه شما ، موارد زیر را چک کنید:
۱-کد ۲- آیا کد داخل آیسی داخل پروتوس لود شده یا خیر ۳-با کلیک بر روی LDR مقاوت آن را چک کنید که خیلی بالا نباشد ، در صورت کار نکردن مجددا عنوان کنید .
با سلام
ضمن تشکر از توجه شما ، موارد زیر را چک کنید:
۱- کد ۲- فایل روی برد آردوینو در پروتوس آپلود شده باشد ۳- برنامه را در پروتوس ران کرده باشید ۴- در صورت کار نکردن میزان مقاومت LDR را کمتر کنید این مقدار پیش فرض روی یک ملیون است.
۵-نزدیک و دور بودن نور به LDR را چک کنید .
سلام خانم مهندس
میشه لطف کنین کد زیر رو زبان عامیانه و تحت الفظی برام ترجمه کنید. میخوام بدونم در هر خط چه درخواست و اتفاقی افتاده است.
سپاس
;int sensor_pin = 0;
int led_pin = 13;
volatile int heart_rate;
volatile int analog_data;
volatile int time_between_beats = 600;
volatile boolean pulse_signal = false;
volatile int beat[10]; //heartbeat values will be sotred in this array
volatile int peak_value = 512;
volatile int trough_value = 512;
volatile int thresh = 525;
volatile int amplitude = 100;
volatile boolean first_heartpulse = true;
volatile boolean second_heartpulse = false;
volatile unsigned long samplecounter = 0; //This counter will tell us the pulse timing
volatile unsigned long lastBeatTime = 0;
void setup()
{
pinMode(led_pin,OUTPUT);
Serial.begin(115200);
interruptSetup();
}
void loop()
{
Serial.print(“BPM: “);
Serial.println(heart_rate);
delay(200); // take a break
}
void interruptSetup()
{
TCCR2A = 0x02; // This will disable the PWM on pin 3 and 11
OCR2A = 0X7C; // This will set the top of count to 124 for the 500Hz sample rate
TCCR2B = 0x06; // DON’T FORCE COMPARE, 256 PRESCALER
TIMSK2 = 0x02; // This will enable interrupt on match between OCR2A and Timer
sei(); // This will make sure that the global interrupts are enable
}
ISR(TIMER2_COMPA_vect)
{
cli();
analog_data = analogRead(sensor_pin);
samplecounter += 2;
int N = samplecounter – lastBeatTime;
if(analog_data (time_between_beats/5)*3)
{
if (analog_data thresh && analog_data > peak_value)
{
peak_value = analog_data;
}
if (N > 250)
{
if ( (analog_data > thresh) && (pulse_signal == false) && (N > (time_between_beats/5)*3) )
{
pulse_signal = true;
digitalWrite(led_pin,HIGH);
time_between_beats = samplecounter – lastBeatTime;
lastBeatTime = samplecounter;
if(second_heartpulse)
{
second_heartpulse = false;
for(int i=0; i<=9; i++)
{
beat[i] = time_between_beats; //Filling the array with the heart beat values
}
}
if(first_heartpulse)
{
first_heartpulse = false;
second_heartpulse = true;
sei();
return;
}
word runningTotal = 0;
for(int i=0; i<=8; i++)
{
beat[i] = beat[i+1];
runningTotal += beat[i];
}
beat[9] = time_between_beats;
runningTotal += beat[9];
runningTotal /= 10;
heart_rate = 60000/runningTotal;
}
}
if (analog_data 2500)
{
thresh = 512;
peak_value = 512;
trough_value = 512;
lastBeatTime = samplecounter;
first_heartpulse = true;
second_heartpulse = false;
}
sei();
}
با سلام
کاربر گرامی این پست توسط آقای مهدی تاج الدینی نوشته شده است. دقت داشته باشید وقت اسپارکرها و نویسندههای سایت در اختیار جنابعالی نمیباشد که تمامی کدها را ترجمه کنند. لطفا هر جایی سوالی دارید از طریق بخش نظرات مربوط به آموزش مورد نظرتان، بخش به بخش را سوال کنید.
سلام خسته نباشید
mixed model AVR2.DLL failed to authorize – Missing or invalid Customer Key.. [GEN1]
Real Time Simulation failed to start.
Simulation FAILED due to fatal simulator errors.
همه کارایی که گفته شده رو انجام دادم و به ارور های بالا بر خوردم لطفا کمک کنید سپس
سلام خسته نباشید،
برای نصب کردن یا برای اولین بار باز کردن این نرم افزار به اینترنت هم نیاز است؟چون که کامپیوتر من به اینترنت متصل نیست.
با سلام
خیر نیازی به اینترنت نیست.
سلام روزتون بخیر
ببخشید من یه سوال دارم من کتابخانه برد اردوینو رو همین طوری که گفتین تو کتابخانه پروتئوس اضافه کردم اما تو پروتئوس چیزی بالا نمیاد از بردهای اردوینو میشه لطفا راهنمایی کنید ممنون میشم
با سلام
لطفا اعلام بفرمایید ورژن نرم افزار پروتئوس شما کدام ورژن است؟