قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

عبدالرحمن صبري
:: مهندس ::
تاريخ التسجيل: Feb 2012
المشاركات: 9
نشاط [ عبدالرحمن صبري ]
قوة السمعة:0
قديم 27-03-2012, 04:23 PM المشاركة 1   
افتراضي عمل interface بين 2pic بواسطة rf module Twitter FaceBook Google+



انا بعمل interface بين pic 2 باستخدام uart
الدائره بتشتغل كده بس لما بغير ال wire بتاع uart ب rf
الدائره بتشتغل مره واحده بس وتثبت النتائج ومش بتقرأ
اي قيمه بعد كده مع العلم انها شغاله بال uart كويس
بدون rf


ال rf شغال وبتقرأ القيم بس في
اول ما الدائره تشتغل وبعد كده لا تقرأ نتائج
لازم افصل الكهربا عن الدائره واغير
وضع المفتاح وعند وصل الكهربا مره اخري
تتغير النتائج وهكذا
فال rf بتشتغل ولكن في اول البرنامج فقط

http://www.ram-e-shop.com/oscmax/cat...g/KIT_TxRx.jpg
عند الضغط علي ال sw تضئ ال leds لفتره ثم تطفأ وعند اعادة الضغط تضئ ثم تطفئ وهكذا


الكود : transmitter
void main() {
trisb.b0=0;
portb.b0=0;
trisb.b3=1;
UART1_Init(9600);
delay_ms(100);

while(1){
if(portb.b3==1){
UART1_Write('x');
delay_ms(250);
}

else if(portb.b3==0){
UART1_Write('l');
delay_ms(250);
}
}
}
كود receiver
void main() {
trisb.b1=0;
trisb.b2=0;
trisb.b3=0;
portb.b1=0;
portb.b2=0;
portb.b3=0;
UART1_Init(9600);
delay_ms(100);
while(1){

if(UART1_Data_Ready()) {
if(UART1_Read()=='x'){

portb.b1=1;
portb.b2=0;
portb.b3=0;
delay_ms(1000);
portb.b1=0;
portb.b2=1;
portb.b3=0;
delay_ms(1000);
portb.b1=0;
portb.b2=0;
portb.b3=1;
delay_ms(1000);
portb.b1=1;
portb.b2=1;
portb.b3=1;
delay_ms(1000);
}
else if(UART1_Read()=='l'){

portb.b1=0;
portb.b2=0;
portb.b3=0;
delay_ms(1000);

}



}

}
}

اذا امكن تساعدوني وجزاكم الله كل خير

اعلانات

الصورة الرمزية haysem
haysem
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2010
المشاركات: 173
نشاط [ haysem ]
قوة السمعة:0
قديم 27-03-2012, 06:25 PM المشاركة 2   
افتراضي حظك حلو لأستخدامى هذه الدائرة فى مشروع تخرجى


السلام عليكم
كود الأرسال و الأستقبال موضحين بالأسفل وتم تجربتهم حيث يتم أرسال الأشارة من خلال الكمبيوتر من خلال وصلة Rs232 ويتم الأستقبال فى الجهة الأخرى فى دائرة مركبة على الروبوت والدائرة تشتغل ولا تتأثر بأى ضوضاء سواء موبايل أو كمبيوتر وتعمل لمسافات طويلة

http://ram-e-shop.com/oscmax/catalog...oducts_id=1133

كود الأرسال مجرب عملى

كود:
/*
title :Transmitter controlled from computer
author : eng/haitham.khairy
date :3/10/2011
*/

// Manchester module connections
sbit MANRXPIN at RC0_bit;
sbit MANRXPIN_Direction at TRISC0_bit;
sbit MANTXPIN at RC1_bit;
sbit MANTXPIN_Direction at TRISC1_bit;
// End Manchester module connections

void main() {
    int i;
    char uart_rd=0;
    UART1_Init(9600);
    Delay_ms(100);
    // Initialize transmitter
    Man_Send_Init();
    // Configure AN pins as digital I/O
    ADCON1 = 0x06;
    // Disable comparators
    CMCON = 0x07;
    // Send "preample" byte
    while (1) {
        //
        for (i = 0; i < 5; i++)
            Man_Send(0x55);

        delay_ms(15);
        // Send "qualifier" byte
        Man_Send(0xAA);


        while (1) { // Endless loop
          uart_rd = UART1_Read(); // read the received data,
            if (uart_rd) // read the received data,) { // If data is received,
                break;

        }


        if (uart_rd == 'a') {
            Man_Send(0xCC);
        }
        if (uart_rd == 'b') {
            Man_Send(0x92);
        }

        delay_ms(20);
    }
}

