پاسخ : ساخت شیر هوشمند
ممنون از پاسخهای شما
راستش چند روزی نبودم و نتونستم سراغ کار مدار باشم
امروز یکمی باهاش کار کردم,بردشم ساختم
برنامشم آزمایشی نوشتم(هنوز تکنیک های حذف نویز رو روش اجرا نکردم)
ولی یه مشکل تو کار هست ؟!
شماتیک و سورس رو میزارم تا عیب یابی راحت تر باشه
دانلود شماتیک و سورس و هگز [glow=red,2,300]http://keytak.persiangig.com/Fal.rar[/glow]

خب وقتی سیستم شروع به کار میکنه باید پس از چند بار روشن خاموش شدن led ها بره سراغ خوندن adc
adc0 هم به 5V وصل کردم
خوندن adc تو یه حلقه ست که مدام باید تکرار شه و اگر مقادیر adc قرائت شده با مقدار ذخیره شده در eeprom(با زدن دکمه مقدار حاضر adc ذخیره میشه_در واقع کالیبره میشه) متفاوت بود فرمان بده و یه رله رو که در اینجا یه led ه روشن شه
مشکل اینجاست هیچ اتفاقی نمیوفته و انگار مقدار adc خونده نمیشه !
ممنون از پاسخهای شما
راستش چند روزی نبودم و نتونستم سراغ کار مدار باشم
امروز یکمی باهاش کار کردم,بردشم ساختم
برنامشم آزمایشی نوشتم(هنوز تکنیک های حذف نویز رو روش اجرا نکردم)
ولی یه مشکل تو کار هست ؟!
شماتیک و سورس رو میزارم تا عیب یابی راحت تر باشه
دانلود شماتیک و سورس و هگز [glow=red,2,300]http://keytak.persiangig.com/Fal.rar[/glow]

کد:
$regfile = "M8def.dat" $crystal = 8000000 Config Adc = Single , Prescaler = Auto Config Pind.0 = Input 'Calbirataion Button Config Pinb.1 = Output 'Relay Config Pinb.2 = Output 'Active LED Config Pinb.3 = Output 'Calibration LED Dim A As Word Dim R As Word Start Adc Enable Adc Portb.2 = 1 Portb.3 = 0 : Waitms 50 Portb.3 = 1 Portb.2 = 0 : Waitms 50 Portb.2 = 1 Portb.3 = 0 : Waitms 50 Portb.3 = 1 Portb.2 = 0 : Waitms 50 Portb.2 = 1 Portb.3 = 0 : Waitms 50 Portb.3 = 1 Portb.2 = 0 : Waitms 50 Portb.2 = 1 Waitms 200 Portb.3 = 0 Portb.2 = 0 Main: A = Getadc(0) Readeeprom R , 0 If R = A Then Portb.1 = 0 Portb.2 = 1 Else Portb.1 = 1 Portb.2 = 0 End If Debounce Pind.0 , 1 , Calibrate , Sub Waitms 100 Goto Main Calibrate: A = Getadc(0) Writeeeprom A , 0 Waitms 5 Portb.1 = 0 Portb.2 = 0 Portb.3 = 1 Waitms 50 Portb.3 = 0 Waitms 50 Portb.3 = 1 Waitms 50 Portb.3 = 0 Waitms 50 Portb.3 = 1 Waitms 50 Portb.3 = 0 Waitms 50 Return End
adc0 هم به 5V وصل کردم
خوندن adc تو یه حلقه ست که مدام باید تکرار شه و اگر مقادیر adc قرائت شده با مقدار ذخیره شده در eeprom(با زدن دکمه مقدار حاضر adc ذخیره میشه_در واقع کالیبره میشه) متفاوت بود فرمان بده و یه رله رو که در اینجا یه led ه روشن شه
مشکل اینجاست هیچ اتفاقی نمیوفته و انگار مقدار adc خونده نمیشه !
دیدگاه