آردوینو آردوینو Arduino Uno سرگرمی نمایشگر LCD

آموزش ساخت بازی با آردوینو Arduino و LCD کاراکتری

نوشته شده توسط مبین خیاطی

بازی‌های الکترونیکی از دهه ۸۰ میلادی به عنوان بخشی از زندگی و اوقات فراغت تبدیل شدند. تراشه‌های الکترونیکی مختلفی در ایجاد بازی‌ها نقش آفرینی کرده‌اند. ترکیب بازی‌ها با نمایشگرهای کاراکتری، یکی از جذاب‌ترین موارد می‌باشد. همه علائم و موارد به صورت دو بعدی قابل اجرا هستند. در این آموزش روش ساخت یک بازی بسیار جذاب با استفاده از برد آردوینو، نمایشگر کاراکتری ۲×۱۶ و میکروسوئیچ خواهیم ساخت. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.

  


توضیحات بازی با آردوینو


در این بازی یک شخصیت کاراکتری در حال دویدن می‌باشد. با هر بار تحریک میکروسوئیچ آن شخص یک پرش انجام می‌دهد. در دو ردیف اجسام به شخص نزدیک می‌شوند؛ دراین بازی شخص باید با پریدن از روی اجسام پایینی و راه رفتن روی آن به بازی ادامه داده و با اجسام که نزدیک می‌شوند برخورد نکند. در بازی یک شمارنده وجود دارد که مدت زمان حضور شخص در بازی را نشان می‌دهد. همان امتیاز بازی می‌باشد. دقت کنید که این بازی بسیار اعتیاد آور می‌باشد. چون در این بازی هدف بر این است که شخص رکورد خودش را شکسته و رکورد جدیدی ثبت نماید. امیدوارم این آموزش انگیزه ای برای ساختن بازی‌های بیشتر با آردوینو باشد.

 

وسایل مورد نیاز

 


اتصالات مدار بازی با آردوینو


 

اتصالات lcd (نمایشگر)

پایه ی VCC  نمایشگر = پایه ی GND آردوینو

پایه ی VDD نمایشگر = پایه ی ۵ ولت آردوینو

پایه ی VO نمایشگر = پایه ی وسط پتانسیومتر (مقاومت متغییر)

پایه ی RS نمایشگر  = پایه ۸ آردوینو

پایه ی RW نمایشگر =پایه ی  GND آردوینو

پایه ی E نمایشگر = پایه ۹ آردوینو

پایه ی D4 نمایشگر = پایه ۱۰ آردوینو

پایه ی D5 نمایشگر = پایه ۱۱ آردوینو

پایه ی D6 نمایشگر = پایه ۱۲ آردوینو

پایه ی D7 نمایشگر = پایه ۱۳ آردوینو

پایه ی A نمایشگر = پایه ی ۵ ولت آردوینو

پایه ی K نمایشگر =  پایه ی GND آردوینو

 

اتصالات بازی با آردوینو aRDUINO lcd game - دیجی اسپارک

 

اتصالات پتانسیومتر

پایه سمت راست = GND / 5V فرقی ندارد
پایه وسط = پایه ی VO نمایشگر
پایه سمت چپ = GND / 5V فرقی ندارد

 

اتصالات کلید

پایه اول = پایه ۷ آردوینو
پایه دوم = GND

 


کتابخانه بازی با آردوینو


همانطور که اشاره شد در این آموزش از نمایشگر LCD استفاده شده است. جهت راه اندازی ال سی دی کاراکتری به کتابخانه LiquidCrystal نیاز داریم. از اینرو بایستی این کتابخانه را دانلود و نصب کنیم. چنانچه روش نصب کتابخانه را نمی‌دانید، به آموزش نصب کتابخانه در نرم افزار آردوینو Arduino IDE مراجعه کنید. دو روش مجزا برای این موضوع کاملا توضیح داده شده است. روش فراخوانی کتابخانه هم مانند خط زیر می‌باشد.

 

 

 


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


 

