زمانی که در صفحه گوگل کروم هستید، اگر اینترنت قطع شود و در وضعیت آفلاین قرار گیرید، تصویر یک دایناسور خاکستری بر روی صفحه نقش می‌بندد. این یک بازی مخفی است که t-rex run نام دارد و در اوایل سال ۲۰۱۴ میلادی، در سبک پیکسل آرت و توسط ادوارد یونگ، سباستین گابریل و آلن بِتِس طراحی شده است.

 

بازی دایناسور (گوگل کروم آفلاین)

اگر کلید «فاصله» کیبورد را فشار دهید، دایناسور شروع به دویدن می کند. باید مراقب باشید که با موانع برخورد نکنید و به موقع جا خالی دهید. برای پرش از روی موانعی که در مسیر شما قرار می گیرند از کلید «فاصله» استفاده کنید و با فشردن کلید «فلش پایین» از زیر موانع رد شوید. این بازی آفلاین، بی‌ پایان است و پس از کسب امتیاز ۹۹۹۹۹ بازی دوباره از ابتدا شروع می شود. هرچند این بازی آفلاین است و برای زمانی طراحی شده که اینترنت شما قطع است، اما نسخه آنلاین آن نیز از طریق آدرس https://chrome/dino در دسترس است.

 

در اینجا می خواهیم با استفاده از یک حسگر نوری و یک سروو موتور، بــــــــازی t-rex run را به صورت اتوماتیک و توسط آردوینو انجام دهیم.

 

قطعات
حسگر نوری یا فتوسل

 

مقاومت ۱۰ کیلو اهم

 

سروو موتور

 

 

 

قطعات را شبیه شکل زیر به هم وصل کنید.

5Vفتوسل
A0فتوسل و مقاومت
GNDمقاومت
GNDقهوه‌ای سروو موتور
5Vقرمز سروو موتور
9نارنجی سروو موتور

 

پایه های فتوسل تفاوتی ندارند ولی سیم های سروو با هم تفاوت دارند که به صورت زیر به آردوینو وصل می شوند:

 

 

کد نویسی آردوینو

کد زیر را روی آردوینو بریزید:


# include

Servo myservo;

 

void setup() {

pinMode(A0, INPUT);

myservo.attach(9);

Serial.begin(9600);

}

 

void loop() {

int senseValue = analogRead(A0);

Serial.println(senseValue);

if (senseValue > 600)

{

myservo.write(0);

}

else

{

myservo.write(100);

delay(150);

}

}


 

گوگل کروم را بر روی کامپیوتر باز کنید. اینترنت را قطع کنید تا بازی بر روی مانیتور ظاهر شود. فتوسل را با چسب نواری در فاصله ۱ سانتی‌متری مقابل دایناسور بچسبانید. سروو موتور را هم روی کلید فاصله (space) کیبورد بچسبانید:

 

 

وقتی دایناسور از مقابل حسگر نوری (فتوسل) رد می شود، نور کمتری به فتوسل می رسد و به آردوینو فرمان می دهد.

حسگر نوری (فتوسل)

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

 

https://electronicsmith.com/dinosaur-game-hack-google-chrome-games/ :منبع


برچسب‌ها: Chrome dinosaur game, Chrome trex run, پروژه آردوینو, آردوینو و فتوسل‌
نوشته شده توسط آموزش آردوینو در یکشنبه ۱۳۹۹/۰۶/۳۰ |

"سریال پلاتر" شبیه "سریال مانیتور" است ولی به جای کلمات، خروجی را رسم میکند.

دسترسی به سریال پلاتر:

Tools --> Serial Plotter

سریال پلاتر آردوینو

مثال: ترسیم منحنی های سینوس و کسینوس در آردوینو:

void setup() {
  Serial.begin(9600);
}

void loop() {
  for (float j = 0; j < 360.00; j=j+2) {
     Serial.print(sin(j * (PI / 180.00)));
     Serial.print(" ");
     Serial.println(cos(j * (PI / 180.00)));
  }
}

 

 

عدد 9600 مقدار baud rate است که بیانگر سرعت انتقال است.

برای پلات چند نوع خط، باید بین دستورهاحتما یک خط خالی به شکل زیر اضافه شود: 

Serial.print(دستور اول);

Serial.print(" ");

Serial.println(دستور دوم);

 

(www.electronicwings.com منبع: سایت)


برچسب‌ها: سریال پلاتر
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۱۹ |

ساده ترین برنامه که میتوان در محیط آردوینو نوشت بصورت زیر است:

 

void setup()
{

//put your setup code here to run once
}

void loop()
{

//put your main code here to run repeatedly
}

 

هربرنامه ساده یا پیچیده آردوینو، باید دارای 2 تابع ویژه به نامهای setup و loop باشد:

  • کاری که تابع setup انجام میدهد آن است که:

دستوری که برایش تعریف می کنیم را «فقط یکبار انجام می دهد».

  • کاری که تابع loop انجام میدهد آن است که:

دستوری که برایش تعریف می کنیم را «آن قدر تکرار میکند تا بگوییم کافی است».

 

 

دو پرانتز که به صورت () بعد از کلمات setup و loop آمده است یعنی setup و loop کلمات عادی نیستند بلکه «تابع» هستند:

تابع یعنی چیزی که مانند یک دستگاه، کار مشخصی را که برایش تعریف کرده‌ ایم انجام میدهد یعنی داده ای را از ما میگیرد وسپس عملیاتی را روی داده انجام میدهد و در آخر نتیجه را به ما بر‌میگرداند.

 

مجدداً به متن برنامه مراجعه کنید:

 

void setup()
{
//put your setup code here to run once
}

void loop()
{
//put your main code here to run repeatedly
}

 

یک علامت به شکل } بعد از کلمه setup قرارگرفته است. علامت } نشانه شروع محدوده ای است که هر دستوری داخل این محدوده نوشته شود، توسط تابع setup اجرا میشود. انتهای این محدوده را با علامتی برعکس، به شکل { نشان میدهیم. بطور خلاصه، دستوراتی که بین دو علامت } و { بیایند، به ترتیب و از بالا به پایین، «فقط یک بار» توسط تابع setup اجرا میشوند. به محدوده بین {} بدنه تابع می گوییم.
بعد از تابع loop نیز علایم } و { دیده میشوند: نقش آنها مثل قبل است و محدوده شروع و پایان دستوراتی را نشان میدهند که توسط تابع loop اجرا میشوند. دستوراتی که بین دو علامت } و { بیایند، به ترتیب و از بالا به پایین، «به دفعات نامحدود» توسط تابع  loop اجرا میشوند.


بنابراین تفاوت اصلی تابع loop با تابع setup آن است که:
تابع setup دستورات داخل { } را فقط یک بار اجرا میکند ولی تابع loop دستورات داخل { } را نه فقط یک بار، بلکه آنقدر تکرار میکند که بگوییم کافی است.

(منبع: کتاب کلید آردوینو)


برچسب‌ها: برنامه نویسی آردوینو, Arduino IDE
نوشته شده توسط آموزش آردوینو در شنبه ۱۳۹۸/۱۱/۰۵ |