9 لایک
-
شما باید به جای این دو خط
sendDataToProcessing('B',BPM);
sendDataToProcessing('Q',IBI);
4 خط پایین رو اضافه کنی
lcd.setCursor(0, 0);
lcd.print("B",BPM);
lcd.setCursor(0, 1);
lcd.print("Q",IBI);
قبل از void setup کد زیر رو اضافه کن و با توجه به اتصال نمایشگر عدد ها رو تغییر بده
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
خطهای اول هم کد زیر رو اضافه کن
#include <LiquidCrystal.h>
توی void setup هم کد زیر رو اضافه کن
lcd.begin(16, 2);
-
واقعا ممنونم از لطفتون من تغییرات رو انجام دادم
فقط جسارتن خواستم بدونم شما کارتون چی هست؟
و اینکه این کدو کاملشو براتون ارسال میکنم ببینید درست هست یا خیر
بازم ممنونم
لینک دانلود
sensor code
-
با عرض پوزش اگر معنای کدهای بالا هم بفرمایید ممنونتون میشم
در ضمن نرم افزار اردینودر وینوز 8.1 اجرا میشه یبار یبار اجرا نمیشه ایرادی هست با سیستم عامل
ویرایش توسط reza630i : 03-21-2015 در ساعت 10:19 PM
-
4 خطی که اضاه کردین:
خط اول می گه توی سطر اول و از ستون اول شروع کن و کارکتر B و مقدار متغیر BPM رو نشون بده
خط سوم می گه توی سطر دوم و از ستون اول شروع کن و کارکتر Q و مقدار متغیر IBI رو نشون بده
LiquidCrystal lcd(12, 11, 5, 4, 3, 2); این کد واسه پیکربندی پین های نمایشگر هست.
#include <LiquidCrystal.h> این کد واسه اینه که بتونی از کتابخانه این نوع نماشگرها استفاده کنی
lcd.begin(16, 2); این نوع نمایشگر رو مشخص می کنی که چند ستون و سطر داره.
کد رو نگاه کردم مشکلی فعلا نداره تست بزن تا باگ گیری کنیم.
ویرایش توسط solxsado : 03-21-2015 در ساعت 10:56 PM
-
سلام این دستورات به چه معنا است البته میدونم خیلی مزاحمتون شدم شرمنده به خدا بیشتر دوست دارم بفهمم دستوراتو
متغییر زیر
volatile int IBI = 600; عدد 600 مقداردهی دستی هست یا پیش فرض
و این دستور
volatile boolean Pulse = false
volatile boolean QS = false;
دستور اولی فکر کنم این باشه زمانی که متغییر بولین 1 شود درست است و زمانی که صفر شور غلط است
ولی پایینی رو نفهمیدم
fadepin در این مثال مثل نشمردن یا همان صفر منطقی عمل میکند؟
و blinkepine مثل یک منطقی؟
. این
Serial.begin(115200);
در این دستور هم ارسال داده سگینال خام با کاراکتری به نام s هست درسته؟ ولی به کجا؟ به کدام خروجی؟
sendDataToProcessing('S', Signal);
--------------------------------------------------------
این
if (QS == true)
fadeRate = 255
ledFadeToBeat();
oid ledFadeToBeat()
ویرایش توسط reza630i : 03-22-2015 در ساعت 11:31 AM
-
خط اول یه متغیر از نوع عدد و مقدار پیش فرض هم 600 است ولی هنگام اجرای برنامه تغییر می کند.
دو خط بعد دو تا متغیر از نوع بولین است که مقدار پیش فرض نادرست است. دو حالت بیشتر نمی پذیره درست یا نادرست
fadepin برابر 5 شده و در کد pinMode(fadePin,OUTPUT); استفاده شده یعنی پایه شماره 5 رو به خروجی تعریف کن.
blinkepine هم به صورت یعنی پایه 13 رو خروجی تعریف کن.
Serial.begin(115200); پورت سریال رو باز می کنه و اماده ارسال و دریافت داده با سرعت 115200 بر ثانیه می شود.
sendDataToProcessing('S', Signal); به پورت سریال می فرسته با استفاده از تابع زیر
void sendDataToProcessing(char symbol, int data ){
Serial.print(symbol);
Serial.println(data);
}
بعدی میگه زمانی که QS مقدارش برابر با درست بود fedeRate رو برابر با 255 کن و تابع ledFadeToBeat(); اجرا کن.
توی تابع ledFadeToBeat();
خط اول میگه 15 رو از مقدار fadeRate کم کن.
خط دوم میگه محدوده متغیر fadeRate از 0 تا 255 است.
خط سوم مقدار fadeRate یه پایه 5 که خروجی آنالوگ ارسال می کنه.
ویرایش توسط solxsado : 03-22-2015 در ساعت 12:17 PM
-
چرا باید faderate روبرابر با 255 بکنه
و معنای تابع ledfadetobeat چی هست این تابع روخود برنامه نویس برای چی تعریف کرده
من واقعا متوجه نمیشم چرا باید مقدار15 از faderate کم بشه دوباره بریزه تو faderater
چرا در این برنامه به راحتی نمیگیم مقدارهای ورودی رو بگیره و در خروجی چاپ کنه ؟
-
شما دوست عزیزم کلاس خصوصی دارید؟
-
fadeRate = constrain(fadeRate,0,255);
این چی هست؟
آیا این دستورات از پیش تعیین شده هستن یا خیر؟
-
من واقعیت رو بگم واقعا تا 60 % متوجه کدها میشم ولیکن دیگه کم آوردم نمیفهمم بعضی اوقات دارن چی میگن
مجوز های ارسال و ویرایش
- شما نمیتوانید موضوع جدیدی ارسال کنید
- شما امکان ارسال پاسخ را ندارید
- شما نمیتوانید فایل پیوست کنید.
- شما نمیتوانید پست های خود را ویرایش کنید
-
مشاهده قوانین انجمن
SEO by vBSEO