سلام من اين برنامه رودارم ولي نمي دونم دقيقا چطور كار ميكنه راستش من avr بلد نيستم ميشه يه نفر بهم كمك كنه بگه اين برنامه چطوري كار مي كنه ؟ مثلا اين دستورا چي كارمي كنن؟
ممنونم
البته مثل اينكه برنامه ي كنترل گاز هست يعني اگه گاز نشت كنه خبر ميده
بازم ممنون
سلام
ضمن خوش آمد گویی خدمت شما دوست گرامی ...
باید مدارشو هم بذارین تا بیشتر بشه راهنماییتون کرد
به نظر نمیاد که درباره کنترل گاز باشه!!
بیشتر به برنامه تلفن و یا کالر آی دی و اینجور چیزا شبیه هستش < * 0 * >
ویا اگر هم کنترل گاز باشه یه مداری مثل تلفن کننده و ... داره
حالا شما اگه براتون امکان داره مدارشم بذارین تا بیشتر بتونیم کمکتون کنیم ...
-----------------------------------------------------------------------------------
آنکه از داشتن دشمن می ترسد , هرگز دوست واقعی نخواهد داشت (هزلت)
ممنون
اين مدار نشتي گاز رو تشخيص ميدهو بازر روشن ميشه و با شماره ايي كه بهش ميديم تماس مسگيره و صداي آژير در مي كنه !
كه من اصلا نمي دونم كجاش مقدار مينيمم و ماكسيمم گاز رو براش مشخص مي كنيم يا شماره رو بهش مي ديم ،
اگه ميشه تقريبا به صورت خط به خط برنامه اش توضيح بدين
اينم مدارش تو مدارش هم مشكل دارم نمي دونم Op cop و ISP چي هستن
بازم ممنونم
سلام دوست من
شما اگر avr بلد نیستید با این روش انگار که یک مرتبه میخواهید بروید پله آخر نردبان.
در سورس برنامه شما چندین نکته کلیدی مثل
config lcd
config port
config adc
و غیره وجود داره که توضیخ خط به خط این برنامه به شما avr رو آموزش نمیده
تو همین سایت توسط یکی از دوستان کتاب آموزش avr توسط bascom نوشته شده که زحمت زیادی هم براش کشیدن آدرس در زیر آورده شده
http://www.iranled.com/forum/thread-14543.html
اما اگه فقط با یه شماره تلفن دادن و مقدار دادن کارت حل میشه که نویسنده برنامه کاملا واضح اونرو در اختیارت گذاشته در
'(
B_num_tel_01 = 0 : Waitms 10
B_num_tel_02 = 9 : Waitms 10
B_num_tel_03 = 1 : Waitms 10
B_num_tel_04 = 7 : Waitms 10
B_num_tel_05 = 7 : Waitms 10
B_num_tel_06 = 0 : Waitms 10
B_num_tel_07 = 4 : Waitms 10
B_num_tel_08 = 7 : Waitms 10
B_num_tel_09 = 7 : Waitms 10
B_num_tel_10 = 4 : Waitms 10
B_num_tel_11 = 5 : Waitms 10
E_b_max_gaz = 90 : Waitms 10
')
شماره تلفن 09177047745 رو میتونی ببینی کافیه این متغیرها رو به موبایل خودت تفییر بدی
مقدار Min_gas Alias 528 هم حداقل گاز موجود در محیک که توسط سنسور در adc ثبت شده رو وارد میکنه. البته تمام این مقادیر توسط کیپدی که در برنامه تعیرف شده به سادگی قابل تغییر
ممنونم اونو خوندم اما يه چيزايي تو اين برنامه بود كه اصلا توي كتاب نبود مثل Pin_tel Alias Portd.0
و تو توضيحات مربوط به مدارش گفته شده كه بوسیله ی کیپد درصد ماکسیمم گاز و شماره تلفن را تغیر میدهیم .
اگه شماره تلفن تو برنامه هست و داده به ميكرو اصلا ميشه تغييرش داد ؟!
توضيح خط به خط نمي خوام كه AVR ياد بگيرم اگه توضيح خط به خطش بلد باشم مشكلم حل ميشه !
ببین دوست من
alias رو تو خودbascom هم اگر چک کنی متوجه میشه که به هر متغیری میتونی یک اسم بدی
برنامه نویس در اینجا اومده و به portd.0 یا در واقع به پین 0 پورت d یک اسم داده که هم با مسما باشه و هم اگر لازم شد که این پین رو عوض کنه دیگه احتیاج نیست در سرتاسر برنامه تغییرات رو اعمال کنه.
"اگه شماره تلفن تو برنامه هست و داده به ميكرو اصلا ميشه تغييرش داد ؟!"
بله دقیقا
A = E_b_max_gaz
If A2 > A Then
Reset Led_port
Call Get_num_tel
End If
Call Key_pad
If B_keypad = 16 Then Goto New_number
اولا تمام خطوط برنامه رو به این شکل در بیار تا برنامه خواناتر بشه و حلقه رو بصورت پله ای در بیار بعد میبینی که برای شماره گیری به روتین get_num_tel ارجاع داده شده و برای تغییر شماره به New_number ارجاع داده شده
البته من سبک دیگه ای برا این کارها دارم و به جای ده تا متغیر از یک جدول ده خونه استفاده میکنم و اینقدر از روتین های تو در تو استفاده نمیکنم که هم خوانایی برنامه رو کم میکنه و هم stack رو پر میکنه
ميگم من خيلي خنگم ! اما خواهشا اينم جواب بدين !
اما اين ميكرو رو پروگرام كردم مدارمم بستم ! حالاچطوري شماره ي خودمو بدم ؟ خوب اگه نشت كنه گاز كه زنگ ي زنه به اون من حالا چي كارش كنم ؟
(۱۱-خرداد-۱۳۹۰, ۱۵:۰۶:۰۵)mishool نوشته است: [ -> ]اما اين ميكرو رو پروگرام كردم مدارمم بستم ! حالاچطوري شماره ي خودمو بدم ؟ خوب اگه نشت كنه گاز كه زنگ ي زنه به اون من حالا چي كارش كنم ؟
سلام
خب saeidjan عزیز جواب سوالتون رو قبلا گفتن دیگه ...
برای اینکه شماره خودتونو بجاش بذارین کافیه که اون اعداد قبلی رو پاک کنین و شماره تلفن خودتونو بجاش بنویسین ...
اول برنامشو با شماره جدید خودتون تغییر بدین و بعدش پروگرام کنین < * 2 * >
(۱۱-خرداد-۱۳۹۰, ۰۸:۰۴:۳۰)saeidjan نوشته است: [ -> ]'(
B_num_tel_01 = 0 : Waitms 10
B_num_tel_02 = 9 : Waitms 10
B_num_tel_03 = 1 : Waitms 10
B_num_tel_04 = 7 : Waitms 10
B_num_tel_05 = 7 : Waitms 10
B_num_tel_06 = 0 : Waitms 10
B_num_tel_07 = 4 : Waitms 10
B_num_tel_08 = 7 : Waitms 10
B_num_tel_09 = 7 : Waitms 10
B_num_tel_10 = 4 : Waitms 10
B_num_tel_11 = 5 : Waitms 10
E_b_max_gaz = 90 : Waitms 10
')
شماره تلفن 09177047745 رو میتونی ببینی کافیه این متغیرها رو به موبایل خودت تفییر بدی
--------------------------------------------------------------------------------
همت مردانه آن است که هیچ حادثه و عارضه ای , مانع آن نگردد (ابن عطا)
دوست من به این دوخط یه کم توجه کن
Call Key_pad
If B_keypad = 16 Then Goto New_number
در خط اول کیپد اسکن میشود و اگر در متغیر b_keypad عدد 16 بود وارد ساب روتین New_number میشوید حالا کافی است یک سر به اون ساب روتین برو و ببن که چطور عددهارو میگیره
پس کافیه کاری کنی که کیپد عدد 16 رو برگردونه
دیگه فک کن موضوع روشن شده باشه
در ضمن در پست بالایی فقط یک توضیح رو برنامه نویس داده و این متغیرها در New_number مقدار دهی میشن
دوستان از كمكاتون ممنونم
اما من نمي خوام دوباره ميكرو رو پروگرام كنم كه ! چون گفته اين كيپد رو گذاشتيم كه بتونيم بش عدد جديد بديم پس وقتي كيپد داريم چه كاريه دوباره پروگرام كنيم ؟ حالا من مدارم روشن كردم نميشه كه اول گاز رو بريزم سر سنسور بايد اول شماره تغيير بدم مشكلم اينجاس چطوري شماره جديد به اين مدار روشن بدم؟
مشكلم اينه چطوري بااين مداره كار كنم اصلا !
البته شايد توضيح داده باشين اما من IQ م ضعيفه لطفا يه بار ديگه بگين !
ممنونم
با توجه به ساعتجوابت فک کنم الان خواب باشی
اما تو سورس برنامت نگاه کن
به عدد 16 که کیپد بر میگردونه وارد قسمت شماره گیری میشه
البته تو دو خط با که کامنت گذاشته شده نحوه تست کیپد و اینکه کدوم کلید ها چه کدی رو برمیگردونن هست
من یادمه که کد 32 مربوط به اسپیس بود و 13 و 10 مربوط به اینتر
همه کلیدهارو چک کن من نمیدونم که کدوم کلید عدد 16 رو برمیگردونه قاعدتا باید کلید ترکیبی باشه که بطور اتفاقی تغییراتی انجام نشه