كود الأستقبال مجرب عملى


كود:
/*
title : Reciver 
author : eng/haitham.khairy
date :3/10/2011
*/

// Manchester module connections
sbit MANRXPIN at RC0_bit;
sbit MANRXPIN_Direction at TRISC0_bit;
sbit MANTXPIN at RC1_bit;
sbit MANTXPIN_Direction at TRISC1_bit;
// End Manchester module connections

void main(){
    char temp=0, error=0, ErrorCount=0 , count=0;
    trisb = 0b00000000;
    portb = 0b00000000;
    // Configure AN pins as digital I/O
    ADCON1 = 0x06;
    // Disable comparators
    CMCON = 0x07;
    // Initialize Receiver
    Man_Receive_Init();
    // Wait for the "start" byte
    while (1) {
        // Attempt byte receive
        temp = Man_Receive(&error);
        if (temp == 0x55)          // "Start" byte, see Transmitter example
          break;                // We got the starting sequence
        if (error)                 // Exit so we do not loop forever
         break;
    }

    do {
        temp = Man_Receive(&error);      // Attempt byte receive
        if (error) {
            ErrorCount++;                // Update error counter
            if (ErrorCount > 20) {       // In case of multiple errors
                temp = Man_Synchro();    // Try to synchronize again
                ErrorCount = 0;          // Reset error counter
            }
        }
    } while (temp != 0xAA);
    
    while(1) {
    temp = Man_Receive(&error);      // Attempt byte receive
    if (temp == 0xCC) {
      portb = 0x80;
     break ;
    }
    if (temp == 0x92) {
      portb = 0x40;
    break;
    }
    
    else {
     portb = 0x20;
    }
    
        count++ ;
        if(count==5){
       temp = Man_Synchro();    // Try to synchronize again
        count = 0 ;
        }
        }      
        
}

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

عبدالرحمن صبري
:: مهندس ::
تاريخ التسجيل: Feb 2012
المشاركات: 9
نشاط [ عبدالرحمن صبري ]
قوة السمعة:0
قديم 28-03-2012, 12:55 PM المشاركة 3   
افتراضي


انا متشكر جدا يا بشمهندس هيثم
وجزاك اللخ كل خير
وانا متأسف علي التأخير
والحمد لله وجدت حل المشكله من مهندس خيّر مثلك
وكانت المشكله في وضع مكثف مع الدائره لعمل refresh
شكرا علي مجهودك


ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 586
نشاط [ ahmad abdullah ]
قوة السمعة:0
قديم 28-03-2012, 02:46 PM المشاركة 4   
افتراضي


اخي هل يمكنك وضع الدوائر للافادة


عبدالرحمن صبري
:: مهندس ::
تاريخ التسجيل: Feb 2012
المشاركات: 9
نشاط [ عبدالرحمن صبري ]
قوة السمعة:0
قديم 28-03-2012, 03:57 PM المشاركة 5   
افتراضي


هذه هي الدائره
http://a5.sphotos.ak.fbcdn.net/hphot...87168425_n.jpg
قم فقط بتوصيل tx بال transmitter
وال rx بال رسيفر
http://www.ram-e-shop.com/oscmax/cat...g/KIT_TxRx.jpg


ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 586
نشاط [ ahmad abdullah ]
قوة السمعة:0
قديم 28-03-2012, 05:56 PM المشاركة 6   
افتراضي


بارك الله فيك اخي الكريم ... شكرا لك


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 28-03-2012, 07:33 PM المشاركة 7   
افتراضي


انا متشكر جدا يا بشمهندس هيثم
وجزاك الله كل خير
وانا متأسف علي التأخير
والحمد لله وجدت حل المشكله من مهندس خيّر مثلك
وكانت المشكله في وضع مكثف مع الدائره لعمل refresh
شكرا علي مجهودك
سعيد جدا بمشاركتك
وللعلم كنت متابع للموضوع منذ اول يوم تم نشرة .

وهى بالفعل كما قلت عمل ريفرش باستمرار .

سعداء بانضمامك للقرية الالكترونية بين اخوتك واصدقائك


عبدالرحمن صبري
:: مهندس ::
تاريخ التسجيل: Feb 2012
المشاركات: 9
نشاط [ عبدالرحمن صبري ]
قوة السمعة:0
قديم 29-03-2012, 12:25 PM المشاركة 8   
افتراضي


شكرا يا بشمهندس ناصر ولكن الدائره اشتغلت لما
بشيل المكثف واضعه مره اخري وهكذا

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 01:12 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025