• اگر سمپادی هستی همین الان عضو شو :
    ثبت نام عضویت

پرسش و پاسخ

robomash

Lily Delicated
ارسال‌ها
1,960
امتیاز
8,422
نام مرکز سمپاد
دبیرستان فرزانگان1
شهر
مشهد
سال فارغ التحصیلی
1393
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی نرم افزار
پاسخ : پرسش و پاسخ

دقيقا كدوم برنامه?من 2 سال پيش كه ديدم برنامه همه شون مثه هم نبود,مثلا برنامه روبورو با الكترو فرق ميكرد
 

فاطمه م.

فاطمه م.
ارسال‌ها
633
امتیاز
4,339
نام مرکز سمپاد
فرزانگان چهاردانگه
شهر
تهران
سال فارغ التحصیلی
95
مدال المپیاد
ادبی
دانشگاه
پلی تکنیک تهران
رشته دانشگاه
علوم کامپیوتر
پاسخ : پرسش و پاسخ

کسی جوابی واسه سوال من نداره؟ به خدا کارم گیره :((
 

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ

به نقل از فاطمـه :
سلام
من یه مشکلی داشتم و دارم با کامپسمون! کامپس ما(cmps03) به جای اینکه از 0 تا 255 بهمون عدد بده، از 190 تا 255 بهمون عدد میده (با I2C میخونم)
پایه های SDA و SCL درست متصل شدن، پین های 9 و 1 هم که به ترتیب مربوط به GNDو +5V هستن، رو هم وصل کردم، برای کالیبره کردن هم پین 6 رو به GND وصل میکنیم و کامپس رو میچرخونم
این هم تابع :
کد:
#define EEPROM_BUS_ADDRESS 0xc0 
unsigned char compass_read(unsigned char address) {
unsigned char data;
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS);
i2c_write(address);
i2c_start();
i2c_write(EEPROM_BUS_ADDRESS | 1);
data=i2c_read(0);
i2c_stop();
return data;
}
این هم کدیه که تو حلقه ی while مینویسم:
کد:
c=compass_read(1);    
       delay_ms(10);
       lcd_gotoxy(0,0);
       lcd_putchar(((c/100)%10)+'0');
       lcd_putchar(((c/10)%10)+'0');
       lcd_putchar((c%10)+'0');
       delay_ms(100);
با کامپایلر codevision AVR کار میکنم، برنامه ی تست کامپس هم همین دو قسمت رو داره که به پروجکت اضافه میکنم، اصلا کاری به الگوریتم های صاف کردن و صفر کردن هم ندارم تو این پروجکت
دیگه این که پروگرامرم mkII هستش و با AVR Studio پروگرام میکنم ( پروگرامر تو codevision کار نکرد)
و این که همین کامپس با همین 2 قطعه کد، و البته با همین ترتیب اتصال پین ها به میکرو و تغذیه روی یه برد دیگه کار کردو دقیقا 0 تا 255 رو برگردوند، چند تا چیز بین ما و اون تیم فرق میکرد یکی ورژن codevision! یکی پروگرامر که اگه اشتباه نکنم واسه اونا دلتا بود و تو همون codevision پروگرام میکردن، و میکرو و LCD!! و برد! که البته میکروی اون ها هم مثل ما ATmega16 بود و فیوز بیت هایی که پروگرام میکردن دقیقا فیوز بیت های ما بود، و در رابطه با برد هم دقیقا مثل ما پین های SCL و SDA رو به پین های B.0و B.1 وصل کرده بودن
راستی اون تیم از اسیلاتور خارجی استفاده کرده بود اما ما از اسیلاتور خود میکرو با فرکانس 4.000000
پین هایSCL و SDA رو با مقاومت های 1 کیلو پول آپ کردم، یادم نیست اون تیم هم این کارو کرده بود یا نه، گرچه من حتی بدون پول آپ کردن هم تست کردم اما نتیجه نگرفتم
به نظر شما مشکل چی میتونه باشه؟ باید پروگرامر عوض کنم؟ مشکل از ورژن کدویژنه؟!! یا به خاطر اسیلاتور خارجی؟!!
اگه بخوام اسیلاتور اضافه کنم، تو کدویزارد باید تنظیم خاصی انجام بدم؟!
اگه چیزی به ذهنتون نمیرسه، اگه بیش استاد یا هم تیمی هاتون، مشکل منو مطرح کنین ممنون میشم
اولا اینکه حیفه شما با این پروگرامر xmega کار نکنید!پروگرام عالیه و تنها جایی که کمتر بهش اشکال وارده همین پروگرامره(البته اگه منظورتون همون mkii اصل باشه)
اون مقاومت ها حتما باید باشه
کدویژن باگ داره که احتمالا به یکی از اونا برخوردین سعی کنید یه ورژن جدید تر یا با AVRstudio کد بزنید
یکم هم روی اسیلاتور ور برید شاید مشکل بر طرف شد(شاید کلاک i2c یه مقدار با ماژول ناسازگاری داشته باشه)
خلاصه روش های مختلف رو تست کنید تغییر پین ها اطمینان از تغذیه کلاک مناسب خروجی هگز مناسب و ...
چون ماژول رو نداشتم همینا به نظرم میاد
تو نت هم سرچ کنید به اینجا محدود نباشید
مثلا سایت های خارجی یا حتی eca
حتما نمونه کد و مدار براش هست
 
  • لایک
امتیازات: s!na

فاطمه م.

فاطمه م.
ارسال‌ها
633
امتیاز
4,339
نام مرکز سمپاد
فرزانگان چهاردانگه
شهر
تهران
سال فارغ التحصیلی
95
مدال المپیاد
ادبی
دانشگاه
پلی تکنیک تهران
رشته دانشگاه
علوم کامپیوتر
پاسخ : پرسش و پاسخ

بله درمورد پروتکل i2c داشتم مطالعه میکردم که اونجا هم گفته بود هر یک از باس ها باید پول آپ بشه
و روش های مختلف رو هم تست کردم قبلا همه چی درست بود، با 2 ورژن مختلف کدویژن هم تست کردم
امروز یه ورژن دیگه هم نصب کردم، و درست شد
از راهنماییتون ممنونم
فقط یه سوالی! کامپس داره سوت میکشه! هم قبلا میکشید هم الان، این عادیه؟ به نظر نمیرسه عادی باشه البته
 
  • شروع کننده موضوع
  • #65

m-hadi

کاربر فوق‌حرفه‌ای
ارسال‌ها
664
امتیاز
660
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
13
مدال المپیاد
نداریم کلن :دی
دانشگاه
علم و صنعت
رشته دانشگاه
برق
پاسخ : پرسش و پاسخ

ِه سری از کامپس ها سوت میکشن :D
نمیدونم جریانش چیه ولی مشکلی نداره :D بعضی ها هم سوت نمیزنن :D
 

loverman

کاربر فوق‌فعال
ارسال‌ها
109
امتیاز
296
نام مرکز سمپاد
helli 2
شهر
tehran
پاسخ : پرسش و پاسخ

با سلام و اینا خدمت دوستان عزیز ... :D
دنبال بیس مرصاد میگردم ( برای شبیه سازی دو بعدی فوتبال )
سایت خودش که بالا نمیاد
توی نت یه ورژن پیدا کردم که make میشه ولی وقتی میخام startAll کنم سیستم هنگ میکنه :D
اگه میشه یکی لینک برای دانلود بده [-o<
 

kkkkkkkkk

کاربر جدید
ارسال‌ها
1
امتیاز
0
نام مرکز سمپاد
hell
شهر
tehran
پاسخ : پرسش و پاسخ

منم خیلی دنبال مرصاد گشتم ولی پیداش نکردم
اگه میشه دوستان زودتر لینک بدن
 

esfrwms

کاربر خاک‌انجمن‌خورده
ارسال‌ها
2,325
امتیاز
19,283
نام مرکز سمپاد
فرزانگان
شهر
رشت
سال فارغ التحصیلی
92
دانشگاه
NSU
رشته دانشگاه
General medicine
پاسخ : پرسش و پاسخ

نمیدونم
سوالم جاش اینجاس یا ن
من رباتیک دوس دارم
شما چ جوری یاد گرفتین؟
کلاس رفتین؟
 

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ

به نقل از shnk :
نمیدونم
سوالم جاش اینجاس یا ن
من رباتیک دوس دارم
شما چ جوری یاد گرفتین؟
کلاس رفتین؟
والا اونطوری که باید کلاس رباتیک وجود نداره
چون خود رباتیک از سه علم الکترونیک و مکانیک و کامپیوتر تشکیل میشه و مثلا برای ربات هایی مثل فوتبالیست کار ساختشو یه تیم انجام میدند که هر نفر مسئول قسمتی از ربات هست و یکی نمیاد همه رو یاد بگیره(اگه بگیره که چه بهتر)
برای الکترونیک یه میکروکنترلر و کار با مدارات موردنیاز ربات مثل کار با اولتراسونیک و مادون قرمز اینا رو بلد باشید
مکانیک رو دقیق نمیدونم اما بچه های ما نشستند فیزیک هالیدی رو خوندن بخش مکانیک بعدش طراحی با نرم افزار های مهندسی مثل solid work رو یاد گرفتند
برنامه نویسی هم چیز خاصی نیست فقط باید به زبانش مسلط باشید و خوب ایده و الگوریتم بدید
 

robomash

Lily Delicated
ارسال‌ها
1,960
امتیاز
8,422
نام مرکز سمپاد
دبیرستان فرزانگان1
شهر
مشهد
سال فارغ التحصیلی
1393
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی نرم افزار
پاسخ : پرسش و پاسخ

يه مشكل فوري و جدي
ما واسه اندازه گيري فاصله از سنسورهاي شارپ استفاده كرديم
وقتي اينا رو وصل ميكنيم به ميكرو و ميگيم كه عدد adc‏ شو چاپ كنه ميكرو ديوونه ميشه,يه دقيقه عدد adc ‎‏ رو ميده,دقيقه بعد واسه خودش كاراكترهاي چرت و پرت چاپ ميكنه
الانم هركي يه چيز ميگه,يكي ميگه شارپ نويز زياد داره به خاطر اونه,يكي ميگه نه شارپ خيلي نويز نداره,يكي ميگه از كاهش ولتاز vcc‏ و gnd‏ ه, يكي ميگه چون pull down‏ نذاشتي اينجوريه
لطفا اگه اطلاعاتي راجب اين سنسورها داريد سريعتر بگيد شايد بتونه مشكلمون رو حل كنه
واقعا ضروري و فوريه
 

فاطمه م.

فاطمه م.
ارسال‌ها
633
امتیاز
4,339
نام مرکز سمپاد
فرزانگان چهاردانگه
شهر
تهران
سال فارغ التحصیلی
95
مدال المپیاد
ادبی
دانشگاه
پلی تکنیک تهران
رشته دانشگاه
علوم کامپیوتر
پاسخ : پرسش و پاسخ

به نقل از Lily Delicated :
يه مشكل فوري و جدي
ما واسه اندازه گيري فاصله از سنسورهاي شارپ استفاده كرديم
وقتي اينا رو وصل ميكنيم به ميكرو و ميگيم كه عدد adc‏ شو چاپ كنه ميكرو ديوونه ميشه,يه دقيقه عدد adc ‎‏ رو ميده,دقيقه بعد واسه خودش كاراكترهاي چرت و پرت چاپ ميكنه
الانم هركي يه چيز ميگه,يكي ميگه شارپ نويز زياد داره به خاطر اونه,يكي ميگه نه شارپ خيلي نويز نداره,يكي ميگه از كاهش ولتاز vcc‏ و gnd‏ ه, يكي ميگه چون pull down‏ نذاشتي اينجوريه
لطفا اگه اطلاعاتي راجب اين سنسورها داريد سريعتر بگيد شايد بتونه مشكلمون رو حل كنه
واقعا ضروري و فوريه
همه ی اینایی ک میگن رو هم من شنیدم اما بعضی از مشکلات تو مرحله ی چاپ روی ال سی دی بوجود میان، ورژن هایی از کد ویژن ک با alcd.h کار میکنن، تو راه اندازی ال سی دی مشکل دارن، برخی اوقات gotoxy ـشون کار نمیکنه، بعضی اوقات یک دفعه چرت و پرت چاپ میکنه و برخی اوقات هم ال سی دی یه دفعه از کار وای میسه، انیایی ک میگم هم تجربه ی ما بوده هم خیلی های دیگه پس چرت و پرت نیس! ورژن 2.4 کدویژن میشه گف از بهترن ورژناس هم از لحاظ باگ هاش هم این ک با lcd.h کار میکنه، تست کنین شاید مشکلتون بر طرف شد :)
 

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ

بالاخره کم کم چیز هایی که درباره کامپایلر های مورد استفادتون گفتم احتمالا داره درست در میاد
اگه با avr studio چیزی کار میکردید بهتر میشد دیگه الاف باگ های بیخودی این کامپایلر نمیشدید
گزینه ها:
1- از یه کتابخونه LCD دیگه استفاده کنید
2- تغذیه رو با ثبات کنید و از کیفیت خروجیش مطمئن بشید
3- تغذیه سنسور رو از میکرو جدا کنید و زمین هاشون رو هم با یه فریت بید به هم وصل کنید
4- از همین کد برای اندازه گیری مقدار یه چیز دیگه تست کنید ببینید ایرادی نباشه
5- از ورژن های مختلف کدویژن یا کامپایلر های دیگه استفاده کنید
همین ها به ذهنم میرسه فعلا
 

فاطمه م.

فاطمه م.
ارسال‌ها
633
امتیاز
4,339
نام مرکز سمپاد
فرزانگان چهاردانگه
شهر
تهران
سال فارغ التحصیلی
95
مدال المپیاد
ادبی
دانشگاه
پلی تکنیک تهران
رشته دانشگاه
علوم کامپیوتر
پاسخ : پرسش و پاسخ

راست میگن، سر همین باگ های کدویژن ما چ بلا ها ک سرمون نیومد :(( :-" ی کامپس سالم ک باید خروجیش 0 تا 255 باشه، 190 تا 255 میداد! ال سی دی مون هم از کار اوفتاد و ... :(( :-"
 
  • شروع کننده موضوع
  • #74

m-hadi

کاربر فوق‌حرفه‌ای
ارسال‌ها
664
امتیاز
660
نام مرکز سمپاد
علامه حلی
شهر
تهران
سال فارغ التحصیلی
13
مدال المپیاد
نداریم کلن :دی
دانشگاه
علم و صنعت
رشته دانشگاه
برق
پاسخ : پرسش و پاسخ

به نقل از Lily Delicated :
يه مشكل فوري و جدي
ما واسه اندازه گيري فاصله از سنسورهاي شارپ استفاده كرديم
وقتي اينا رو وصل ميكنيم به ميكرو و ميگيم كه عدد adc‏ شو چاپ كنه ميكرو ديوونه ميشه,يه دقيقه عدد adc ‎‏ رو ميده,دقيقه بعد واسه خودش كاراكترهاي چرت و پرت چاپ ميكنه
الانم هركي يه چيز ميگه,يكي ميگه شارپ نويز زياد داره به خاطر اونه,يكي ميگه نه شارپ خيلي نويز نداره,يكي ميگه از كاهش ولتاز vcc‏ و gnd‏ ه, يكي ميگه چون pull down‏ نذاشتي اينجوريه
لطفا اگه اطلاعاتي راجب اين سنسورها داريد سريعتر بگيد شايد بتونه مشكلمون رو حل كنه
واقعا ضروري و فوريه

دوتا كار بكنيد
١ اينكه بين خروجي و گراند يه خازن ١٠ ميكرو بزاريد
و دو هم اينكه اگه ميتونيد بريد رو كر ويژن ٢.٣.٣
 

FnS

کاربر فعال
ارسال‌ها
55
امتیاز
43
نام مرکز سمپاد
شهید بهشتی بابل
شهر
فریدونکنار
پاسخ : پرسش و پاسخ

جالبه علی رغم اینکه زبان c بسیار قوی تر از بیسیک عمل می کنه اما کامپایلر های مثل بسکام اصلا سر این موارد مشکلی ایجاد نمی کنند
و باگهای اینچنینی ندارند
 

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ

به نقل از FnS :
جالبه علی رغم اینکه زبان c بسیار قوی تر از بیسیک عمل می کنه اما کامپایلر های مثل بسکام اصلا سر این موارد مشکلی ایجاد نمی کنند
و باگهای اینچنینی ندارند
از باگ هاش که خبر ندارم
یه دلیل احتمالی کمبود باگ ها میتونه محدود بودن کامپایلر باشه
 

FnS

کاربر فعال
ارسال‌ها
55
امتیاز
43
نام مرکز سمپاد
شهید بهشتی بابل
شهر
فریدونکنار
پاسخ : پرسش و پاسخ

تا منظور از محدود بودن چی باشه
ما که هر کار ی خواستیم باهاش کردیم جواب داد
 

SR

کاربر فوق‌حرفه‌ای
ارسال‌ها
604
امتیاز
1,157
نام مرکز سمپاد
شهید اژه ای 1
شهر
اصفهان
سال فارغ التحصیلی
00
مدال المپیاد
درست نخوندم به جایی نرسیدم
رشته دانشگاه
مهندسی برق
پاسخ : پرسش و پاسخ

به نقل از FnS :
تا منظور از محدود بودن چی باشه
ما که هر کار ی خواستیم باهاش کردیم جواب داد
اونطور که بنده با بیسیکی ها سر و کار داشتم بعضا از دسترسی نداشتن به رجیستر ها حجم کد و سرعت اجرا ناراضی بودند
 

FnS

کاربر فعال
ارسال‌ها
55
امتیاز
43
نام مرکز سمپاد
شهید بهشتی بابل
شهر
فریدونکنار
پاسخ : پرسش و پاسخ

دسترسی مستقیم به همه رجیسترها هست حتی میشه اسمبلی کد زد که اینطوری دیگه سریعترین حالته
در مورد سرعت هم این دیگه بستگی به خود برنامه نویس داره .....
اگه کاملا از متد گفته شده تو خوده راهنمایه برنامه استفاده کنه اونوقت سرعت تو بعضی از جاها مثل فراخوانی تابع ها یا زیر روال ها پایین می آد
اما اگه یه مقدار ابتکار داشته باشی کد سریعتر و قلبل قبول تر می شه اینو تست کردیم جواب داده :D
 

robomash

Lily Delicated
ارسال‌ها
1,960
امتیاز
8,422
نام مرکز سمپاد
دبیرستان فرزانگان1
شهر
مشهد
سال فارغ التحصیلی
1393
دانشگاه
صنعتی شریف
رشته دانشگاه
مهندسی نرم افزار
پاسخ : پرسش و پاسخ

مشكلمون حل شد
لاين هاي vcc‏ كه به سنسورها رفته بود يه تيكه خيلي باريك بود و با ميكرو هم مشترك بود,همون باعث ميشد وقتي ميكرو و سنسورها هم زمان روشن بشن ميكرو افت ولتاز داشته باشه و هنگ كنه. تغذيه سنسورها رو از ميكرو جدا كرديم و gnd‏ ها رو به هم وصل كرديم
 
بالا