رباتیک و هوافضا

ساخت کرنومتر با استفاده از آردوینو برای محاسبه ی چند زمان

به نام خدا

ساخت کرنومتر با استفاده از آردوینو برای محاسبه ی چند زمان

در این پروژه قصد داریم تا یک تایمر خودکار را ارئه دهیم تا برای یک دونده زمان هایی را محاسبه کند که بین چند نقطه ی مختلف آن ها را طی کرده است. به این ترتیب هنگامی که یک نقطه را تمام کرد ، تایمر زمان قبلی را نگه میدارد و تا نقطه ی بعدی زمان بعدی را می شمارد. در این پروژه از ۴ ال دی ار استفاده است. ال دی ار ها مقاومت های حساس به نور هستند که با استفاده یک لیزر می توان سیستمی درست کرد تا عبور دونده را ثبت کند.

 

 

 

 

 

 

شماتیک مدار :

تصویر بالا شماتیک مدار اتصالات اجزای مدار و ال سی دی به آردوینو را نمایش می دهد . از پتانسیومتر برای تنظیم کنتراست ال سی دی استفاده شده است. در این تصویر تنها ال دی آر دو نشان داده شده است و باید بقیه ی ال دی آر ها را همانند شکل های زیر به صورت موازی متصل کنید.

بیشتر بخوانید...  اندازه گیری سطح صدا با آردوینو بر حسب دسی بل با میکروفون

 

 

نحوه ی سیم بندی ال دی آر ها:

 

 

 

تصویر بالا نیز نحوه ی سیم بندی کل مدار در کل محیطی ست که دونده می خواهد در آن بدود. براساس قدرت لیزر ، می توان فاصله ی بین ال دی آر و لیزر را تغییر داد.

 

نحوه ی ساخت سنسور با ال دی آر:

 

در تصویر بالا نحوه ی ساخت سنسور حساس به لیزر را مشاهده می کنید و توجه کنید که این ساختار نباید در مقابل تابش مستقیم نور قرار گیرد زیرا نمی تواند نور لیزر را تشخیص دهد.

دانلود کد برنامه ساخت کرنومتر با استفاده از آردوینو برای محاسبه ی چند زمان:

دانلود فایل
#include <LiquidCrystal.h>

LiquidCrystal lcd(12,11,5,4,3,2);

const int start = A2;

const int strt = A0;

const int END = A1;

boolean y = true;

boolean x = true;

unsigned int s1 = 0;

unsigned int s2 = 0;

unsigned int s3 = 0;

unsigned int s4 = 0;

unsigned int s5 = 0;

unsigned int m1 = 0;

unsigned int m2 = 0;

unsigned int m3 = 0;

unsigned int m4 = 0;

unsigned int m5 = 0;

unsigned int ms1 = 0;

unsigned int ms2 = 0;

unsigned int ms3 = 0;

unsigned int ms4 = 0;

unsigned int ms5 = 0;

unsigned int S = 0;

unsigned int M = 0;

unsigned int mS = 0;

unsigned int count = 0;

void setup()

{

lcd.begin(16,2);

pinMode(start, INPUT);

pinMode(strt, INPUT);

pinMode(END, INPUT);

if(digitalRead(strt) == LOW)

{

while(true)

{

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Start Laser is");

lcd.setCursor(0,1);

lcd.print(" not working");

delay(2500);

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Please align the");

lcd.setCursor(0,1);

lcd.print("lasers properly");

delay(2500);

lcd.clear();

lcd.setCursor(0,0);

lcd.print("and press reset.");

delay(2500);

}

}

if(digitalRead(END) == LOW)

{

while(true)

{

lcd.clear();

lcd.setCursor(0,0);

lcd.print("All 5 lasers");

lcd.setCursor(0,1);

lcd.print("are misaligned");

delay(2500);

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Please align the");

lcd.setCursor(0,1);

lcd.print("lasers properly");

delay(2500);

lcd.clear();

lcd.setCursor(0,0);

lcd.print("and press reset.");

delay(2500);

}

}

lcd.clear();

lcd.setCursor(0,0);

lcd.print("-System Standby-");

lcd.setCursor(0,1);

lcd.print("Press Start btn");

if(digitalRead(start) == LOW)

{

while(x)

{

if(digitalRead(start) == HIGH)

{

x = false;

}

}

}

lcd.clear();

lcd.setCursor(0,0);

lcd.print("System is ready");

lcd.setCursor(0,1);

lcd.print("----------------");

while(y)

{

if(digitalRead(strt) == LOW)

{

y = false;

}

}

lcd.clear();

lcd.setCursor(0,0);

lcd.print("Time is being");

lcd.setCursor(0,1);

lcd.print("Calculated....");

mS = 12;

}

void loop()

{

delay(1);

mS = mS + 1;

if(mS==1000)

{

mS=0;

S = S+1;

}

if(S==60)

{

S=0;

M = M+1;

}

if(digitalRead(END) == LOW)

{

 

بیشتر بخوانید...  راه اندازی سنسور فشار ( ارتفاع سنج) BMP180

 

دیدگاه‌ها (0)

*
*