Open source programs

  • شروع کننده موضوع شروع کننده موضوع mhmmdshirazi
  • تاریخ شروع تاریخ شروع

mhmmdshirazi

کاربر فوق‌حرفه‌ای
ارسال‌ها
840
امتیاز
2,453
نام مرکز سمپاد
شهید Helli
شهر
tehran
سال فارغ التحصیلی
1390
مدال المپیاد
:دی خواب موندم!!
دانشگاه
دانشگاه امیر کبیر
رشته دانشگاه
مهندسی مکاترونیک
تلگرام
اینستاگرام
من میخوام برنامه های روباتمون رو open souece کنم که شاید اونایی که کمتر از برنامه نویسی میدونن یا کمبود امکانات دارن یا وقت کسب تجربه شو ندارن بتونن با الگو گرفتن از این نمونه ها سطح مسابقات رو بالا ببرن !
برنامه برای لیگ Junior soccer هستش.
 
پاسخ : Open source programs

اسم تاپیک از Junior soccer open source به Open source programs تغییر داده شد تا کاربرد و استقبال بیشتری داشته باشه.
پست داده میشه تا تاپیک جزو تاپیک های آپدیت شده قرار بگیره و چشم افراد بیشتری بهش بخوره !
دوستانی که روباتیکی بودید و یا هستید، از همه تون خواهش میکنم از این طریق به افراد تازه کار و یا افرادی که از امکانات آموزشی خوبی برخوردار نیستن و به طور کلی سطح روباتیک دانش آموزی کمک کنید.
خودم به زودی تمام برنامه هایی رو که هنوز دارم اینجا قرار میدم.
 
پاسخ : Open source programs

برنامه هایی که میزارم شاید نسبت به برنامه های افرادی که ادعاهای آنچنانی دارن آش دهن سوزی نباشه،
اما به نظرم ممکنه بتونه به کسایی که میخوان شروع کنن کمک های خوبی کنه.
یکی از برنامه های تست، تیم Unique در لیگ Junior Soccer B Light Weight
برنامه ی تعقیب خط سیاه و سفید تیم Unique، این برنامه برای اولین مسابقه مون توی تهران اپن 2011 بود، جوجو بودیم :))
 
پاسخ : Open source programs

به نقل از فاطمه م. :
یکی از برنامه های تست، تیم Unique در لیگ Junior Soccer B Light Weight

خب من الان این برنامه رو خوندم 2 جاشو درست نفهمیدم ، اول جاهایی مثل
کد:
(((r/100)%10)+'0')
این و مراحل بعدیش آیا برای اینه که یه عدد چند رقمی رو رقماشو از هم جدا کنین ؟

بعدیشم اینه
کد:
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();

شما در کل فقط یک بایت از کامپس میخونین؟! :|
 
پاسخ : Open source programs

به نقل از AmirH.R :
خب من الان این برنامه رو خوندم 2 جاشو درست نفهمیدم ، اول جاهایی مثل
کد:
(((r/100)%10)+'0')
این و مراحل بعدیش آیا برای اینه که یه عدد چند رقمی رو رقماشو از هم جدا کنین ؟

بعدیشم اینه
کد:
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();

شما در کل فقط یک بایت از کامپس میخونین؟! :|

این به نظر من درسته!

کد:
 unsigned char cmps03()
 {
 unsigned char cmp03;
 i2c_start();
 i2c_write(0xC0);
 i2c_write(1);
 i2c_start();
 i2c_write(0xC0|1);
 cmp03= i2c_read(0);
 i2c_stop();
 return cmp03;
 }
 
پاسخ : Open source programs

به نقل از niyayesh :
این به نظر من درسته!

کد:
 unsigned char cmps03()
 {
 unsigned char cmp03;
 i2c_start();
 i2c_write(0xC0);
 i2c_write(1);
 i2c_start();
 i2c_write(0xC0|1);
 cmp03= i2c_read(0);
 i2c_stop();
 return cmp03;
 }

آهان خوب پس همون کد بالا هم دقیقا همین بود و درسته من یادم نبود رجیستر شماره 1 فقط 1 بایت 0-255 خروجی میده.

