مهندسی برق و کامپیوتر

این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

دانلود آهنگ مرتضی اشرفی با هم باشیم

امشب می توانید دانلود کنید و لذت ببرید از آهنگ با هم باشیم با صدای مرتضی اشرفی

Exclusive Song: Morteza Ashrafi – “Ba Ham Bashim” With Text And Direct Links In UpMusic

… جهت تکمیل آرشیو …

fg دانلود آهنگ مرتضی اشرفی با هم باشیم

متن آهنگ با هم باشیم مرتضی اشرفی

♪♪♫♫♪♪♯

باریکلا به این هیکلا
پیش ما بشین ایولا
همه باهم ایولا
من خوشم وقتی باتوام
♪♪♫♫♪♪♯ با هم میرقصیم تاصبح ♪♪♫♫♪♪♯
بازکن ازهم ابروهاتو
من خوشم هرجا باتو
اون چشمای آبیه بسته ات
صدای ریسو حالی که خسته اس
♪♪♫♫♪♪♯ تومیخوای که به من زل بزنی ♪♪♫♫♪♪♯
به من گل بزنی زاویه بسته
دیدی گفتم من بهت میگفتم که باتو هستم
دیدی رفتی دیدم که رفتی
وقتی که رفتی

UpMusicTag دانلود آهنگ مرتضی اشرفی با هم باشیم
من باتو رفتم
تاتورو دیدم به تو میگم بیاکنارم بشین
همه باهمن پس بیا
بیاماهم باهم باشیم
♪♪♫♫♪♪♯ بیا باشیم آدم برفی ♪♪♫♫♪♪♯
تویی که مثله آهن سختی
شایدشمابامن قهری
خب به هرحال توبازم رفتی
داره میزنه بادخنکو
دورمنوتو پربادکنکو
بااین موزیک شادورقص کن
♪♪♫♫♪♪♯ ازیادبردیم راهو رسمو ♪♪♫♫♪♪♯
تویه مهمونی اخر راهیمو
دنیاتودست ما راحت بازی
همه جا اره هست شیک وبیس
میلرزه زمین توساعت خاصی

♪♪♫♫♪♪♯

مرتضی اشرفی با هم باشیم

منبع ( surce ) : دانلود آهنگ مرتضی اشرفی با هم باشیم

ادامه مطلب

این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

دانلود آهنگ شهاب مظفری فقط در همين حد

هم اکنون می توانید دانلود کنید و لذت ببرید از آهنگ فقط در همين حد با صدای شهاب مظفری به همراه تکست

شعر : مریم اسدی / آهنگسازی : بابک مافی

Exclusive Song: Shahab Mozaffari – “Faghat Dar Hamin Had” With Text And Direct Links In UpMusic

… جهت تکمیل آرشیو …

er دانلود آهنگ شهاب مظفری فقط در همين حد

متن آهنگ فقط در همين حد شهاب مظفری

♪♪♫♫♪♪♯

فقـط در همـین حد بدون که بریدم
بدون که من از تو دیگه دست کشیدم
♪♪♫♫♪♪♯ فقـط در همـین حد بدون که تموم شد ♪♪♫♫♪♪♯
چقدر ساده بودم به عشقت دل سپردم
چقدر گریه کردم چقدر غصه خوردم

♪شعر : مریم اسدی♪
به چشمات قسم که تو این قصه مردم
♪♪♫♫♪♪♯ من از بس که پای بدیات نشستم ♪♪♫♫♪♪♯
فقط در همیـن حد بدون که شکستم
تو دیوونگیمو میخواستی که دیدی
تو به آرزویی که داشتی رسیدی

UpMusicTag دانلود آهنگ شهاب مظفری فقط در همين حد
یه دنیا نوازش به تو هدیه کردم
ولی حالا سرد سردم
فقط در همیـن حد بدون که بریدم
♪♪♫♫♪♪♯ بدون که من از تو دیگه دست کشیدم ♪♪♫♫♪♪♯
فقط در همین حد بدون که تموم شد
چقدر ساده بودم به عشقت دل سپردم
چقدر گریه کردم چقدر غصه خوردم
به چشمات قسم که تو این قصه مردم
♪♪♫♫♪♪♯ من از بس که پای بدیات نشستم ♪♪♫♫♪♪♯
فقط در همین حد بدون که شکستم

♪♪♫♫♪♪♯

شهاب مظفری فقط در همين حد

منبع ( surce ) : دانلود آهنگ شهاب مظفری فقط در همين حد

ادامه مطلب

این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

دانلود آهنگ سیامک عباسی ببین چقدر دوست دارم

سیامک عباسی عزیز اینبار با آهنگ شنیدنی ببین چقدر دوست دارم از آپ موزیک | دانلود با بهترین کیفیت و متن

ترانه سرا و تنظیم کننده : سیامک عباسی

Download New Song BY : Siamak Abbasi – Bebin Cheghadr Dooset Daram With Text And Direct Links In UpMusics

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

siamak دانلود آهنگ ببین چقدر دوست دارم از سیامک عباسی

متن آهنگ ببین چقدر دوست دارم از سیامک عباسی