جهت اجرای پروژه کدهای زیر را در کامپایلر آردوینو Arduino IDE وارد کنید.

 

پروژه

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

 

 

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

 


پروژه و دریافت بن ارسال رایگان


برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکه‌های اجتماعی از جمله آپارات و اینستگرام، با هشتگ‌های دیجی_اسپارک   دانشجوکیت    digispark    daneshjookit منتشر کنند. سپس از طریق بخش نظرات در ادامه همین آموزش، جهت دریافت بن خرید ارسال رایگان به ارزش ۱۲۰۰۰ تومان از دانشجو کیت، لینک را زیر همین پست ارسال کنید.

 

در پایان نظرات و پیشنهادات خود را با ما درمیان بگذارید و با اشتراک گذاری این آموزش در شبکه های اجتماعی , از وبسایت دیجی اسپارک حمایت کنید.

 

درباره نویسنده

مبین خیاطی

دانشجوی رشته ی نرم افزار کامپیوتر

حتی تو "غیر ممکن" هم هنوز یه "ممکن" هستش ...

تبادل نظر و رفع عیب با ثبت دیدگاه

۵۹ دیدگاه

  • سلام من کتاب خانه ال سی دی رو دارم و کتابخانه ای که شما فراخان کردینو ندارم برای همین نمیشه

    • برای اجرای این پروژه با قطعات نامبرده شده نیاز به کتابخانه ی LiquidCrystal میباشد ؛
      در صورت نداشتن این کتابخانه میتوانید از لینک زیر جهت دانلود کتابخانه استفاده کنید.
      https://daneshjookit.com/index.php?controller=attachment&id_attachment=643
      بعد از دانلود فایل ، میتوانید پوشه ی داخل فایل را در مسیر کتابخانه هایتان کپی کنید و بعد به راحتی امکان استفاده از کتابخانه ی مورد نظر را خواهید داشت.
      در صورت نیاز میتوانید از لینک زیر برای آموزش نصب کتابخانه استفاده کنید.
      https://digispark.ir/آموزش-نصب-کتابخانه-آردوینو/
      در صورت بروز مجدد مشکل از طریق کامنت ها اطلاع دهید.

  • Arduino: 1.8.7 (Windows 7), Board: “Arduino/Genuino Uno”

    D:\Program Files\Arduino\arduino-builder -dump-prefs -logger=machine -hardware D:\Program Files\Arduino\hardware -tools D:\Program Files\Arduino\tools-builder -tools D:\Program Files\Arduino\hardware\tools\avr -built-in-libraries D:\Program Files\Arduino\libraries -libraries C:\Users\HP\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10807 -build-path C:\Users\HP\AppData\Local\Temp\arduino_build_340965 -warnings=none -build-cache C:\Users\HP\AppData\Local\Temp\arduino_cache_988163 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=D:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\HP\Desktop\ARDUINO\VLC_media_player.lnk\VLC_media_player.lnk.ino
    D:\Program Files\Arduino\arduino-builder -compile -logger=machine -hardware D:\Program Files\Arduino\hardware -tools D:\Program Files\Arduino\tools-builder -tools D:\Program Files\Arduino\hardware\tools\avr -built-in-libraries D:\Program Files\Arduino\libraries -libraries C:\Users\HP\Documents\Arduino\libraries -fqbn=arduino:avr:uno -ide-version=10807 -build-path C:\Users\HP\AppData\Local\Temp\arduino_build_340965 -warnings=none -build-cache C:\Users\HP\AppData\Local\Temp\arduino_cache_988163 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.arduinoOTA-1.2.1.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avrdude-6.3.0-arduino14.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc.path=D:\Program Files\Arduino\hardware\tools\avr -prefs=runtime.tools.avr-gcc-5.4.0-atmel3.6.1-arduino2.path=D:\Program Files\Arduino\hardware\tools\avr -verbose C:\Users\HP\Desktop\ARDUINO\VLC_media_player.lnk\VLC_media_player.lnk.ino
    Using board ‘uno’ from platform in folder: D:\Program Files\Arduino\hardware\arduino\avr
    Using core ‘arduino’ from platform in folder: D:\Program Files\Arduino\hardware\arduino\avr
    Detecting libraries used…
    “D:\\Program Files\\Arduino\\hardware\\tools\\avr/bin/avr-g++” -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10807 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR “-ID:\\Program Files\\Arduino\\hardware\\arduino\\avr\\cores\\arduino” “-ID:\\Program Files\\Arduino\\hardware\\arduino\\avr\\variants\\standard” “C:\\Users\\HP\\AppData\\Local\\Temp\\arduino_build_340965\\sketch\\VLC_media_player.lnk.ino.cpp” -o nul
    VLC_media_player.lnk:1:125: error: <LiquidCrystal.h&gt: No such file or directory

    exit status 1
    <LiquidCrystal.h&gt: No such file or directory

  • Arduino: 1.8.9 (Windows Store 1.8.21.0) (Windows 10), Board: “Arduino/Genuino Uno”

    sketch_dec20a:3:10: error: #include expects “FILENAME” or

    #include <LiquidCrystal.h> // برای استفاده از نمایشگر <LiquidCrystal.h> کتاب خانه

    ^

    exit status 1
    #include expects “FILENAME” or

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    سلام با این ارور چیکار کنم ؟؟

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

  • این رو توی پیغام هاش میده Used: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal
    Not used: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal.library.daneshjookit
    exit status 1
    expected ‘)’ before numeric constant

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

    • سلام، ممنون؛
      سیم های نری به نری اصولا جدا استفاده میشوند.
      در قسمت دوم سوالتون اگه امکان داره شفاف سازی کنید بنده متوجه نشدم

  • سلام خسته نباشید.
    شما در بخش اتصالات گفتید
    پایه ی VCC نمایشگر = پایه ی GND آردوینو
    و
    پایه ی RW نمایشگر =پایه ی GND آردوینو
    و
    پایه ی K نمایشگر = پایه ی GND آردوینو
    و
    پایه دوم = GND
    و
    پایه سمت راست = GND / 5V فرقی ندارد
    و
    پایه سمت چپ = GND / 5V فرقی ندارد
    در صورتی که آردوینو فقط ۲ الی ۳ مکان GND داره ما باید چجوری این همه پایه ها رو بهش وصل کنیم؟؟؟؟؟؟؟؟؟؟؟؟
    چجوری پایه های سمت چپ و سمت راست پتانسیومتر رو مشخص کنیم ((بدون مولتی متر))

    • سلام: پایه های gnd نمایشگر که ثابت هستند.
      در پتانسیوتر نیازی به مشخص کردن پایه های چپ یا راست نیست، یکیشون رو ۵ ولت انتخاب کتید و دیگری را gnd و پایه ی وسط رو به نمایشگر متصل کنید؛
      برای استفاده از پایه های ۵v، gnd بیشتر میتوانید از شیلد پروتوتایپ یا بردبورد استفاده کنید، از یک سیم انشعاب بگیرید و به تعداد دلخواه پایه ی مثبت یا منفی داشته باشید.

        • با سلام
          شیلد پروتوتایپ بر روی پایه های آردوینو UNO قرار گرفته و علاوه بر دسترسی مجدد به پایه ها در سمت مجاور برد ۵ پایه GND و ۵ پایه VCC قرار گرفته می‌شود.

  • سلام …خسته نباشید من هر چی میزنم تصحیح کنه خطا میده و روی کتابخانه خط میکشه …کتابخانه رو هم نصب کردم ولی بازم درست نمیشه مشکل از چیه….ممنون

    • سلام؛ ممنون
      خط افزودن کتابخانه رو سایت تغییر میده و به شکل اصلی اون نمینویسه و داخل کامنت ها هم پاک میکنه، لطفا داخل اینترنت سرچ کنید نحوه ی افزودن کتابخانه به آردوینو و یا در دیگر کد های نوشته شده در دیجی اسپارک توسط دوستان از شکل صحیح افزودن کتابخانه استفاده کنید.

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

  • سلام خسته نباشید .
    من LCD کاراکتری ۲×۱۶ خریدم ولی اسم پایه ی اولش VSS هستش ولی شما گفتین VCC .
    اشکالی داره اگه از همین پایه استفاده کنم.

    • سلام، ممنونم؛
      فکر کنم همون پایه باشه و مشکلی نداشته باشه، چون کارخانه های سازنده متفاوتی دارن ولی پایه ها اصولا طبق استاندارد و مشترک بین سازنده ها هستش

    • سلام، ممنونم؛
      پتانسیومتر هستش ولی میشه از مقاومت ۱۰ کیلو هم استفاده کرد که برای مدیریت نور نمایشگر هستش
      به پایه vo وصل میشه و بله حتما برای راه اندازی نمایشگر باید مقاومت یا پتانسیومتر باشه

  • Arduino: 1.8.12 (Windows 10), Board: “Arduino Uno”

    C:\Users\Lenovo\Documents\Arduino\sketch_apr05b\sketch_apr05b.ino: In function ‘void loop()’:

    sketch_apr05b:72:91: error: ‘gt’ was not declared in this scope

    drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance >> 3);

    ^~

    sketch_apr05b:72:100: error: expected ‘;’ before ‘)’ token

    drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance >> 3);

    ^

    C:\Users\Lenovo\Documents\Arduino\sketch_apr05b\sketch_apr05b.ino:106:9: warning: init-statement in selection statements only available with -std=c++1z or -std=gnu++1z

    if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;

    ^~~~~~~

    sketch_apr05b:106:18: error: ‘lt’ was not declared in this scope

    if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;

    ^~

    sketch_apr05b:106:21: error: expected primary-expression before ‘=’ token

    if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;

    ^

    sketch_apr05b:111:63: error: ‘gt’ was not declared in this scope

    if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {

    ^~

    sketch_apr05b:111:65: error: expected ‘)’ before ‘;’ token

    if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {

    ^

    sketch_apr05b:111:67: error: ‘gt’ was not declared in this scope

    if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {

    ^~

    sketch_apr05b:111:72: error: expected ‘;’ before ‘)’ token

    if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {

    ^

    sketch_apr05b:113:5: error: ‘else’ without a previous ‘if’

    } else {

    ^~~~

    sketch_apr05b:116:28: error: expected ‘)’ before ‘;’ token

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_apr05b:116:28: error: expected ‘)’ before ‘;’ token

    sketch_apr05b:116:29: error: expected primary-expression before ‘=’ token

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_apr05b:116:53: error: ‘amp’ was not declared in this scope

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^~~

    sketch_apr05b:116:72: error: ‘lt’ was not declared in this scope

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^~

    sketch_apr05b:116:75: error: expected primary-expression before ‘=’ token

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_apr05b:116:172: error: expected ‘;’ before ‘)’ token

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_apr05b:118:7: error: ‘else’ without a previous ‘if’

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^~~~

    C:\Users\Lenovo\Documents\Arduino\sketch_apr05b\sketch_apr05b.ino:118:16: warning: init-statement in selection statements only available with -std=c++1z or -std=gnu++1z

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^~~~~~~

    sketch_apr05b:118:28: error: expected primary-expression before ‘=’ token

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_apr05b:118:60: error: expected ‘)’ before ‘;’ token

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_apr05b:118:129: error: expected ‘;’ before ‘)’ token

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_apr05b:120:7: error: ‘else’ without a previous ‘if’

    } else if (heroPos == HERO_POSITION_RUN_UPPER_2) {

    ^~~~

    C:\Users\Lenovo\Documents\Arduino\sketch_apr05b\sketch_apr05b.ino: In function ‘void initializeGraphics()’:

    sketch_apr05b:209:18: error: ‘lt’ was not declared in this scope

    for (i = 0; i < 7; ++i) {

    ^~

    sketch_apr05b:209:23: error: expected ‘)’ before ‘;’ token

    for (i = 0; i < 7; ++i) {

    ^

    sketch_apr05b:209:28: error: expected ‘;’ before ‘)’ token

    for (i = 0; i < 7; ++i) {

    ^

    sketch_apr05b:214:18: error: ‘lt’ was not declared in this scope

    for (i = 0; i < TERRAIN_WIDTH; ++i) {

    ^~

    sketch_apr05b:214:35: error: expected ‘)’ before ‘;’ token

    for (i = 0; i < TERRAIN_WIDTH; ++i) {

    ^

    sketch_apr05b:214:40: error: expected ‘;’ before ‘)’ token

    for (i = 0; i < TERRAIN_WIDTH; ++i) {

    ^

    C:\Users\Lenovo\Documents\Arduino\sketch_apr05b\sketch_apr05b.ino: In function ‘void advanceTerrain(char*, byte)’:

    sketch_apr05b:222:22: error: ‘lt’ was not declared in this scope

    for (int i = 0; i < TERRAIN_WIDTH; ++i) {

    ^~

    sketch_apr05b:222:39: error: expected ‘)’ before ‘;’ token

    for (int i = 0; i < TERRAIN_WIDTH; ++i) {

    ^

    sketch_apr05b:222:43: error: ‘i’ was not declared in this scope

    for (int i = 0; i < TERRAIN_WIDTH; ++i) {

    ^

    C:\Users\Lenovo\Documents\Arduino\sketch_apr05b\sketch_apr05b.ino: In function ‘bool drawHero(byte, char*, char*, unsigned int)’:

    sketch_apr05b:301:25: error: ‘gt’ was not declared in this scope

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^~

    sketch_apr05b:301:27: error: expected ‘)’ before ‘;’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    sketch_apr05b:301:33: error: expected ‘;’ before ‘)’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    sketch_apr05b:301:56: error: expected ‘;’ before ‘)’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    sketch_apr05b:301:78: error: expected ‘;’ before ‘)’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    sketch_apr05b:301:99: error: expected ‘;’ before ‘)’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    exit status 1
    ‘gt’ was not declared in this scope

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  • سلام برا من این ارور میاد
    Arduino: 1.8.10 (Windows 10), Board: “Arduino/Genuino Uno”

    sketch_apr17a:1:10: error: #include expects “FILENAME” or

    #include <LiquidCrystal.h> // برای استفاده از نمایشگر <LiquidCrystal.h> کتاب خانه

    ^

    exit status 1
    #include expects “FILENAME” or

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

    • سلام؛
      بدون استفاده از ولوم یا مقاومت نمیشه نمایشگر را راه اندازی کرد، در صورت نداشتن ولوم میتوانید از یه مقاومت ۱۰K استفاده کنید.

  • برای من این ارور رو میده
    Arduino: 1.8.12 (Windows 7), Board: “Arduino Uno”

    sketch_may31a:1:10: error: #include expects “FILENAME” or

    #include <LiquidCrystal.h>

    ^

    exit status 1
    #include expects “FILENAME” or

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  • و این ارور
    Arduino: 1.8.12 (Windows 7), Board: “Arduino Uno”

    sketch_may31a:1:10: error: #include expects “FILENAME” or

    #include <LiquidCrystal.h> // برای استفاده از نمایشگر <LiquidCrystal.h> کتاب خانه

    ^

    exit status 1
    #include expects “FILENAME” or

    A library named LiquidCrystal.library.daneshjookit already exists
    A library named LiquidCrystal.library.daneshjookit already exists

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

  • وArduino: 1.8.12 (Windows 7), Board: “Arduino Uno”

    C:\Users\TAK\Desktop\sketch_may31a\sketch_may31a\sketch_may31a.ino: In function ‘void loop()’:

    sketch_may31a:70:91: error: ‘gt’ was not declared in this scope

    drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance >> 3);

    ^~

    sketch_may31a:70:100: error: expected ‘;’ before ‘)’ token

    drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance >> 3);

    ^

    C:\Users\TAK\Desktop\sketch_may31a\sketch_may31a\sketch_may31a.ino:104:9: warning: init-statement in selection statements only available with -std=c++1z or -std=gnu++1z

    if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;

    ^~~~~~~

    sketch_may31a:104:18: error: ‘lt’ was not declared in this scope

    if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;

    ^~

    sketch_may31a:104:21: error: expected primary-expression before ‘=’ token

    if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;

    ^

    sketch_may31a:109:63: error: ‘gt’ was not declared in this scope

    if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {

    ^~

    sketch_may31a:109:65: error: expected ‘)’ before ‘;’ token

    if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {

    ^

    sketch_may31a:109:67: error: ‘gt’ was not declared in this scope

    if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {

    ^~

    sketch_may31a:109:72: error: expected ‘;’ before ‘)’ token

    if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {

    ^

    sketch_may31a:111:5: error: ‘else’ without a previous ‘if’

    } else {

    ^~~~

    sketch_may31a:114:28: error: expected ‘)’ before ‘;’ token

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_may31a:114:28: error: expected ‘)’ before ‘;’ token

    sketch_may31a:114:29: error: expected primary-expression before ‘=’ token

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_may31a:114:53: error: ‘amp’ was not declared in this scope

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^~~

    sketch_may31a:114:72: error: ‘lt’ was not declared in this scope

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^~

    sketch_may31a:114:75: error: expected primary-expression before ‘=’ token

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_may31a:114:172: error: expected ‘;’ before ‘)’ token

    } else if ((heroPos >= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_may31a:116:7: error: ‘else’ without a previous ‘if’

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^~~~

    C:\Users\TAK\Desktop\sketch_may31a\sketch_may31a\sketch_may31a.ino:116:16: warning: init-statement in selection statements only available with -std=c++1z or -std=gnu++1z

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^~~~~~~

    sketch_may31a:116:28: error: expected primary-expression before ‘=’ token

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_may31a:116:60: error: expected ‘)’ before ‘;’ token

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_may31a:116:129: error: expected ‘;’ before ‘)’ token

    } else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

    ^

    sketch_may31a:118:7: error: ‘else’ without a previous ‘if’

    } else if (heroPos == HERO_POSITION_RUN_UPPER_2) {

    ^~~~

    C:\Users\TAK\Desktop\sketch_may31a\sketch_may31a\sketch_may31a.ino: In function ‘void initializeGraphics()’:

    sketch_may31a:207:18: error: ‘lt’ was not declared in this scope

    for (i = 0; i < 7; ++i) {

    ^~

    sketch_may31a:207:23: error: expected ‘)’ before ‘;’ token

    for (i = 0; i < 7; ++i) {

    ^

    sketch_may31a:207:28: error: expected ‘;’ before ‘)’ token

    for (i = 0; i < 7; ++i) {

    ^

    sketch_may31a:212:18: error: ‘lt’ was not declared in this scope

    for (i = 0; i < TERRAIN_WIDTH; ++i) {

    ^~

    sketch_may31a:212:35: error: expected ‘)’ before ‘;’ token

    for (i = 0; i < TERRAIN_WIDTH; ++i) {

    ^

    sketch_may31a:212:40: error: expected ‘;’ before ‘)’ token

    for (i = 0; i < TERRAIN_WIDTH; ++i) {

    ^

    C:\Users\TAK\Desktop\sketch_may31a\sketch_may31a\sketch_may31a.ino: In function ‘void advanceTerrain(char*, byte)’:

    sketch_may31a:220:22: error: ‘lt’ was not declared in this scope

    for (int i = 0; i < TERRAIN_WIDTH; ++i) {

    ^~

    sketch_may31a:220:39: error: expected ‘)’ before ‘;’ token

    for (int i = 0; i < TERRAIN_WIDTH; ++i) {

    ^

    sketch_may31a:220:43: error: ‘i’ was not declared in this scope

    for (int i = 0; i < TERRAIN_WIDTH; ++i) {

    ^

    C:\Users\TAK\Desktop\sketch_may31a\sketch_may31a\sketch_may31a.ino: In function ‘bool drawHero(byte, char*, char*, unsigned int)’:

    sketch_may31a:299:25: error: ‘gt’ was not declared in this scope

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^~

    sketch_may31a:299:27: error: expected ‘)’ before ‘;’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    sketch_may31a:299:33: error: expected ‘;’ before ‘)’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    sketch_may31a:299:56: error: expected ‘;’ before ‘)’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    sketch_may31a:299:78: error: expected ‘;’ before ‘)’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    sketch_may31a:299:99: error: expected ‘;’ before ‘)’ token

    byte digits = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;

    ^

    Multiple libraries were found for “LiquidCrystal.h”
    Used: C:\Program Files (x86)\Arduino\libraries\LiquidCrystal
    Not used: C:\Users\TAK\Documents\Arduino\libraries\LiquidCrystal.library.daneshjookit
    exit status 1
    ‘gt’ was not declared in this scope

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.

      • سلام ببخشید درست نشد و این ارور رو می دهد لطفا کمکم کنید
        Arduino: 1.8.13 (Windows 7), Board: “Arduino Uno”

        C:\Users\parnian\Desktop\sketch_aug13a\sketch_aug13a.ino: In function ‘void loop()’:

        sketch_aug13a:69:91: error: expected primary-expression before ‘<' token

        drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance &<;&<; 3);

        ^

        sketch_aug13a:69:92: error: expected primary-expression before ';' token

        drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance &<;&<; 3);

        ^

        sketch_aug13a:69:94: error: expected primary-expression before '<' token

        drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance &<;&<; 3);

        ^

        sketch_aug13a:69:95: error: expected primary-expression before ';' token

        drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance &<;&<; 3);

        ^

        sketch_aug13a:69:98: error: expected ';' before ')' token

        drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance &<;&<; 3);

        ^

        sketch_aug13a:103:18: error: 'lt' was not declared in this scope

        if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;

        ^~

        sketch_aug13a:103:21: error: expected primary-expression before '=' token

        if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;

        ^

        sketch_aug13a:108:63: error: expected primary-expression before '<' token

        if (drawHero(heroPos, terrainUpper, terrainLower, distance &<;&<; 3)) {

        ^

        sketch_aug13a:108:64: error: expected primary-expression before ';' token

        if (drawHero(heroPos, terrainUpper, terrainLower, distance &<;&<; 3)) {

        ^

        sketch_aug13a:108:64: error: expected ')' before ';' token

        sketch_aug13a:108:66: error: expected primary-expression before '<' token

        if (drawHero(heroPos, terrainUpper, terrainLower, distance &<;&<; 3)) {

        ^

        sketch_aug13a:108:67: error: expected primary-expression before ';' token

        if (drawHero(heroPos, terrainUpper, terrainLower, distance &<;&<; 3)) {

        ^

        sketch_aug13a:108:70: error: expected ';' before ')' token

        if (drawHero(heroPos, terrainUpper, terrainLower, distance &<;&<; 3)) {

        ^

        sketch_aug13a:110:5: error: 'else' without a previous 'if'

        } else {

        ^~~~

        sketch_aug13a:113:26: error: expected primary-expression before '<' token

        } else if ((heroPos &<;= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:113:27: error: expected primary-expression before ';' token

        } else if ((heroPos &<;= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:113:27: error: expected ')' before ';' token

        sketch_aug13a:113:27: error: expected ')' before ';' token

        sketch_aug13a:113:28: error: expected primary-expression before '=' token

        } else if ((heroPos &<;= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:113:52: error: 'amp' was not declared in this scope

        } else if ((heroPos &<;= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

        ^~~

        sketch_aug13a:113:71: error: 'lt' was not declared in this scope

        } else if ((heroPos &<;= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

        ^~

        sketch_aug13a:113:74: error: expected primary-expression before '=' token

        } else if ((heroPos &<;= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:113:171: error: expected ';' before ')' token

        } else if ((heroPos &<;= HERO_POSITION_JUMP_3 && heroPos <= HERO_POSITION_JUMP_5) && terrainLower[HERO_HORIZONTAL_POSITION] != SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:115:7: error: 'else' without a previous 'if'

        } else if (heroPos &<;= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

        ^~~~

        sketch_aug13a:115:25: error: expected primary-expression before '<' token

        } else if (heroPos &<;= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:115:26: error: expected primary-expression before ';' token

        } else if (heroPos &<;= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:115:27: error: expected primary-expression before '=' token

        } else if (heroPos &<;= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:115:59: error: expected ')' before ';' token

        } else if (heroPos &<;= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {

        ^

        sketch_aug13a:115:128: error: expected ';' before ')' token

        } else if (heroPos &’ token

        byte digits = (score &>; 9999) ? 5 : (score &>; 999) ? 4 : (score &>; 99) ? 3 : (score &>; 9) ? 2 : 1;

        ^

        sketch_aug13a:298:26: error: expected primary-expression before ‘;’ token

        byte digits = (score &>; 9999) ? 5 : (score &>; 999) ? 4 : (score &>; 99) ? 3 : (score &>; 9) ? 2 : 1;

        ^

        sketch_aug13a:298:26: error: expected ‘)’ before ‘;’ token

        sketch_aug13a:298:32: error: expected ‘;’ before ‘)’ token

        byte digits = (score &>; 9999) ? 5 : (score &>; 999) ? 4 : (score &>; 99) ? 3 : (score &>; 9) ? 2 : 1;

        ^

        sketch_aug13a:298:54: error: expected ‘;’ before ‘)’ token

        byte digits = (score &>; 9999) ? 5 : (score &>; 999) ? 4 : (score &>; 99) ? 3 : (score &>; 9) ? 2 : 1;

        ^

        sketch_aug13a:298:75: error: expected ‘;’ before ‘)’ token

        byte digits = (score &>; 9999) ? 5 : (score &>; 999) ? 4 : (score &>; 99) ? 3 : (score &>; 9) ? 2 : 1;

        ^

        sketch_aug13a:298:95: error: expected ‘;’ before ‘)’ token

        byte digits = (score &>; 9999) ? 5 : (score &>; 999) ? 4 : (score &>; 99) ? 3 : (score &>; 9) ? 2 : 1;

        ^

        exit status 1

        expected primary-expression before ‘ Preferences.

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

  • سلام من کد را اپلود کردم اما یه چنین پیامی به نمایش اومد

    Arduino: 1.8.13 (Windows 10), Board: “Arduino Uno”

    sketch_oct14a:2:10: error: #include expects “FILENAME” or

    #include ;LiquidCrystal.h> // برای استفاده از نمایشگر <LiquidCrystal.h> کتاب خانه

    ^

    exit status 1

    #include expects “FILENAME” or

    This report would have more information with
    “Show verbose output during compilation”
    option enabled in File -> Preferences.
    به نظرتون چیکار کنم؟؟