آموزش آردوینو پروژه پنجم
از زمانی که فردوسی بزرگ “عجم زنده کرد بدان پارسی” سالها گذشته. بعد از اون هر جا مردم خواستند یادشون باشه یا به یاد کسی بیارند که بسی رنج برده شده، یکم مشکل داشتن؛ چون حکیم توس اهل کمکاری نبود و خوندن شش هزار بیت برای این یادآوری هم کار سختی بود. تا اینکه یک روز دو نفر به اسمهای روحالله خالقی و حسین گلگلاب (که من قدیم فکر میکردم به خاطر تجلیل از کارش این رو بهش میگن!) تصمیم گرفتن یک نسخه مینیاتوری از شاهنامه رو بسازند و همه بزرگی اون رو توی چند بیت و چند میزان آهنگ بگنجونن. بعد از اون مردانی از پارس حتی در ثریا هم اون رو زمزمه کردن تا اینکه من کاشف به عمل آوردم هنوز در دنیای آردوینو این آهنگ طنینانداز نشده. این شد که تصمیم گرفتم روح فردوسی رو بیش از این منتظر نگذارم! البته پر واضح و مبرهن است که با ابزار قبلی که داشتم، نمیشد چنین کاری کرد. لذا بستهی زیر رو به قیمت هشتاد هزار تومان تهیه کردم که شامل مجموعهای از شیلدهای آموزش آردوینو ساخت کشور دوست و همسایه، چین است.1 2 3 4 5 | tone(3,1500); delay(1000); noTone(3); delay(3000); |
صورتمسئله اصلی:
پرچم ایران رو در هنگام نواخته شدن قسمتی از سرود ای ایران به اهتزاز در بیارید! برد رو مشابه تصویر زیر، پیادهسازی میکنیم:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | void playMusic() { tone(BUZZER,1000); delay(500); tone(BUZZER,1500); delay(500); tone(BUZZER,1000); delay(500); tone(BUZZER,1500); delay(500); tone(BUZZER,1520); delay(500); tone(BUZZER,1600); delay(250); tone(BUZZER,1700); delay(250); tone(BUZZER,1700); delay(250); tone(BUZZER,1600); delay(250); tone(BUZZER,1500); delay(1000); noTone(BUZZER); delay(3000); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | void GreenLed() { digitalWrite(BLUE,LOW); digitalWrite(RED,LOW); digitalWrite(GREEN,HIGH); } void RedLed() { digitalWrite(BLUE,LOW); digitalWrite(GREEN,LOW); digitalWrite(RED,HIGH); } void WhiteLed() { digitalWrite(BLUE,HIGH); digitalWrite(GREEN,HIGH); digitalWrite(RED,HIGH); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | //By Sisoog //آموزش آردوینو پروژه پنجم int BUZZER=3; int BLUE=4; int GREEN=5; int RED=6; void setup() { // put your setup code here, to run once: pinMode(BUZZER,OUTPUT); pinMode(BLUE,OUTPUT); pinMode(GREEN,OUTPUT); pinMode(RED,OUTPUT); } void loop() { playMusic(); } void GreenLed() { digitalWrite(BLUE,LOW); digitalWrite(RED,LOW); digitalWrite(GREEN,HIGH); } void RedLed() { digitalWrite(BLUE,LOW); digitalWrite(GREEN,LOW); digitalWrite(RED,HIGH); } void WhiteLed() { digitalWrite(BLUE,HIGH); digitalWrite(GREEN,HIGH); digitalWrite(RED,HIGH); } void playMusic() { GreenLed(); tone(BUZZER,1000); delay(500); tone(BUZZER,1500); delay(500); tone(BUZZER,1000); WhiteLed(); delay(500); tone(BUZZER,1500); delay(500); tone(BUZZER,1520); delay(500); tone(BUZZER,1600); delay(250); tone(BUZZER,1700); delay(250); Red(); tone(BUZZER,1700); delay(250); tone(BUZZER,1600); delay(250); tone(BUZZER,1500); delay(1000); noTone(BUZZER); delay(3000); } |