توضیحات سیامک عزیز در اینستاگرام :

siamak_abbasi…
#ببین_چقدر_دوست_دارم 😍
فردا شب، از کانال تلگرام خودم
.
.
.
.
.
.
.
.
حالا اگه تا فردا شب #تلگرام فیلتر نشه 😂

ببین چقدر دوست دارم از سیامک عباسی

منتظر این آهنگ فوق العاده از سیامک عباسی عزیز باشید….

منبع ( surce ) : دانلود آهنگ ببین چقدر دوست دارم از سیامک عباسی

ادامه مطلب

این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

دانلود آهنگ آرین گله دور نشو

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

Exclusive Song: Arian Goleh – “Door Nasho” With Text And Direct Links In UpMusic

Arian Goleh Door Nasho دانلود آهنگ آرین گله دور نشو

متن آهنگ دور نشو آرین گله

♪♪♫♫♪♪♯

صدامو داری یا نه صدای قلب من که میشکنه میشونی یا نه
صدای قلبی که کند میزنه من همونم که بی تو زندگی نمیکنه جون میکنه ♪♪♫♫♪♪♯
صدامو داری یا نه یه لحظه چشماتو باز کن میشناسی یا نه
به من دیوونه بی لعنتی قول داده بودی نری قول داده بودی ازم جدا نشی ♪♪♫♫♪♪♯
بسه انقده دور نشو از من که دیوونمو از من که بی خنده هات سرد مث زمستونمو

UpMusicTag دانلود آهنگ آرین گله دور نشو

چقده سخت میگذره این روزا بی تو تورو دارم یا ندارم کاشکی اینجوری نمیشد
نگاهم به ساعت تو خوابی چه راحت پس آرزوهام چی تو باید بیدار شی ♪♪♫♫♪♪♯
بسه انقده دور نشو از من که دیوونمو از من که بی خنده هات سرد مث زمستونمو
بسه انقده دور نشو از من که دیوونمو از من که بی خنده هات سرد مث زمستونمو ♪♪♫♫♪♪♯

♪♪♫♫♪♪♯

آرین گله دور نشو

منبع ( surce ) : دانلود آهنگ آرین گله دور نشو

ادامه مطلب

این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

دانلود آهنگ تیتراژ سریال ایراندخت سالار عقیلی

موزیک پایانی سریال دیدنی و تماشاییایراندخت از شبکه یک با صدای هنرمند سالار عقیلی

شعر : رویا میرفخرایی / آهنگسازی : کامبیز روشن روان

Download New Song BY : Salar Aghili – Iran Dokht With Text And Direct Link In UpMusic

Salar Aghili Iran Dokht دانلود آهنگ تیتراژ سریال ایراندخت سالار عقیلی

متن آهنگ ایراندخت سالار عقیلی

♪♪♫♫♪♪♯

تو آرام جان هر نفس با منی در این سوگ هجران و درد فراق
♪♪♫♫♪♪♯ در این حس زخم خورده ی ملتهب در آغوش بی رحم یک اتفاق ♪♪♫♫♪♪♯

♪ شعر : رویا میرفخرایی ♪
♪♪♫♫♪♪♯ به عشق تو از عمق شب رد شدم از این زجر و اندوه عاشق کشی ♪♪♫♫♪♪♯
چه طوفانی از عشق برپا شده تو در باور من نفس میکشی

UpMusicTag دانلود آهنگ تیتراژ سریال ایراندخت سالار عقیلی

تو در اوج دلواپسی گم شدی به عطر حضور تو پیدا شدم
♪♪♫♫♪♪♯ به طنازی خاک و یک خاطره چه سرگشته و زار و شیدا شدم ♪♪♫♫♪♪♯

♪آهنگسازی : کامبیز روشن روان♪
♪♪♫♫♪♪♯ به عشق تو از عمق شب رد شدم از این زجر و اندوه عاشق کشی ♪♪♫♫♪♪♯
چه طوفانی از عشق برپا شده تو در باور من نفس میکشی

♪♪♫♫♪♪♯

آهنگ تیتراژ سریال ایراندخت سالار عقیلی

منبع ( surce ) : دانلود آهنگ تیتراژ سریال ایراندخت سالار عقیلی

ادامه مطلب

این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

دانلود آهنگ محسن ابراهیم زاده هوا خواه توام

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

این ترک جز اولین آهنگ های محسن عزیز می‌باشد

آهنگسازی : محسن ابراهیم زاده / تنظیم کننده : مصطفی مومنی

Exclusive Song: Mohsen Ebrahim Zade – “Hava Khahe Toam” With Text And Direct Links In UpMusic

.::. جهت تکمیل آرشیو آپ موزیک .::.

hjuk دانلود آهنگ محسن ابراهیم زاده هوا خواه توام

متن آهنگ هوا خواه توام محسن ابراهیم زاده

♪♪♫♫♪♪♯

یکی مثل من که هوادارته یکی مثل تو سرده تو رابطه
میبینه جدایی فقط راهشه واسه این دلی که پر ازخواهشه

