السلام عليكم
اخواني الاعضاء الاعزاء
عندي مشروع بسيط اود عمله وهو كاشف معادن ( مبسط )
تتم اضاءة ( LED) عند العبور فوق المعادن
طلبي هو اريد ان اضيف ( صوت) (buzzer) مع وجود ال ( LED) الموجود اصلا في الدائرة التي تعمل على 5فولت
فهل يخبرني اهل الخبرة في ذلك من خلال رسم الدائره المعدلة
مع العلم ان الدائره ( PIC) ولا ادري ان كان ( الكود ) يحتاج الزيادة في حالة التعديل..؟
اللغة ( سي - ميكروكونترولر )
الكود :
طبعا هذا العمل ليس لي ولكن اريد ان اعمله لمشروعي :
/*
* main loop
*/
void main()
{
unsigned char i ;
/*
* configure GPIO as digital port
*/
CMCON0 = 7 ;
ANSEL = 0 ;
TRISIO = 0 ;
GPIO = 0 ;
/*
* power up ?
*/
if(STATUS.NOT_TO)
{
/*
* yes, init variables
*/
restarts = 0 ;
calibr = 1 ;
}
/*
* watchdog reset counter
*/
if(restarts < 255) restarts++ ;
/*
* if counter differs too much from calibration value
*/
if((previous ^ ctr) > calibr)
{
/*
* turn detect LED on
*/
GPIO.F0 = en ;
/*
* if not on power up
*/
if(STATUS.NOT_TO == 0)
{
/*
* while in calibration mode
*/
if(restarts < MAXTRY)
{
/*
* shift calibration value
* and wait a little bit
*/
calibr <<= 1 ;
Delay_ms(5) ;
}
}
else
{
/*
* turn detect LED off
*/
GPIO.F0 = 0 ;
}
}
/*
* save last counter
*/
previous = ctr ;
/*
* is calibration over ?
*/
if(restarts > MAXTRY)
{
/*
* yes, turn calibrate LED off
* and set enable flag
*/
GPIO.F1 = 0 ;
en = 1 ;
}
else
{
/*
* no, turn calibrate LED on
* and clear enable flag
*/
GPIO.F1 = 1 ;
en = 0 ;
}
/*
* set watchdog prescaler
*/
OPTION_REG = 0b11111001 ;
/*
* start counter, to be interrupted by watchdog
*/
ctr = 0 ;
for(;
{
ctr++ ;
}
}
|
اتمنى من اهل الخبرة المساعدة
لاني مبتدئ
وهذا موقع المشروع الذي اخذت منه المشروع
http://www.micro-examples.com/public...odetector.html
و اذا احد لديه نفس المشروع ( كاشف المعادن) يعمل بPIC-بلغة السي-ميكروالكترونيكا...و اختلاف الدائره طبعا
اكون شاكر له كثير
وشكرا مقدما للجميع

