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

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

الصورة الرمزية abazer
abazer
:: مهندس ::
تاريخ التسجيل: May 2008
المشاركات: 29
نشاط [ abazer ]
قوة السمعة:0
قديم 10-12-2016, 08:10 PM المشاركة 1   
افتراضي ارجو المساعدة في استخدام ريموت السيارة (RF) للتحكم في atmega16 Twitter FaceBook Google+



بسم الله الرحمن الرحيم
السلام عليكم ورحمة الله وبركاته
قمت بشراء central lock خاص بالسيارت وهو يحتوي علي عدد 2 ريموت كنترول RF وبالتاكيد دارة استقبال RF في الجزء الخاص بالاستقبال
المطلوب هو استخدام الريموت للتحكم في اي شي من خلال متحكم دقيق ATMEGA16 علي ان يكون البرنامج بلغة Bascom AVR
قمت بفك دارة الاستقبال وربطها بلوحة اردوينو ومن خلال المكتبة RC Switch تمكنت من معرفة الكود الذي يرسله الريموت من خلال الاربعة ازرار خاصته وهي كالتالي:
كود:
Decimal: 6950993 (24Bit) Binary: 011010100001000001010001 Tri-State: not applicable PulseLength: 278 microseconds Protocol: 1
Raw data: 8656,300,820,852,256,852,256,296,824,844,268,288,828,844,264,288,828,288,832,284,832,284,832,836,272,288,828,288,832,284,828,288,828,292,828,840,268,288,828,840,272,284,832,284,832,288,828,840,272,

Decimal: 6950994 (24Bit) Binary: 011010100001000001010010 Tri-State: not applicable PulseLength: 277 microseconds Protocol: 1
Raw data: 8664,296,820,852,260,848,264,296,820,856,256,292,824,848,264,292,824,292,824,292,824,292,824,848,264,296,820,296,820,292,824,296,820,296,820,852,260,292,824,848,264,292,824,292,824,844,268,288,832,

Decimal: 6950996 (24Bit) Binary: 011010100001000001010100 Tri-State: not applicable PulseLength: 279 microseconds Protocol: 1
Raw data: 8660,296,824,844,264,844,268,288,828,840,272,288,828,840,272,284,832,284,832,284,832,284,836,836,272,284,832,284,832,284,832,284,832,284,836,144,264,296,820,852,260,296,820,848,264,288,828,292,824,

Decimal: 6951000 (24Bit) Binary: 011010100001000001011000 Tri-State: not applicable PulseLength: 278 microseconds Protocol: 1
Raw data: 8660,296,820,848,260,848,264,292,828,840,268,288,832,836,272,284,832,284,832,284,832,288,828,840,272,288,828,284,832,288,828,284,832,284,832,836,272,288,828,840,272,840,272,284,832,280,836,280,836,
ولكن انا لا اريد الاردوينو لذلك ارجو المساعدة في استخدام النافذه التسلسلية UART او اي طريقة اخري المهم ان تكون بلغة Bascom AVR لاني بقية الكود الخاص بمشروعي بلغة الباسكوم ولا اعرف بقية اللغات

اعلانات

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 11-12-2016, 05:33 AM المشاركة 2   
افتراضي


أخى
لا أعلم عن هذه المكتبة وهى ليست من اردوينو و لكنها من مصادر خارجية
لقد عملت كود للتعامل مع ريموت يباع فى السوق و ببساطة كما هو واضح فيما لديك أول 3 ارقام مكررة و مالم تحتاجها فلا داعى لقراءتها و أيضا فقط آخر رقم مختلف لكل زر و يكتفى به
الريموت الذى لدى يعمل بتغير عرض نبضته لذا باستخدام الوظيفة
BITWAIT x , SET/RESET
يمكنك الإنتظار حتى أول النبضة ثم
PULSEIN var , PINX , PIN , STATE
لتحديد عرضها و من ثم تعرف إن كانت 1 أم صفر
هذا ما وجدته فىما لدى ولا اعلم عن نوع الريموت الذى لديك و المشكلة أنك تحتاج التعرف على شكل الخرج من المستقبل

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