♪♪♫♫♪♪♯ یکی مثل تو زودی د میبره یکی مثل من غصه تو میخوره ♪♪♫♫♪♪♯
♪♪♫♫♪♪♯ یکی مثل تو که از من میگذره یکی مثل من حالتو میخره ♪♪♫♫♪♪♯

ازم دل نکن بی تو من میبرم ازم دل نکن من زمین میخورم
نذار بد بیارم توی راه تو ازم دل نکن میدونم حالتو
ازم دل نکن بی تو من میبرم ازم دل نکن من زمین میخورم
♪♪♫♫♪♪♯ نذار بد بیارم توی راه تو ازم دل نکن میدونم حالتو ♪♪♫♫♪♪♯

UpMusicTag دانلود آهنگ محسن ابراهیم زاده هوا خواه توام

♪♪♫♫♪♪♯ دلم ارزوی تو رو میبره ببین ساعت ها بی تو بد میگذره ♪♪♫♫♪♪♯
بجز تو از هرچی دل میبرم بهت قول میدم قسم میخورم

دلم ارزوی تور رو میبره ببین بی تو بودن چه بد میگذره
بجز تو از هرچی دل میبرم بهت قول میدم قسم میخورم

♫♫ تنظیم کننده : مصطفی مومنی ♫♫

ازم دل نکن بی تو من میبرم ازم دل نکن من زمین میخورم
♪♪♫♫♪♪♯ نذار بد بیارم توی راه تو ازم دل نکن میدونم حالتو ♪♪♫♫♪♪♯
♪♪♫♫♪♪♯ ازم دل نکن بی تو من میبرم ازم دل نکن من زمین میخورم ♪♪♫♫♪♪♯
نذار بد بیارم توی راه تو ازم دل نکن میدونم حالتو

♪♪♫♫♪♪♯

محسن ابراهیم زاده هوا خواه توام

منبع ( surce ) : دانلود آهنگ محسن ابراهیم زاده هوا خواه توام

ادامه مطلب

این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

دانلود آهنگ قدیمی امیر علی خط و نشون 1
موزیک قدیمی و شنیدنی و ماندگار خواننده امیرعلی بنام خط و نشون 1 همراه با متن آهنگ و کیفیت عالی

ترانه سرا / آهنگسازی : امیر علی /  تظیم کنندگان : امیر علی ، دیجی بلک زینگ و سعید ساشا

Download Old Song  Amir Ali – Khato Neshon Direct Link MP3 In UpMusics

amir ali khat دانلود آهنگ قدیمی امیر علی خط و نشون 1

♪♪♫♫♪♪♯

بس کن میدونم که تو عاشق دعواهو خطونشونی ♫
پیشت نمیام میدونم که نباشم تنها میمونی ♫
نگو قولو قرار که دلیله جدایی رو خودت میدونی ♫
میگی عاشقمی آخه عاشق اینجوری من که ندیدم ♫
راهی که میری همه خط کشی هاشو خودم کشیدم ♫
برو قصه بساز واسه یه نفره دیگه که من پریدم ♫
میگی عاشقمی آخه عاشق اینجوری من که ندیدم ♫

UpMusicTag دانلود آهنگ قدیمی امیر علی خط و نشون 1
راهی که میری همه خط کشی هاشو خودم کشیدم ♫
برو قصه بساز واسه یه نفره دیگه که من پریدم♫
منو سیاه نکن مگه نمیدونی عمریه ذغال فروشم ♫
منو میترسونی بابا گرگمو لباس بره میپوشم ♫
تو خیال میکنی که من بردهو غلام حلقه به گوشم ♫
میگی عاشقمی آخه عاشق اینجوری من که ندیدم ♫
راهی که میری همه خط کشی هاشو خودم کشیدم ♫
برو قصه بساز واسه یه نفره دیگه که من پریدم ♫
میگی عاشقمی آخه عاشق اینجوری من که ندیدم ♫
راهی که میری همه خط کشی هاشو خودم کشیدم ♫
برو قصه بساز واسه یه نفره دیگه که من پرید ♫

♪♪♫♫♪♪♯

امیر علی خط و نشون

♪♪♫♫♪♪♯

کد آهنگ پیشواز امیر علی خط و نشون

۳۸۲۷۷ / امیر علی نورایی

منبع ( surce ) : دانلود آهنگ قدیمی امیر علی خط و نشون 1

ادامه مطلب

 

در مدارات میکروکنترلری و همچنین سیستم های تعبیه شده معمولا نیاز به ابزاری دارید که یک سری اطلاعات را به نمایش در بیاورند و از این طریق اطلاعاتی را به کاربران خود بدهند. شاید ساده ترین نوع این ها LCD های کاراکتری باشند.

LCD های کاراکتری معمولا اطلاعاتی را به کاربر یک سیستم تعبیه شده از قبیل نشان دادن روشن بودن سیستم، حالت عملکرد درست، حالت خطا و یا هشدارها می دهند.اما ما در این نوع پروژه با استفاده از LCD کاراکتری ۲×۱۶ و برد آردوینو UNO یک کار متفاوت به ارمغان آوریدم.

 

