السلام عليكم و رحمة الله و بركاتة
انا شوفت المشروع دا على القرية بس اريد معرفة العناصر و هل الكودصح ام خطا
دا الموضوع
http://www.qariya.com/vb/showthread.php?t=55662
و دى الدائرة
اريد ان اعرف ما مكونات هذة الدائرة و هل هى صحيحة ام بها اخطاء
و دى دائرة الاشعة
و اريد ان اعرف كيف اصل دائرة ارسال الاشعة مع مستقبلات الاشعة بى دائرة الميكرو كنترول
و اسف على الازعاج و لكن لدى اخر سوال
دا كود الدائرة
unsigned short forward[4]= {0x11,0x22,0x44,0x88 };
unsigned short backword[4]= {0x88,0x44,0x22,0x11};
unsigned short right[4]= {0x18,0x24,0x42,0x81};
unsigned short left[4]= {0x81,0x42,0x24,0x18};
const delay = 7; //ideal 6ms delay between each step
const waitDelay = 3000;
const move_wait = 1000;
unsigned short leftSensor,rightSensor;
unsigned short counter;
unsigned direction,no_of_steps;
unsigned short i=0;
void stopMotors() {
PORTB = 0x0;
}
void goForward(unsigned int distance, unsigned short type) {
unsigned int j;
unsigned short i=0;
unsigned int stps;
if (type == 0) {
stps = (int) (distance * 13.8);
} else { stps = distance; }
for(j=1;j<=stps;j++) {
PORTB = forward[i];
delay_ms(delay);
if(i==3) {i=0; }
else { i++; }
}
stopMotors();
}
void goRight(unsigned int degree) {
unsigned int j;
unsigned short i=0;
unsigned int stps;
stps = (int)(degree * 1.77);
for(j=1;j<=stps;j++) {
PORTB = right[i];
delay_ms(delay);
if(i==3) {i=0; }
else { i++; }
}
stopMotors();
}
void goLeft(unsigned int degree) {
unsigned int j;
unsigned short i=0;
unsigned int stps;
stps = (int)(degree * 1.77);
for(j=1;j<=stps;j++) {
PORTB = left[i];
delay_ms(delay);
if(i==3) {i=0; }
else { i++; }
}
stopMotors();
}
void goBackword(unsigned int distance, unsigned short type) {
unsigned int j;
unsigned short i=0;
unsigned int stps;
if (type == 0) {
stps = (int) (distance * 13.8);
} else { stps = distance; }
for(j=1;j<=stps;j++) {
PORTB = backword[i];
delay_ms(delay);
if(i==3) {i=0; }
else { i++; }
}
stopMotors();
}
void main() {
CMCON = 0x07; // for PIC16F628 only
PORTB = 0x0;
TRISB = 0x0; // Port B output
TRISA = 0xff; // Port A input
counter = 0;
delay_ms(waitDelay);
while(1) {
leftSensor = PORTA.f0;
rightSensor = PORTA.f1;
// wait until the move is setteled
if ((leftSensor ==0)||(rightSensor == 0)) {
delay_ms(500);
goForward(3,0); // go close to check the sensors again
leftSensor = PORTA.f0;
rightSensor = PORTA.f1;
}
//Check for sensors
if ((leftSensor == 0) && (rightSensor == 0)) {
delay_ms(move_wait);
goBackword(10,0);
delay_ms(move_wait);
goLeft(90);
delay_ms(move_wait);
}
else if ((leftSen
و ما تردد الكريستالة حتى يتناسب مع هذا التردد لانة لاتوجد اى معلومات عنه
ارجو المساعدة و جزاكم الله كل خير