بازیهای الکترونیکی از دهه ۸۰ میلادی به عنوان بخشی از زندگی و اوقات فراغت تبدیل شدند. تراشههای الکترونیکی مختلفی در ایجاد بازیها نقش آفرینی کردهاند. ترکیب بازیها با نمایشگرهای کاراکتری، یکی از جذابترین موارد میباشد. همه علائم و موارد به صورت دو بعدی قابل اجرا هستند. در این آموزش روش ساخت یک بازی بسیار جذاب با استفاده از برد آردوینو، نمایشگر کاراکتری ۲×۱۶ و میکروسوئیچ خواهیم ساخت. در ادامه این آموزش با مرجع تخصصی آردوینو به زبان فارسی، دیجی اسپارک همراه باشید.
توضیحات بازی با آردوینو
در این بازی یک شخصیت کاراکتری در حال دویدن میباشد. با هر بار تحریک میکروسوئیچ آن شخص یک پرش انجام میدهد. در دو ردیف اجسام به شخص نزدیک میشوند؛ دراین بازی شخص باید با پریدن از روی اجسام پایینی و راه رفتن روی آن به بازی ادامه داده و با اجسام که نزدیک میشوند برخورد نکند. در بازی یک شمارنده وجود دارد که مدت زمان حضور شخص در بازی را نشان میدهد. همان امتیاز بازی میباشد. دقت کنید که این بازی بسیار اعتیاد آور میباشد. چون در این بازی هدف بر این است که شخص رکورد خودش را شکسته و رکورد جدیدی ثبت نماید. امیدوارم این آموزش انگیزه ای برای ساختن بازیهای بیشتر با آردوینو باشد.
وسایل مورد نیاز
- ال سی دی کاراکتری ۱۶*۲
- پتانسیومتر (ولوم) ۵۰ کیلو اهم
- کلید (میکروسوئیچ)
- آردوینو uno
- برد بورد (bread bord)
- کابل فلت (نری به نری)
اتصالات مدار بازی با آردوینو
اتصالات lcd (نمایشگر)
پایه ی VCC نمایشگر = پایه ی GND آردوینو
پایه ی VDD نمایشگر = پایه ی ۵ ولت آردوینو
پایه ی VO نمایشگر = پایه ی وسط پتانسیومتر (مقاومت متغییر)
پایه ی RS نمایشگر = پایه ۸ آردوینو
پایه ی RW نمایشگر =پایه ی GND آردوینو
پایه ی E نمایشگر = پایه ۹ آردوینو
پایه ی D4 نمایشگر = پایه ۱۰ آردوینو
پایه ی D5 نمایشگر = پایه ۱۱ آردوینو
پایه ی D6 نمایشگر = پایه ۱۲ آردوینو
پایه ی D7 نمایشگر = پایه ۱۳ آردوینو
پایه ی A نمایشگر = پایه ی ۵ ولت آردوینو
پایه ی K نمایشگر = پایه ی GND آردوینو
اتصالات پتانسیومتر
پایه سمت راست = GND / 5V فرقی ندارد
پایه وسط = پایه ی VO نمایشگر
پایه سمت چپ = GND / 5V فرقی ندارد
اتصالات کلید
پایه اول = پایه ۷ آردوینو
پایه دوم = GND
کتابخانه بازی با آردوینو
همانطور که اشاره شد در این آموزش از نمایشگر LCD استفاده شده است. جهت راه اندازی ال سی دی کاراکتری به کتابخانه LiquidCrystal نیاز داریم. از اینرو بایستی این کتابخانه را دانلود و نصب کنیم. چنانچه روش نصب کتابخانه را نمیدانید، به آموزش نصب کتابخانه در نرم افزار آردوینو Arduino IDE مراجعه کنید. دو روش مجزا برای این موضوع کاملا توضیح داده شده است. روش فراخوانی کتابخانه هم مانند خط زیر میباشد.
#include <LiquidCrystal.h>
کدنویسی بازی با آردوینو
جهت اجرای پروژه کدهای زیر را در کامپایلر آردوینو Arduino IDE وارد کنید.
#include <LiquidCrystal.h> // برای استفاده از نمایشگر <LiquidCrystal.h> کتاب خانه
// پیش کد (تعریف پایه ها)
#define BTN_PIN 7 // کلید
#define SPRITE_RUN1 1
#define SPRITE_RUN2 2
#define SPRITE_JUMP 3
#define SPRITE_JUMP_UPPER '.'
#define SPRITE_JUMP_LOWER 4
#define SPRITE_TERRAIN_EMPTY ' '
#define SPRITE_TERRAIN_SOLID 5
#define SPRITE_TERRAIN_SOLID_RIGHT 6
#define SPRITE_TERRAIN_SOLID_LEFT 7
#define HERO_HORIZONTAL_POSITION 1 // موقعیت افقی قهرمان بر روی صفحه نمایش
#define TERRAIN_WIDTH 16
#define TERRAIN_EMPTY 0
#define TERRAIN_LOWER_BLOCK 1
#define TERRAIN_UPPER_BLOCK 2
#define HERO_POSITION_OFF 0 // قهرمان نامرئی است
#define HERO_POSITION_RUN_LOWER_1 1 // قهرمان در ردیف پایین اجرا می شود (حالت ۱)
#define HERO_POSITION_RUN_LOWER_2 2 // قهرمان در ردیف پایین اجرا می شود (حالت ۲)
#define HERO_POSITION_JUMP_1 3 // شروع پرش
#define HERO_POSITION_JUMP_2 4 // نیمه راه بالا
#define HERO_POSITION_JUMP_3 5 // پرش در ردیف بالا است
#define HERO_POSITION_JUMP_4 6 // پرش در ردیف بالا است
#define HERO_POSITION_JUMP_5 7 // پرش در ردیف بالا است
#define HERO_POSITION_JUMP_6 8 // پرش در ردیف بالا است
#define HERO_POSITION_JUMP_7 9 // نیمه راه پایین
#define HERO_POSITION_JUMP_8 10 // در مورد زمین
#define HERO_POSITION_RUN_UPPER_1 11 // قهرمان در ردیف بالا اجرا می شود (حالت ۱)
#define HERO_POSITION_RUN_UPPER_2 12 // قهرمان در ردیف بالا اجرا می شود (حالت ۲)
// شروع کد ها از این قسمت
LiquidCrystal lcd(8, 9, 10, 11, 12, 13); // پایه های lcd (8, 9, 10, 11, 12, 13)
static char terrainUpper[TERRAIN_WIDTH + 1];
static char terrainLower[TERRAIN_WIDTH + 1];
static bool buttonPushed = false;
void setup() {
initializeGraphics();
lcd.begin(16, 2);
pinMode(BTN_PIN, INPUT_PULLUP);
}
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 ( digitalRead(BTN_PIN) == LOW ) {
buttonPushed = true;
}
// نمایش صفحه شروع اگر در حال حاضر بازی نیست
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;
}
// تعویض زمین از سمت چپ
advanceTerrain(terrainLower, newTerrainType == TERRAIN_LOWER_BLOCK ? SPRITE_TERRAIN_SOLID : SPRITE_TERRAIN_EMPTY);
advanceTerrain(terrainUpper, newTerrainType == TERRAIN_UPPER_BLOCK ? SPRITE_TERRAIN_SOLID : SPRITE_TERRAIN_EMPTY);
// طراحی زمین جدید به سمت راست
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;
} 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;
}
delay(100);
}
// نمای سفارشی برای گرافیک lcd
void initializeGraphics() {
static byte graphics[] = {
// موقعیت ۱ را اجرا کن
B01100,
B01100,
B00000,
B01110,
B11100,
B01100,
B11010,
B10011,
// موقعیت ۲ را اجرا کن
B01100,
B01100,
B00000,
B01100,
B01100,
B01100,
B01100,
B01110,
// پرش
B01100,
B01100,
B00000,
B11110,
B01101,
B11111,
B10000,
B00000,
// پرش به سمت پایین
B11110,
B01101,
B11111,
B10000,
B00000,
B00000,
B00000,
B00000,
// زمین
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
B11111,
// زمین راست
B00011,
B00011,
B00011,
B00011,
B00011,
B00011,
B00011,
B00011,
// زمین چپ
B11000,
B11000,
B11000,
B11000,
B11000,
B11000,
B11000,
B11000,
};
int i;
// طراحی شخصیت با سرعت زیاد
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;
}
}
// افزایش سطح زمین را به سمت چپ
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;
// طراحی صفحه
terrainUpper[TERRAIN_WIDTH] = '\0';
terrainLower[TERRAIN_WIDTH] = '\0';
char temp = terrainUpper[16 - digits];
terrainUpper[16 - digits] = '\0';
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;
}
پروژه
کاربران بایستی همین بازی را با استفاده از ماژول جوی استیک راه اندازی کنند که به وسیله ی ماژول جوی استیک شخصیت بازی را هدایت کنند.
چنانچه در مراحل راه اندازی و انجام این پروژه با مشکل مواجه شدید، بدون هیچ نگرانی در انتهای همین پست، به صورت ثبت نظر سوالتان را مطرح کنید. من در سریعترین زمان ممکن پاسخ رفع مشکل شما را خواهم داد. همچنین اگر ایرادی در کدها و یا مراحل اجرایی وجود دارند میتوانید از همین طریق اطلاع رسانی کنید.
پروژه و دریافت بن ارسال رایگان
برای دریافت بن خرید از دانشجو کیت، کاربران بایستی با استفاده از وسایل این آموزش، پروژه را اجرا کرده و یا حتی مدار جدیدی تعریف کنید. سپس از اجرای کار فیلم گرفته و در شبکههای اجتماعی از جمله آپارات و اینستگرام، با هشتگهای دیجی_اسپارک دانشجوکیت 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>: No such file or directory
exit status 1
<LiquidCrystal.h>: No such file or directory
سلام ییخشید زمان اپلود پیام میده اطلاعات از ۳۹۰۰نویسه بیشتر است علتش چیه؟
سلام؛
لطفا متن ارور (copy error massages) را برای ما بفرستید تا دلیل اصلی ارور را شناسایی کنیم.
حافظه اردوینوت کمه. میکرو کنترلرش رو عوض کن.دقت کن پرحجم ترشو بگیری .
من این پروژه را با پروتکل i2c انجام دادم.میتونم فیلمشو بفرستم و بن خرید بگیرم؟
با سلام
طبق قوانین سایت بایستی ویدیو را در آپارات یا اینستگرام آپلود و طبق قوانین هشتگ بزنید.
سلام خط ۱۱۴ و ۱۱۶ & چیه دقیقا؟
سلام خسته نباشید .
دکمه باید چند پایه داشته باشه؟؟؟
با سلام
در این خصوص تعداد پایه ها اهمیتی ندارد و از دو تا چهار پایه میتوانید استفاده کنید.
سلام من کتابخانه رو معرفی میکنم ولی در اخر ارور میده و میگخ موجود نیس چیکار کنم ؟؟
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.
سلام با این ارور چیکار کنم ؟؟
سلام؛
عوض خط تعریف کتابخانه از این تعریف زیر استفاده کنید.
#include
در کد بالا اشتباه نوشتاری رخ داده است.
در صورت بروز ارور، مجددا اطلاع رسانی کنید.
#include
#
include
سلام ممنون از پروژه بسیار جالبتون لطفا کد برنامه رو یکبار چک کنید که درست باشه من هر وقت میخوام کد رو کامپایل کنم ارور میده که کد اشکال داره
سلام، خیلی ممنون.
چشم، حتما.
این رو توی پیغام هاش میده 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
برای کدام خط در برنامه این ارور داده میشه ؟
چون ارور مربوط به ( داخل کد ها هستش.
سلام خسته نباشید
می خواستم بدونم ولوم یا پتانسیومتر دقیقا چیکار میکنه توی این مدار؟؟؟؟
سلام، ممنون؛
پتانسیومتر میزان نور صفحه LCD رو تنظیم میکنه.
سلام خسته نباشید.
می خواستم بدونم میشه رشته سیم های کابل فلت نری به نری رو از هم جدا کرد ؟؟
من به اشتباه دکمه چهار پایه خریدم بعد ، اگه میشه پایه های اول و دوم کدوم هستند؟؟
مرسی
سلام، ممنون؛
سیم های نری به نری اصولا جدا استفاده میشوند.
در قسمت دوم سوالتون اگه امکان داره شفاف سازی کنید بنده متوجه نشدم
سلام خسته نباشید.
شما در بخش اتصالات گفتید
پایه ی VCC نمایشگر = پایه ی GND آردوینو
و
پایه ی RW نمایشگر =پایه ی GND آردوینو
و
پایه ی K نمایشگر = پایه ی GND آردوینو
و
پایه دوم = GND
و
پایه سمت راست = GND / 5V فرقی ندارد
و
پایه سمت چپ = GND / 5V فرقی ندارد
در صورتی که آردوینو فقط ۲ الی ۳ مکان GND داره ما باید چجوری این همه پایه ها رو بهش وصل کنیم؟؟؟؟؟؟؟؟؟؟؟؟
چجوری پایه های سمت چپ و سمت راست پتانسیومتر رو مشخص کنیم ((بدون مولتی متر))
سلام: پایه های gnd نمایشگر که ثابت هستند.
در پتانسیوتر نیازی به مشخص کردن پایه های چپ یا راست نیست، یکیشون رو ۵ ولت انتخاب کتید و دیگری را gnd و پایه ی وسط رو به نمایشگر متصل کنید؛
برای استفاده از پایه های ۵v، gnd بیشتر میتوانید از شیلد پروتوتایپ یا بردبورد استفاده کنید، از یک سیم انشعاب بگیرید و به تعداد دلخواه پایه ی مثبت یا منفی داشته باشید.
چجوری از شیلد پروتوتایپ استفاده کنیم ؟؟
برای اضافه کردن پایه ی gnd روی آردوینو uno
با سلام
شیلد پروتوتایپ بر روی پایه های آردوینو UNO قرار گرفته و علاوه بر دسترسی مجدد به پایه ها در سمت مجاور برد ۵ پایه GND و ۵ پایه VCC قرار گرفته میشود.
سلام.
ایا میشه از بخش ICSP بخش اردوینو استفاده کرد؟؟
سلام، بله امکان پذیر هستش.
سلام …خسته نباشید من هر چی میزنم تصحیح کنه خطا میده و روی کتابخانه خط میکشه …کتابخانه رو هم نصب کردم ولی بازم درست نمیشه مشکل از چیه….ممنون
سلام؛ ممنون
خط افزودن کتابخانه رو سایت تغییر میده و به شکل اصلی اون نمینویسه و داخل کامنت ها هم پاک میکنه، لطفا داخل اینترنت سرچ کنید نحوه ی افزودن کتابخانه به آردوینو و یا در دیگر کد های نوشته شده در دیجی اسپارک توسط دوستان از شکل صحیح افزودن کتابخانه استفاده کنید.
سلام خسنه نباشید .
فیلم ساخت این مدار رو ندارید ؟؟
از کجا میتونم تهیه کنم؟؟
سلام، ممنونم؛
فعلا نه ولی بزودی ویدیویی برای این آموزش تهیه خواهم کرد.
فکر کنم با سرچ عنوان آموزش به زبان انگلیسی ویدیو ی ساخت این آموزش رو بتونید پیدا کنید.
سلام خسته نباشید .
من 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.
این ارور به دلیل عدم شناسایی کتابخانه LiquidCrystal هستش، لطفا کتابخانه رو مجدد در مسیر کتابخانه ها نصب کنید.
و این ارور
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.
سلام ببخشید چرا زمان آپلود می نویسه (gt) تعریف نشده است لطفا هرچه سریعتر جواب دهید
با سلام
به جای gt از علامت کوچک و بزرگ استفاده نمایید.
سلام ببخشید درست نشد و این ارور رو می دهد لطفا کمکم کنید
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.
به نظرتون چیکار کنم؟؟
با سلام
کدها را به درستی به نرم افزار آردوینو منتقل نکردهاید.
سلام.کد ها اشتباهند و ارور می دهند.لطفا کد ها رو بررسی کنید.باتشکر
با سلام
لطفا ارور دریافتی را ارسال کنید تا بررسی شود.
سلام من ارور exit status 1
#include expects “FILENAME” or
درایفت کردم میشه بگید چبکار کنم ؟
با سلام
لطفا ارور را کامل کپی و ارسال کنید تا بررسی شود.
سلام
سلام
وقتتی برنامه را آپلود میکنم این ارور را می دهد دلیلش چیست
Arduino: 1.8.13 (Windows 7), Board: “Arduino Uno”
C:\Users\ALIREZA\Desktop\sketch_feb08a\sketch_feb08a.ino: In function ‘void loop()’:
sketch_feb08a:70:91: error: ‘gt’ was not declared in this scope
drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance >> 3);
^~
sketch_feb08a:70:100: error: expected ‘;’ before ‘)’ token
drawHero((blink) ? HERO_POSITION_OFF : heroPos, terrainUpper, terrainLower, distance >> 3);
^
C:\Users\ALIREZA\Desktop\sketch_feb08a\sketch_feb08a.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_feb08a:104:18: error: ‘lt’ was not declared in this scope
if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;
^~
sketch_feb08a:104:21: error: expected primary-expression before ‘=’ token
if (heroPos <= HERO_POSITION_RUN_LOWER_2) heroPos = HERO_POSITION_JUMP_1;
^
sketch_feb08a:109:63: error: ‘gt’ was not declared in this scope
if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {
^~
sketch_feb08a:109:65: error: expected ‘)’ before ‘;’ token
if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {
^
sketch_feb08a:109:67: error: ‘gt’ was not declared in this scope
if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {
^~
sketch_feb08a:109:72: error: expected ‘;’ before ‘)’ token
if (drawHero(heroPos, terrainUpper, terrainLower, distance >> 3)) {
^
sketch_feb08a:111:5: error: ‘else’ without a previous ‘if’
} else {
^~~~
sketch_feb08a: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_feb08a:114:28: error: expected ‘)’ before ‘;’ token
sketch_feb08a: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_feb08a: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_feb08a: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_feb08a: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_feb08a: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_feb08a: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\ALIREZA\Desktop\sketch_feb08a\sketch_feb08a.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_feb08a:116:28: error: expected primary-expression before ‘=’ token
} else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {
^
sketch_feb08a:116:60: error: expected ‘)’ before ‘;’ token
} else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {
^
sketch_feb08a:116:129: error: expected ‘;’ before ‘)’ token
} else if (heroPos >= HERO_POSITION_RUN_UPPER_1 && terrainLower[HERO_HORIZONTAL_POSITION] == SPRITE_TERRAIN_EMPTY) {
^
sketch_feb08a:118:7: error: ‘else’ without a previous ‘if’
} else if (heroPos == HERO_POSITION_RUN_UPPER_2) {
^~~~
C:\Users\ALIREZA\Desktop\sketch_feb08a\sketch_feb08a.ino: In function ‘void initializeGraphics()’:
sketch_feb08a:207:18: error: ‘lt’ was not declared in this scope
for (i = 0; i < 7; ++i) {
^~
sketch_feb08a:207:23: error: expected ‘)’ before ‘;’ token
for (i = 0; i < 7; ++i) {
^
sketch_feb08a:207:28: error: expected ‘;’ before ‘)’ token
for (i = 0; i < 7; ++i) {
^
sketch_feb08a:212:18: error: ‘lt’ was not declared in this scope
for (i = 0; i < TERRAIN_WIDTH; ++i) {
^~
sketch_feb08a:212:35: error: expected ‘)’ before ‘;’ token
for (i = 0; i < TERRAIN_WIDTH; ++i) {
^
sketch_feb08a:212:40: error: expected ‘;’ before ‘)’ token
for (i = 0; i < TERRAIN_WIDTH; ++i) {
^
C:\Users\ALIREZA\Desktop\sketch_feb08a\sketch_feb08a.ino: In function ‘void advanceTerrain(char*, byte)’:
sketch_feb08a:220:22: error: ‘lt’ was not declared in this scope
for (int i = 0; i < TERRAIN_WIDTH; ++i) {
^~
sketch_feb08a:220:39: error: expected ‘)’ before ‘;’ token
for (int i = 0; i < TERRAIN_WIDTH; ++i) {
^
sketch_feb08a:220:43: error: ‘i’ was not declared in this scope
for (int i = 0; i < TERRAIN_WIDTH; ++i) {
^
C:\Users\ALIREZA\Desktop\sketch_feb08a\sketch_feb08a.ino: In function ‘bool drawHero(byte, char*, char*, unsigned int)’:
sketch_feb08a:299:8: error: expected unqualified-id before ‘=’ token
byte = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;
^
sketch_feb08a:299:26: error: expected ‘;’ before ‘)’ token
byte = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;
^
sketch_feb08a:299:49: error: expected ‘;’ before ‘)’ token
byte = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;
^
sketch_feb08a:299:71: error: expected ‘;’ before ‘)’ token
byte = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;
^
sketch_feb08a:299:92: error: expected ‘;’ before ‘)’ token
byte = (score > 9999) ? 5 : (score > 999) ? 4 : (score > 99) ? 3 : (score > 9) ? 2 : 1;
^
sketch_feb08a:304:33: error: ‘digits’ was not declared in this scope
char temp = terrainUpper[16 – digits];
^~~~~~
C:\Users\ALIREZA\Desktop\sketch_feb08a\sketch_feb08a.ino:304:33: note: suggested alternative: ‘gets’
char temp = terrainUpper[16 – digits];
^~~~~~
gets
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.
با سلام
در متن کدها به جای gt از علامت کوچک و بزرگ < و > استفاده کنید. این مورد در کدها پیش آمده است و برطرف خواهد شد.
سلام من این پروژه رو با I2C راه اندازی کردم
بعدش هم با حافظه EEPROM رکورد رو ذخیره کردم
اینجوری میشه فهمید کی طرف رکوردش رو شکونده
اینم لینک ویدیو داخل انیستاگرام :
https://www.instagram.com/p/COahFK7ANMO/?utm_source=ig_web_copy_link
بن خرید بهم تعلق میگیره ؟
سلام و تشکر از شما
بله بن به شما تعلق خواهد گرفت. درخواستتان را از طریق پرتال پشتیبانی پیگیری کنید.
سلام.وقت بخیر
آیا میتوان به جای پتانسیومتری ۵۰ کیلو اهم پتانسیومتر ۱۰ کیلو اهم استفاده کنم؟؟
با سلام
بله امکان پذیر است. ولی پیشنهاد میشود همان مدل را استفاده کنید.
Arduino: 1.8.13 (Windows 10), Board: “Arduino Uno”
bazi:2:10: error: #include expects “FILENAME” or
exit status 1
#include expects “FILENAME” or
This report would have more information with
“Show verbose output during compilation”
option enabled in File -> Preferences.
سلام این ارور رو دارم توی برنامه شکل از چی هست
با سلام
کد برنامه به درستی آپلود نشده است. لطفا کد را کپی و در نرم افزار آردوینو کپی کنید.
سلام دوستان لطفا در کد این تغییرات را اعمال نمایید
بجای & از & استفاده کنید;
بجای > از استفاده کنید;
کد درست میشود ;
سپاس از همراهی شما کاربر گرامی
باسلام ماژول جواستیک رو به کجا باید متصل کرد …؟
با سلام
طبق توضیحات و نقشه ارایه شده اقدام کنید.
سلام همین برنامه رو میتونم روی ماژولesp32 پروگرام کنم؟
با سلام
بله امکان پذیر است.
فقط روشن میشود کار نمی کند
با سلام
از مقاومت برای نمایشگر بایستی استفاده کنید.
سلام ببخشید کپی محتوا با ذکر منبع مجاز است؟
با سلام
خیر اجازه کپی کردن از این مطالب را ندارید. اگر بخشی از آنرا برای بهبو تجربه خودتان به کار بردید، در این صورت حتما ذکر منبع لازم است.