قطعات مورد نیاز:

  • برد آردوینو UNO
  • LCD کاراکتری ۲×۱۶
  • سیم برد بوردی
  • سوئیچ تکی (buttons) 1 عدد
  • مقاومت ۲۲۰ اهم
  • بردبرد

 

در این بازی یک ادمک در حال حرکت است و شما با فشار دادن کلید مشاهده پرش ادمک خواهید شد که موجب عبور از موانع میشود.

هنگام بازی کردن روی ال سی دی یک عدد مشاهده میکنید که امتیاز شمارا نشان میدهد.این عدد بر حسب ثانیه عوض میشود.

 

اتصالات:

 

کد برنامه :

#include <LiquidCrystal.h>

#define PIN_BUTTON 2
#define PIN_AUTOPLAY 1
#define PIN_READWRITE 10
#define PIN_CONTRAST 12

#define SPRITE_RUN1 1
#define SPRITE_RUN2 2
#define SPRITE_JUMP 3
#define SPRITE_JUMP_UPPER '.'         // Use the '.' character for the head
#define SPRITE_JUMP_LOWER 4
#define SPRITE_TERRAIN_EMPTY ' '      // User the ' ' character
#define SPRITE_TERRAIN_SOLID 5
#define SPRITE_TERRAIN_SOLID_RIGHT 6
#define SPRITE_TERRAIN_SOLID_LEFT 7

#define HERO_HORIZONTAL_POSITION 1    // Horizontal position of hero on screen

#define TERRAIN_WIDTH 16
#define TERRAIN_EMPTY 0
#define TERRAIN_LOWER_BLOCK 1
#define TERRAIN_UPPER_BLOCK 2

#define HERO_POSITION_OFF 0          // Hero is invisible
#define HERO_POSITION_RUN_LOWER_1 1  // Hero is running on lower row (pose 1)
#define HERO_POSITION_RUN_LOWER_2 2  //                              (pose 2)

#define HERO_POSITION_JUMP_1 3       // Starting a jump
#define HERO_POSITION_JUMP_2 4       // Half-way up
#define HERO_POSITION_JUMP_3 5       // Jump is on upper row
#define HERO_POSITION_JUMP_4 6       // Jump is on upper row
#define HERO_POSITION_JUMP_5 7       // Jump is on upper row
#define HERO_POSITION_JUMP_6 8       // Jump is on upper row
#define HERO_POSITION_JUMP_7 9       // Half-way down
#define HERO_POSITION_JUMP_8 10      // About to land

#define HERO_POSITION_RUN_UPPER_1 11 // Hero is running on upper row (pose 1)
#define HERO_POSITION_RUN_UPPER_2 12 //                              (pose 2)

LiquidCrystal lcd(11, 9, 6, 5, 4, 3);
static char terrainUpper[TERRAIN_WIDTH + 1];
static char terrainLower[TERRAIN_WIDTH + 1];
static bool buttonPushed = false;

void initializeGraphics(){
  static byte graphics[] = {
    // Run position 1
    B01100,
    B01100,
    B00000,
    B01110,
    B11100,
    B01100,
    B11010,
    B10011,
    // Run position 2
    B01100,
    B01100,
    B00000,
    B01100,
    B01100,
    B01100,
    B01100,
    B01110,
    // Jump
    B01100,
    B01100,
    B00000,
    B11110,
    B01101,
    B11111,
    B10000,
    B00000,
    // Jump lower
    B11110,
    B01101,
    B11111,
    B10000,
    B00000,
    B00000,
    B00000,
    B00000,
    // Ground
    B11111,
    B11111,
    B11111,
    B11111,
    B11111,
    B11111,
    B11111,
    B11111,
    // Ground right
    B00011,
    B00011,
    B00011,
    B00011,
    B00011,
    B00011,
    B00011,
    B00011,
    // Ground left
    B11000,
    B11000,
    B11000,
    B11000,
    B11000,
    B11000,
    B11000,
    B11000,
  };
  int i;
  // Skip using character 0, this allows lcd.print() to be used to
  // quickly draw multiple characters
  for (i = 0; i < 7; ++i) {
	  lcd.createChar(i + 1, &graphics[i * 8]);
  }
  for (i = 0; i < TERRAIN_WIDTH; ++i) {
    terrainUpper[i] = SPRITE_TERRAIN_EMPTY;
    terrainLower[i] = SPRITE_TERRAIN_EMPTY;
  }
}

// Slide the terrain to the left in half-character increments
//
void advanceTerrain(char* terrain, byte newTerrain){
  for (int i = 0; i < TERRAIN_WIDTH; ++i) {
    char current = terrain[i];
    char next = (i == TERRAIN_WIDTH-1) ? newTerrain : terrain[i+1];
    switch (current){
      case SPRITE_TERRAIN_EMPTY:
        terrain[i] = (next == SPRITE_TERRAIN_SOLID) ? SPRITE_TERRAIN_SOLID_RIGHT : SPRITE_TERRAIN_EMPTY;
        break;
      case SPRITE_TERRAIN_SOLID:
        terrain[i] = (next == SPRITE_TERRAIN_EMPTY) ? SPRITE_TERRAIN_SOLID_LEFT : SPRITE_TERRAIN_SOLID;
        break;
      case SPRITE_TERRAIN_SOLID_RIGHT:
        terrain[i] = SPRITE_TERRAIN_SOLID;
        break;
      case SPRITE_TERRAIN_SOLID_LEFT:
        terrain[i] = SPRITE_TERRAIN_EMPTY;
        break;
    }
  }
}