الصورة الرمزية abazer
abazer
:: مهندس ::
تاريخ التسجيل: May 2008
المشاركات: 29
نشاط [ abazer ]
قوة السمعة:0
قديم 11-12-2016, 06:31 AM المشاركة 3   
افتراضي


أخى
لا أعلم عن هذه المكتبة وهى ليست من اردوينو و لكنها من مصادر خارجية
لقد عملت كود للتعامل مع ريموت يباع فى السوق و ببساطة كما هو واضح فيما لديك أول 3 ارقام مكررة و مالم تحتاجها فلا داعى لقراءتها و أيضا فقط آخر رقم مختلف لكل زر و يكتفى به
الريموت الذى لدى يعمل بتغير عرض نبضته لذا باستخدام الوظيفة

يمكنك الإنتظار حتى أول النبضة ثم

لتحديد عرضها و من ثم تعرف إن كانت 1 أم صفر
هذا ما وجدته فىما لدى ولا اعلم عن نوع الريموت الذى لديك و المشكلة أنك تحتاج التعرف على شكل الخرج من المستقبل
اشكرك اخي العزيز ماجد وارجو ان تطول بالك معي فالموضوع يهمني بشدة
هذا برنامج الاردوينو
كود:
  
#include <RCSwitch.h>

RCSwitch mySwitch = RCSwitch();

void setup() {
  Serial.begin(9600);
  mySwitch.enableReceive(0); 
 // Receiver on inerrupt 0 => that is pin #2
}

void loop() {
  if (mySwitch.available()) {
    
    int value = mySwitch.getReceivedValue();
    
    if (value == 0) {
      Serial.print("Unknown encoding");
    } else {
      Serial.print("Received ");
      Serial.print( mySwitch.getReceivedValue() );
      Serial.print(" / ");
      Serial.print( mySwitch.getReceivedBitlength() );
      Serial.print("bit ");
      Serial.print("Protocol: ");
      Serial.println( mySwitch.getReceivedProtocol() );
    }

    mySwitch.resetAvailable();
  }
}
وهو فعلا من مصدر خارجي وهذا هو رابط المكتبة
https://codeload.github.com/sui77/rc-switch/zip/2.6.0

هل يمكن عمل نفس البرنامج بالباسكوم واستخدام المعالج atmega16A ؟؟
المشكلة انني لا اعرف خرج المستقبل ومن اين يبدأ
وانا مستعد للاجابة عن استفساراتك ومشكور مقدما


الصورة الرمزية abazer
abazer
:: مهندس ::
تاريخ التسجيل: May 2008
المشاركات: 29
نشاط [ abazer ]
قوة السمعة:0
قديم 11-12-2016, 07:09 AM المشاركة 4   
افتراضي


هذه صور الريموت ودارة الاستقبال
https://drive.google.com/open?id=0B-...XBTSFVScy1BY28
https://drive.google.com/open?id=0B-...09OOFFoVzllUTg
https://drive.google.com/open?id=0B-...XcteWtUd0pIRGM


التعديل الأخير تم بواسطة : abazer بتاريخ 11-12-2016 الساعة 07:13 AM

ماجد عباس محمد
:: نائب المشرف العام
::
تاريخ التسجيل: Jun 2009
الدولة: القاهرة - مصر
المشاركات: 12,214
نشاط [ ماجد عباس محمد ]
قوة السمعة:408
قديم 11-12-2016, 11:18 AM المشاركة 5   
افتراضي


أخى
المشكلة ليست فى طول بالى ولكن المسألة كما ذكرت لك ببساطة أمر أو تعليمة مثل
كود:
mySwitch.enableReceive(0);
كيف تترجم لكود باسكوم؟؟ أى ماذا تفعل فى الأردوينو و اى البروتوكولات تنشطها و بأى قيم؟
ما فعلته هو اننى استخدمت اوسيلوسكوب و رسمت شكل الموجة الخارجة و علمت كيف تقرأ و كتبت LOOP لتقرأ هذه النبضات