اینم کد من:
کد:
int getCmps03(){
  float calc = 1000.0;
  int Byte1,Byte2;
  
  //--------First byte receive--------//

  i2c_start();
  i2c_write(0xC0);		//Connect to compass           
  i2c_write(2);			//Write Register 2(First byte request)
  i2c_stop();
  
  i2c_start();
  i2c_write(0xC1);//Connect again                                
  Byte1 = i2c_read(0);//Read first byte                
  i2c_stop();

  //--------Second byte receive--------//  
  
  i2c_start();
  i2c_write(0xC0);           
  i2c_write(3);
  i2c_stop();
  
  i2c_start();
  i2c_write(0xC1);                 
  Byte2 = i2c_read(0);
  i2c_stop();

  //--------Convert received data--------//

  calc = (Byte1*256)+Byte2;	//Combine received data
  calc /= 10; 			//Get angle between 0-359.9
  
  return calc;
  
}

خروجیش 0-360 درجه با دقت 0.1
 
پاسخ : Open source programs

به نقل از AmirH.R :
خب من الان این برنامه رو خوندم 2 جاشو درست نفهمیدم ، اول جاهایی مثل
کد:
(((r/100)%10)+'0')
این و مراحل بعدیش آیا برای اینه که یه عدد چند رقمی رو رقماشو از هم جدا کنین ؟

بعدیشم اینه
شما در کل فقط یک بایت از کامپس میخونین؟! :|
اولین قسمتش برای جدا کردن تعداد رقم هاست. اون
کد:
+'0'
هم برای تفاضل کد اسکیه.
خب چ مشکلی داره ؟ 0 - 255 رو میخوندیم دیگه.
 
پاسخ : Open source programs

خب دیگه من اول یادم نبود فک کردم رجیسترای ۱ و ۲ ماله ۰-۳۶۰ بودن ، رجیستر ۳ ماله ۰-۲۵۵ ، بعدش که کد خودمو چک کردم فهمیدم جابجا یادم بوده و در واقع ۱ ماله ۰-۲۵۵ ه. :-"
 
پاسخ : Open source programs

مائم در این راستا میخوایم یه کمک شایانی به جامعه روبوتیک بکنیم :دی
کل کد رو به ترتیب زمان و ورژن بندی شده و جدا شده برای گلکیپر و فروارد میتونید از این لینک بردارید
https://www.dropbox.com/sh/rkwobsyiig23chu/AADTUii2_qBjTYi8Jp7bQHyKa
 
پاسخ : Open source programs

بچه های تیم SQR (دبیرستان شهید قدوسی قم) از جمله شوالیه ی سبز و amirlcdavr دارن توی این وبلاگ فایل های سورس پروژه های روباتیکی و الکترونیکی و مکانیکی خودشون رو به علاوه ی بعضی از کد هاشون قرار میدن.
 
پاسخ : Open source programs

سلام کسی برنامه cmps03 به زبان کدویژن رو داره من از نت یکی رو دانلود کردم نشد ممنون میشم اگه کسی داره بزاره



nadiye: تاپیکی که زده بودید،ترکیب شد.لطفا برای بحث های نزدیک به هم تاپیک تکراری ایجاد نکنید.
 
پاسخ : Open source programs

کد:
lcd_clear();
    i2c_start();
    i2c_write(0xc0);
    i2c_write(0x01);
    i2c_start();
    i2c_write(0xc1);
    a=i2c_read(0);
    a=a*1.4117647058823529411764705882353;
    i2c_stop();
    
    itoa(a,p);
    lcd_puts(p);
    delay_ms(100);
    lcd_clear();

که برای کار کردن باید این ها رو اول برنامه اضافه کنید:

کد:
#include <delay.h>
#include <stdlib.h>
  int a;   
  char *p;

این کد برای خواندن کامپس با 1 درجه دقته!
میشه این ماژول رو با 0.1 درجه دقت هم خوند که مسلما توی هیچ رباتی به این میزان دقت نیاز نیست ولی اگه خواستید بگید کد اون رو هم بذارم.
کد برای کالیبره کردن هم داره که اگه خواستید اون رو هم بگید!
اگه کلا جواب نگرفتید اطلاع بدید تا بحث کنیم.من کل امروز رو با این ماژول کار می کردم و خیلی چیزا ازش پیدا کردم!


مدیر: لطفا پست متوالی ندید.
 
Back
بالا