bool drawHero(byte position, char* terrainUpper, char* terrainLower, unsigned int score) {
  bool collide = false;
  char upperSave = terrainUpper[HERO_HORIZONTAL_POSITION];
  char lowerSave = terrainLower[HERO_HORIZONTAL_POSITION];
  byte upper, lower;
  switch (position) {
    case HERO_POSITION_OFF:
      upper = lower = SPRITE_TERRAIN_EMPTY;
      break;
    case HERO_POSITION_RUN_LOWER_1:
      upper = SPRITE_TERRAIN_EMPTY;
      lower = SPRITE_RUN1;
      break;
    case HERO_POSITION_RUN_LOWER_2:
      upper = SPRITE_TERRAIN_EMPTY;
      lower = SPRITE_RUN2;
      break;
    case HERO_POSITION_JUMP_1:
    case HERO_POSITION_JUMP_8:
      upper = SPRITE_TERRAIN_EMPTY;
      lower = SPRITE_JUMP;
      break;
    case HERO_POSITION_JUMP_2:
    case HERO_POSITION_JUMP_7:
      upper = SPRITE_JUMP_UPPER;
      lower = SPRITE_JUMP_LOWER;
      break;
    case HERO_POSITION_JUMP_3:
    case HERO_POSITION_JUMP_4:
    case HERO_POSITION_JUMP_5:
    case HERO_POSITION_JUMP_6:
      upper = SPRITE_JUMP;
      lower = SPRITE_TERRAIN_EMPTY;
      break;
    case HERO_POSITION_RUN_UPPER_1:
      upper = SPRITE_RUN1;
      lower = SPRITE_TERRAIN_EMPTY;
      break;
    case HERO_POSITION_RUN_UPPER_2:
      upper = SPRITE_RUN2;
      lower = SPRITE_TERRAIN_EMPTY;
      break;
  }
  if (upper != ' ') {
    terrainUpper[HERO_HORIZONTAL_POSITION] = upper;
    collide = (upperSave == SPRITE_TERRAIN_EMPTY) ? false : true;
  }
  if (lower != ' ') {
    terrainLower[HERO_HORIZONTAL_POSITION] = lower;
    collide |= (lowerSave == SPRITE_TERRAIN_EMPTY) ? false : true;
  }
  
  byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;
  
  // Draw the scene
  terrainUpper[TERRAIN_WIDTH] = '';
  terrainLower[TERRAIN_WIDTH] = '';
  char temp = terrainUpper[16-digits];
  terrainUpper[16-digits] = '';
  lcd.setCursor(0,0);
  lcd.print(terrainUpper);
  terrainUpper[16-digits] = temp;  
  lcd.setCursor(0,1);
  lcd.print(terrainLower);
  
  lcd.setCursor(16 - digits,0);
  lcd.print(score);

  terrainUpper[HERO_HORIZONTAL_POSITION] = upperSave;
  terrainLower[HERO_HORIZONTAL_POSITION] = lowerSave;
  return collide;
}

// Handle the button push as an interrupt
void buttonPush() {
  buttonPushed = true;
}

void setup(){
  pinMode(PIN_READWRITE, OUTPUT);
  digitalWrite(PIN_READWRITE, LOW);
  pinMode(PIN_CONTRAST, OUTPUT);
  digitalWrite(PIN_CONTRAST, LOW);
  pinMode(PIN_BUTTON, INPUT);
  digitalWrite(PIN_BUTTON, HIGH);
  pinMode(PIN_AUTOPLAY, OUTPUT);
  digitalWrite(PIN_AUTOPLAY, HIGH);
  
  // Digital pin 2 maps to interrupt 0
  attachInterrupt(0/*PIN_BUTTON*/, buttonPush, FALLING);
  
  initializeGraphics();
  
  lcd.begin(16, 2);
}