الصورة الرمزية abazer
abazer
:: مهندس ::
تاريخ التسجيل: May 2008
المشاركات: 29
نشاط [ abazer ]
قوة السمعة:0
قديم 11-12-2016, 01:26 PM المشاركة 6   
Thumbs up


أخى
المشكلة ليست فى طول بالى ولكن المسألة كما ذكرت لك ببساطة أمر أو تعليمة مثل
كود:
mySwitch.enableReceive(0);
كيف تترجم لكود باسكوم؟؟ أى ماذا تفعل فى الأردوينو و اى البروتوكولات تنشطها و بأى قيم؟
ما فعلته هو اننى استخدمت اوسيلوسكوب و رسمت شكل الموجة الخارجة و علمت كيف تقرأ و كتبت LOOP لتقرأ هذه النبضات
جزيت خيرا اخي واشكر لك تفاعلك
سابحث عن حل آخر مستعجل حتي اجد حل لهذه المشكلة


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 620
نشاط [ مشتاق الله ]
قوة السمعة:0
قديم 11-12-2016, 05:13 PM المشاركة 7   
افتراضي


حضرتك كان ممكن تستخدم هذا الموديول , مع العلم انك ستقوم بصناعة الريموت ارسال و استقبال , اى ستحتاج 2 ميكرو , و سترسل و تستقبل عن طريق uart و ستجد مشاريع تستخدم هذا الموديول كثيرة .
http://store.fut-electronics.com/col...itter-receiver

او حضرتك ممكن تستخدم ريموت التليفزيون , و تصنع دائرة استقبال بسيطة بالميكرو و تكون وفرت دائرة الارسال , لكن طبعا الاشارة فى هذه الحالة IR .

https://www.youtube.com/watch?v=teMUy1bbq8g


الصورة الرمزية abazer
abazer
:: مهندس ::
تاريخ التسجيل: May 2008
المشاركات: 29
نشاط [ abazer ]
قوة السمعة:0
قديم 11-12-2016, 08:05 PM المشاركة 8   
افتراضي


حضرتك كان ممكن تستخدم هذا الموديول , مع العلم انك ستقوم بصناعة الريموت ارسال و استقبال , اى ستحتاج 2 ميكرو , و سترسل و تستقبل عن طريق uart و ستجد مشاريع تستخدم هذا الموديول كثيرة .
http://store.fut-electronics.com/col...itter-receiver

او حضرتك ممكن تستخدم ريموت التليفزيون , و تصنع دائرة استقبال بسيطة بالميكرو و تكون وفرت دائرة الارسال , لكن طبعا الاشارة فى هذه الحالة IR .

https://www.youtube.com/watch?v=teMUy1bbq8g
حبيبي مشتاق الله للاسف هذا الموديول عندي ولكن ينقصه التصميم وكما قلت لابد من ان اصنع الريموت بنفسي
مشروعي هو التحكم في بوابات بناية ضخمة تقفل البوابات عن طريق عجلات لم اجد قطع غيار لها فقمت بتصميم لوحة للتحكم فيها تحتوي علي العديد من المكونات
line following sensor. للسير في خط مستقيم
ultrasonic sensor لتحديد المسافة
وجرسل انذار في حالة لمس البوابات
وكل هذه الاشياء تعمل بالصورة المثلي
ولكن تبقي التحكم في البوابات عن بعد لان افراد الامن يخرجون لتفتيش السيارات فيكون حامل الريموت معه ولا يصلح ريموت ir في هذه الحالة لبعد المسافة وعدم امكانية التوجيه
وكذلك شكل الريموت يجب ان يكون جيدا


التعديل الأخير تم بواسطة : abazer بتاريخ 11-12-2016 الساعة 08:11 PM
إضافة رد

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

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

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


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

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