void loop(){
  static byte heroPos = HERO_POSITION_RUN_LOWER_1;
  static byte newTerrainType = TERRAIN_EMPTY;
  static byte newTerrainDuration = 1;
  static bool playing = false;
  static bool blink = false;
  static unsigned int distance = 0;
  
  if (!playing) {
    drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance >> 3);
    if (blink) {
      lcd.setCursor(0,0);
      lcd.print("Press Start");
    }
    delay(250);
    blink = !blink;
    if (buttonPushed) {
      initializeGraphics();
      heroPos = HERO_POSITION_RUN_LOWER_1;
      playing = true;
      buttonPushed = false;
      distance = 0;
    }
    return;
  }

  // Shift the terrain to the left
  advanceTerrain(terrainLower, newTerrainType == TERRAIN_LOWER_BLOCK ? SPRITE_TERRAIN_SOLID : SPRITE_TERRAIN_EMPTY);
  advanceTerrain(terrainUpper, newTerrainType == TERRAIN_UPPER_BLOCK ? SPRITE_TERRAIN_SOLID : SPRITE_TERRAIN_EMPTY);
  
  // Make new terrain to enter on the right
  if (--newTerrainDuration == 0) {
    if (newTerrainType == TERRAIN_EMPTY) {
      newTerrainType = (random(3) == 0) ? TERRAIN_UPPER_BLOCK : TERRAIN_LOWER_BLOCK;
      newTerrainDuration = 2 + random(10);
    } else {
      newTerrainType = TERRAIN_EMPTY;
      newTerrainDuration = 10 + random(10);
    }
  }
    
  if (buttonPushed) {
    if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;
    buttonPushed = false;
  }  

  if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {
    playing = false; // The hero collided with something. Too bad.
  } else {
    if (heroPos == HERO_POSITION_RUN_LOWER_2 || heroPos == HERO_POSITION_JUMP_8) {
      heroPos = HERO_POSITION_RUN_LOWER_1;
    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {
      heroPos = HERO_POSITION_RUN_UPPER_1;
    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {
      heroPos = HERO_POSITION_JUMP_5;
    } else if (heroPos == HERO_POSITION_RUN_UPPER_2) {
      heroPos = HERO_POSITION_RUN_UPPER_1;
    } else {
      ++heroPos;
    }
    ++distance;
    
    digitalWrite(PIN_AUTOPLAY, terrainLower[HERO_HORIZONTAL_POSITION + 2] == SPRITE_TERRAIN_EMPTY ? HIGH : LOW);
  }
  delay(100);
}

در پایان اگر سوالی یا نظری در رابطه با برنامه و پروژه داشتید حتما از طریق قسمت نظرات با ما به اشتراک بگذارید.

 

 

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

ادامه مطلب

معرفی Node-red:

Node-red زبان برنامه‌نویس بر اساس فلوچارت است که توسط بخش مهندسی فناوری IBM توسعه داده‌شده است. Node-red توسط Paul Morrison در سال ۱۹۷۰ توسعه داده شد.

در سال ۲۰۱۳ شرکت IBM نود رد را برای راحتی و سهولت در اتصال ابزارهای الکترونیک به اینترنت منتشر کرد. این نرم‌افزار بر روی سخت‌افزارهایی همچون کامپیوترهای تک بردی رزبری پای، بیگل بن و … و همچنین سرویس‌های ابری مثل IBM آمازون (Amazon Web Service) و مایکروسافت (Microsft Azure) قابل‌استفاده است.

برنامه‌نویسی فلوچارت روشی برای شرح یک برنامه به‌وسیله جعبه‌ها و شبکه‌های مابین آن‌ها بوده که Node-red نامیده می‌شوند. هر Node-red برای یک هدف خاص کاربرد دارد. اطلاعاتی به Node-red داده می‌شود، عملیاتی بر روی آن اطلاعات در Node-red انجام می‌شود و به شبکه برگردانده می‌شود. شبکه مسئول جریان یافتن اطلاعات مابین Node های مختلف است. هرکس بتواند یک مسئله را به قسمت‌های کوچک‌تر تقسیم کند، می‌تواند با نگاه کردن به فلوچارت، بدون اینکه نیاز باشد تا کدهای مربوط به هر یک از Node ها را درک کند، هدف کلی برنامه را متوجه شود.

Node-red بر پایه پلتفرم برنامه‌نویسی نود جی اس (Node.js) نوشته‌شده است. برای طراحی برنامه با Node-red کافی است به فلو ادیتور دسترسی داشته باشید. از طریق یک مرورگر وب می‌توانید به این محیط دسترسی داشته باشید و برنامه خود را با کشیدن Node-red ها از پالت Node ها و رها کردن آن‌ها در Workspace و وصل کردن آن‌ها به هم با یک کلیک طراحی کنید.

پالت node ها را می‌توان با نصب node های جدید گسترش داد. بیش از هزار Node آماده که توسط جامعه کاربری توسعه داده‌شده در وب‌سایت Node-red به‌صورت رایگان در اختیار شماست که هرروز به تعداد آن‌ها افزوده می‌شود. همچنین برنامه نوشته‌شده را می‌توان به‌راحتی به‌وسیله فایل‌های JSON با دیگران به اشتراک گذاشت.

محیط کاربری ساده Node-red باعث شده که مبتدی‌ترین افراد تا خبره‌ترین آن‌ها بتوانند رزبری پای را به یک ابزار هوشمند و کارآمد تبدیل کنند. قدرت و انعطاف‌پذیری Node-red امکان نوشتن پیچیده‌ترین کدها را برای توسعه‌دهندگان محیا می‌کند و هزینه برنامه‌نویسی و طراحی سخت‌افزار را کاهش می‌دهد.

Node-red بر روی رزبری پای:

دو روش برای اجرای Node-red بر روی رزبری پای وجود دارد. یکی نصب دستی از طریق اسکریپت نصاب برای توزیع‌هایی که به‌صورت پیش‌فرض Node-red بر روی آن‌ها نصب نیست؛ و دومی استفاده از نسخه پیش‌فرض نصب‌شده بر روی توزیع رزبین می‌باشد. از نوامبر ۲۱۰۵ نود رد بر روی image رزبین به‌صورت نصب‌شده آماده استفاده است.

اجرای Node-red:

برای اجرای Node-red در رزبین بر روی آیکن رزبری پای کلیک کنید و از منوی Programing گزینه Node-red را انتخاب کنید.

دسترسی به محیط Node-red:

بعد از اجرای Node-red با پنجره ترمینال زیر روبه‌رو می‌شوید. اگر می‌خواهید در محیط دسکتاب رزبری پای با Node-red کارکنید مرورگر وب را بازکنید و آدرسی که در ترمینال مشخص‌شده را بازکنید.

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

توجه شود که به هنگام کار با Node-red نباید صفحه ترمینال بازشده را ببندید.

آشنایی با محیط Node-red

محیط Node-red از ۳ قسمت تشکیل‌شده

قسمت ۱ مربوط به پالت Node ها می‌باشد. Node ها را از این قسمت و با کشیدن و رها کردن در قسمت workspace می‌توانید انتخاب کنید.

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

قسمت ۳ در این قسمت اطلاعات هر نودی که روی آن کیلک شده باشد نمایش داده می‌شود. زبانه debug مربوط به دیباگ و رفع عیوب برنامه می‌باشد.

معرفی نودهای پرکاربرد و اجرای برنامه ساده کنترل GPIO

نود Inject

نود Inject، نود ورودی است. این نود را از شاخه input انتخاب کنید و در قسمت workspace رها کنید. روی نود دوبل کلیک کنید تا قسمت تنظیمات Node برای شما باز شود. روی گزینه payload کلیک کنید و آن را روی حالت Number قرار دهید و مقدار ۱ را به آن بدهید مانند شکل زیر. در قسمت topic، عبارت LED_ON را وارد کنید.

برای خاموش کردن LED نیاز به یک نود Inject دیگر داریم آن را انتخاب کرده و سپس در قسمت Payload مقدار ۰ را به آن بدهید.

 

نود rpi gpio

برای دسترسی به GPIO رزبری پای باید از نود rpi gpio استفاده شود برای اضافه کردن این نود به شاخه RASPBERRY_PI بروید. توجه کنید که دو نوع خروجی و ورودی از این نود وجود دارد که با توجه به نوع استفاده ما باید نود ورودی rpi gpio را انتخاب کنید.

بعد از اضافه کردن آن به workspace روی آن دوبل کلیک کنید و پایه موردنظر خودتان را انتخاب کنید.

 

نود Template

از نود Template برای نمایش متن استفاده می‌شود. این نود از شاخه function در پالت Node Red قابل انتخاب می‌باشد. از این نود برای نمایش متن در قسمت دیباگ استفاده می‌کنیم به این صورت که وقتی LED روشن می‌شود عبارت LED IS ON! و هنگام خاموش شدن LED عبارت LED IS OFF! نشان داده می‌شود.

 

نود Debug

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

و در آخر دکمه Deploy را برای اجرای برنامه بزنید.

کلیک بر روی هر یک از نودهای inject باعث روشن و خاموش شدن LED متصل به پایه‌ای که انتخاب کردید می‌شود.

آموزش نصب Node های جدید در Node-red

برای نصب Node های جدید در رزبری پای نیاز داریم تا Node-red را به آخرین نسخه آن آپدیت کنیم برای شروع اول دستورات زیر را برای آپدیت برنامه‌های سیستم در ترمینال رزبری پای وارد می‌کنیم

 

سپس برای آپدیت Node-red دستور زیر را در ترمینال رزبری پای وارد کنید، توجه کنید که اجرای فرایند آپدیت بسته به‌سرعت اینترنت و سرعت حافظه فلش شما شاید ۲۰ الی ۳۰ دقیقه زمان ببرد.

بعد از آپدیت دوباره Node-red را اجرا کنید. مشاهده می‌کنید که ورژن Node-red و Node.js به آخرین نسخه ارتقا یافته است.

C:UsersAliAppDataLocalMicrosoftWindowsINetCacheContent.Wordap01.bmp

بعد از آپدیت Manage palette به منوی Node-red افزوده می‌شود.

توسط این گزینه می‌توانید نود جدید اضافه کنید یا Node های موجود را مدیریت کنید.

توسط تب Nodes می‌توانید Node های نصب‌شده را غیرفعال کنید و یا برای نصب Node جدید از تب install استفاده کنید. برای مثال در ادامه قصد نصب Node های UI را بر روی Node-red داریم. عبارت node-red-contrib-ui در قسمت جست‌وجو وارد کنید و دکمه install را بزنید منتظر بمانید تا Node های UI بر روی Node-red نصب شود توجه کنید که بعد از پایان نصب هیچ پیامی درباره اتمام نصب داده نمی‌شود.

بعد از اتمام نصب باید یک‌بار صفحه Node-red ریستارت شود تا بتوانید به Node هایی UI دسترسی داشته باشید.

نمایش دمای CPU رزبری پای به‌صورت گرافیکی در محیط Node-red

برای به دست آوردن دمای CPU رزبری پای می‌توانید از دستور

استفاده کنید. حال می‌خواهیم توسط این دستور هر ۲ ثانیه یک‌بار دمای CPU رزبری پای را بر روی یک گیج آپدیت کنیم. به این منظور از node inject استفاده می‌کنیم، تنظیمات node inject را مانند تصویر زیر انجام دهید.

برای اجرای دستور به دست آوردن دما از قسمت advance نود exec را انتخاب کنید و مانند تصویر زیر تنظیمات را انجام دهید.

خروجی این نود به‌صورت temp=53.7’C خواهد بود درصورتی‌که نود gauge فقط ورودی عددی قبول می‌کند. به این منظور از نود split برای حذف عبارت‌های temp= و ‘C استفاده می‌کنیم.

تنظیمات به‌صورت زیر انجام می‌شود.

و

برای نمایش صحیح دما نیاز داریم تا فقط اعداد بزرگ‌تر از صفر بر روی gauge نمایش داده شود به این منظور از نود switch استفاده می‌کنیم که از قسمت function در دسترس است. مثل تصویر زیر این نود تنظیم کنید.

برای نمایش دما به نود gauge از قسمت UI نیاز داریم آن را به برنامه اضافه کنید و مقدار حداکثر ۱۰۰ را تنظیم می‌کنیم.

درنهایت نمودار به شکل زیر خواهد شد.

برای اجرا دکمه deploy را می‌زنیم و برای مشاهده خروجی به آخر آدرس IP خود /ui اضافه کنید به‌عنوان‌مثال ۱۹۲٫۱۶۸٫۱٫۵:۱۸۸۰/ui و درنهایت دمای CPU به‌صورت گرافیکی نمایش داده خواهد شد.

در این شماره آشنایی کلی با محیط برنامه‌نویسی Node-red ارائه شد. شما می‌توانید با اتکا به توانایی‌های Node-red و برد رزبری پای پروژه‌های کوچک و بزرگی را طراحی کنید. در این محیط هیچ‌چیز مانع روند خلاقیت و طراحی شما نیست.

در پایان اگر سوال یا نظری در مورد این مقاله داشتید آن را در قسمت نظرات با ما در میان بگذارید.

ادامه مطلب

این مطلب از وب سایت و زسانه بزرگ آپ موزیک رپورتاژ گردیده است.

دانلود آهنگ تیتراژ سریال راه و بی‌راه با صدای فریدون آسرایی

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

سریال راه و بیراه تولید شده از گروه فیلم و سریال شبکه یک ، که از ۲۰ فروردین هر شب حوالی ساعت ۲۲:۱۵ روی آنتن می رود.

کارگردان داود بیدل، تهیه کننده علی سلیمانی / خواننده : فریدون آسرایی

آهنگسازی : ابولفضل فراز / ترانه سرا : حسین غیاثی

fereydon دانلود آهنگ تیتراژ سریال شبکه یک فریدون آسرایی

قسمتی متن آهنگ آهنگ تیتراژ سریال راه و بیراه از فریدون آسرایی

دوستت دارم ♫

تو گندم زار باران خورده اى ♫
دوستت دارم ♫

مرا دست کسى نسپرده اى ♫
دوستت دارم ♫

شبیه خواب بعد از خستگى ♫
دوستت دارم ♫

شبیه لحظه وابستگى ♫

♪♪♫♫♪♪♯

یاد من باش اى دلیل خاطرات خوب من
یاد من باش اى پریشان موى شهر اشوب من
باز کن ان چشمهاى روشنت را رو به من
یاد من باش عطر باران خرده محبوب من
اى صداى کفشهاى پشت در فکر توام ♫
در میان روزهاى بى خبر فکر توام ♫
قبل و بعد از روز دلگیر سفر فکر توام ♫
هر چه راهت دورتر شد بیشتر فکر توام ♫

بازیگران سریال راه و بیراه

سیاوش طهمورث، جعفر دهقان، امیرمحمد زند، اردلان شجاع کاوه، مهتاج نجومی، زهره حمیدی، شهرام عبدلی، محمدرضا رهبری، فلور نظری، آرام جعفری، علیرضا جلالی تبار، حمید ابراهیمی، شهروز ابراهیمی، خسرو احمدی، غلامرضا نیکخواه، اسماعیل خلج، مالک حدپور سراج، حسین توشه، فرهاد بشارتی، هادی دیباجی، ریحانه رضی، وحید شیخ زاده، محمدرضا اکبری، امیر زمستانی، مهشید جوادی و آذین فولادوند از بازیگران مجموعه تلویزیونی «راه و بیراه» هستند.

پخش آنلاین دمو آهنگ

منبع ( surce ) : دانلود آهنگ تیتراژ سریال شبکه یک فریدون آسرایی

ادامه مطلب