زبانهای برنامه نویسی
ساختن ID Callerدر ویندوز XP: برای نشان داده شدن تلفن تماس گیرنده در ویندوز XP ،یک ابزار مناسب در خود ویندوز هست.فقط کافیست هر بار که ویندوز راه اندازی و فعال می شود، به طور خود کار اجرا شده و آماده و گوش به زنگ تماسها باشد.
WINDRIVE\program files\windows NT\dialer.exe به جای WINDRIVE ،درایو ویندوز خود را بنویسید.
از این پس هر کس با شما تماس بگیرد،به محض شنیدن صدای زنگ،شماره ی وی در قسمت سمت چپ صفحه ی به نمایش در می آید. مخفی کردن کامل برخی فایل ها: اگر نمی خواهید پوشه های مخفیتان(Hidden) را کسی به حالت غیر مخفی(Archive, Read only) برگرداند و آنها را مشاهده کند، می توانید گزینه Show all files را درFolder option عملا غیر فعال سازید.به طوریکه به شکل خودکاراز این حالت خارج شود. برای انجام این کار،ابتدا برنامه یregedit را اجرا کنید. حال در پنجره ی باز شده،کلید F3 را بزنید(F3 جهت جستجوی یک کلید در رجیستری می باشد. ) سپس کلمه ی showall را تایپ کرده و find next را کلیک کنید(گزینه ی keys فعال باشد.)حال کلید مورد نظر در Panel چپ ظاهر می شود(اگر کلمه ی Showall را مشاهده نکردید،باز هم F3 را بزنید تا به کلمه ی مورد نظر برسید.) پس از یافتن آن در Panel راست،روی گزینه ی checkedvalue دابل کلیک کنید و مقدار آن را از 1 به 0 تغییر دهید.سپس از رجیستری خارج شوید. حال My Computer را باز کرده و از منوی Tools،کزینه ی Folder option را انتخاب کنید. به تب View رفته و در قسمت Hidden files and folder گزینه Do not show hidden Files and Folders را فعال کنید و Ok را بزنید.از این پس هر گاه هر شخصی بخواهد فایلهای مخفی را بر روی کامپیوتر شما آشکار کند(حتی خود شما!)، این کار امکان پذیر نخواهد بود،مگر اینکه دوباره پوشه ی checkedvalue را به 1 تغییر دهید. کلید میانبر برای تایپ آدرس در Internet Explorer: در مرورگر (IE) برای تایپ آدرسهایی با پسوند COM،تنها کافیست نام وب سایت مورد نظر را تایپ کنید و سپس کلید Ctrl+Enter را بزنید تا عبارت http://www به ابتدا و پسوند COM به انتهای نامی که وارد کرده اید،اضافه شود. بدون بوت کردن،کامپیوتر را Restart کنید: بعضی از مواقع که قصد راه اندازی مجدد کامپیوتر را داریم _بوت مجدد_ یا زمانی که برنامه ای را نصب کرده ایم و برای تکمیل روند نصب باید ویندوز را بوت کنیم.برای Restart کردن،بدون بوت کامپیوتر و اتلاف وقت،در ویندوز XP باید پس از دیدن پیغام زیر: You must restart your computer. Yes No No را کلیک کنیدتا ویندوز شما Restart نشود، سپس Log off را کلیک کنید.حالا اگر در این کادر دکمه ی Log off را کلیک کنید، انگار که کامپیوتر را راه اندازی مجدد کرده اید،ولی در عرض کمتر از 1 ثانیه. تبدیل عبارت میانوندی به پسوندی.... #include #include #include #include #include #define MAX 100 typedef struct STACK { char Stk[MAX]; int Stack_Top; } Stack; typedef char String[MAX]; enum Boolean {False,True}; //////////////////////////////////////////////// Boolean isEmpty(Stack *s) { if(s->Stack_Top<0) return True; return False; } //////////////////////////////////////////////// Boolean isFull(Stack *s) { if(s->Stack_Top==MAX) return True; return False; } //////////////////////////////////////////////// char top(Stack *s) { if(!isEmpty(s)) return (s->Stk[s->Stack_Top]); return 0; } //////////////////////////////////////////////// Boolean bPop(Stack *s,char& ret) { if(isEmpty(s)) return False; ret=s->Stk[s->Stack_Top]; s->Stack_Top--; return True; } //////////////////////////////////////////////// Boolean bPush(Stack *s,char var) { if(isFull(s)) return False; s->Stk[++s->Stack_Top]=var; return True; } //////////////////////////////////////////////// Boolean identifyOperator(char ch) { if(ch=='+' || ch=='-' || ch=='*' || ch=='/' || ch=='^' || ch==')') return True; return False; } //////////////////////////////////////////////// Boolean bFindError(Stack *s,String str) { int brace=0; int cnt=0; int len=strlen(str); char back; if(identifyOperator(str[0])) return False; for(cnt=0;cnt if(identifyOperator(str[cnt]) && identifyOperator(str[cnt+1]) && str[cnt]!=')') return True; if((isdigit(str[cnt]) || isalpha(str[cnt])) && str[cnt+1]=='(') return True; if((isdigit(str[cnt+1]) || isalpha(str[cnt+1])) && str[cnt]==')') return True; if(str[cnt]=='(') { if(!bPush(s,str[cnt])) return True; brace++; } else if(str[cnt]==')') { if(!bPop(s,back)) return True; brace--; } if(!isalpha(str[cnt]) && !isdigit(str[cnt]) && !identifyOperator(str[cnt]) && str[cnt]!='(') return True; } if(brace!=0) return True; return False; } //////////////////////////////////////////////// Boolean bPrcd(char op1,char op2) { if(op1=='(' || op2=='(') return False; if(op1==')') return True; switch(op1) { case '+' : case '-' : if(op2=='+' || op2=='-') return True; else return False; break; case '*' : case '/' : if(op2=='+' || op2=='-' || op2=='*' || op2=='/') return True; else return False; break; case '^' : if(op2=='^') return False; else return True; break; } //end of switch return False; } //////////////////////////////////////////////// Boolean bTransfer(String infix,String postfix) { int i,pos=0; char c; char top_item; Stack s; s.Stack_Top=-1; for(i=0;(c=infix[i])!='\0';i++) { if(isdigit(c) || isalpha(c)) postfix[pos++]=c; else { while(!isEmpty(&s) && bPrcd(top(&s),c)) { if(!bPop(&s,top_item)) return False; if(top_item!='(') postfix[pos++]=top_item; } //end of while if(c==')' && !bPop(&s,top_item)) return False; if(c==')' && !bPop(&s,top_item)) return False; if(c!=')' && !bPush(&s,c)) return False; } //end of eles } //end of for while(!isEmpty(&s)) { if(!bPop(&s,top_item)) return False; if(top_item!='(') postfix[pos++]=top_item; } //end of while return True; } //////////////////////////////////////////////// void main(void){ Stack s; s.Stack_Top=-1; String str,str2; //init str2 by NULL for(int i=0;i str2[i]='\0'; clrscr(); cout<<"Welcome"< cout<<"This is the data structure example."< cout<<"This program has been chenged the infix expression to postfix."< cout< gets(str); if(!bFindError(&s,str)) { bTransfer(str,str2); cout<<"Postfix expression is : "< } else { cout< cout<<"Accept them and try again..."< } getch(); } قسمت دوم: منابع تغذيه يكي از بخشهاي مهم و حياتي در كليه سيستمهاي الكتريكي منابع تغذيه هستند. هرچه مدارات الكترونيكي پيچيده تر باشند به منابع تغذيه دقيقاري نياز داريم بعلاوه با افزايش توان مصرفي روبات حجم منبع تغديه نيز افزايش ميبايد كه اين مسأله ممكن است مشكلاتي از جمله افزايش وزن و حجم اشغال شده را در پي داشته باشد. از اين رو انتخاب يك منبع تغذيه متناسب با نياز از اهميت بسزايي برخوردار است. در نظر بسياري از مصرف كنندگان اكثر منابع تغذيه شبيه هم مي باشند كه البته اين مساله درست نيز مي باشد چون كه طبيعت بازار بر اين است كه اكثر توليدكنندگان تمام هم و غم خود را بر روي عملكرد منبع تغذيه ( توليد ولتاژ خروجي ) مي گذارند نه بر روي طراحي.بنابر اين هنگامي كه مي خواهيد منبع تغذيه اي بخريد به نكات زير توجه كنيد :در منبع تغذيه اي كه تهيه مي كنيد به مسايل حرارتي آن توجه كنيد. اگر منبع تغذيه اي كه تهيه مي كنيد در هنگام كار كردن از لحاظ حرارتي دماي قابل قبولي نداشته باشد در اين صورت براي خنك كردن منبع نياز به فن خواهيد داشت و بايد به نوبه خود هزينه اي براي تهيه فن، سيم كشيهاي مورد نياز و مدارات خاص آن صرف كنيد.امروزه مواد جديدي به بازار آمده كه حرارت را بهتر انتقال مي دهند و در كنار استفاده از قطعات با كيفيت بهتر و همچنين رعايت نكات طراحي باعث بهبود قابل توجه در مسايل حرارتي مي شود.بعضي منابع ساخته شده از دماي 0 درجه سلسيوس تا دماي 50 درجه سلسيوس و با حداكثر توان خروجي به صورت هوا خنك( Natural air convection cooling ) كار مي كنند. نكته بسيار مهم ديگري كه درهنگام خريد منبع تغذيه بايد به آن توجه كنيد پايداري حرارتي منبع تغذيه مي باشد. اين بدان معناست كه منبع تغذيه در بازه دمايي كه كار ميكند بايد ولتاژ خروجي را تا ميزان خطايي كه قابل قبول است و جزء استانداردهاي منبع تغذيه مي باشد ثابت نگه دارد. اين مسأله به خاطر آن است كه سيستمي كه شما طراحي مي كنيد امكان دارد در مكانهاي متفاوتي در كشور نصب گردد كه بازه دمايي زيادي را در بر مي گيرد و همچنين چون سيستم براي كاركرد در تمامي فصول سال مي باشد در نتيجه باز هم از اين نظر منبع تغذيه شما بايد قابليت كار كردن در بازه دمايي زيادي را داشته باشد. همچنين امكان دارد سيستمي كه شما طراحي مي كنيد در كنار ديگر دستگاههاي ديگر نصب شود كه آنها هم به نوبه خود به دليل توان مصرفي كه دارند باعث مي شود كه تا حدودي دماي سيستم افزايش يابد كه در اين صورت باز هم منبع تغذيه بايد بتواند ولتاژ مورد نياز دستگاههاي شما را تا خطاي قابل قبولي ثابت نگه دارد.مثالي كه براي اين مساله مي توان آورد سيستمهاي مخابراتي مي باشد كه هم بايد در مكانهاي شهري در دسترس نصب شوند و هم در مكانهاي دورافتاده. بنابراين دستگاهها بايد بتوانند در بازه دمايي زيادي كار كنند. حتي ممكن است در مكانهاي با آب و هواي خشك دماي داخل اتاق يا مكاني كه سيستم در آن نصب مي شود تا 70 درجه سلسيوس نيز برسد. بنابراين امروزه مهندسي كنترل دما در طراحي منابع تغذيه سوييچينگ يك مساله حياتي مي باشد.پايداري حرارتي در منابع تغذيه با يك عدد مشخص مي شود كه اصطلاحا به آن Output temperature coefficient مي گويند.براي رنج كاركرد دمايي با پايداري حرارتي بسيار خوب، اين ميزان خطا كمتر از 0.02 ± درصد به ازاي هر درجه سلسيوس تغييرات دماي سيستم مي باشد. نكته ديگري كه در هنگام خريد منبع تغذيه بايد به آن توجه كنيد ثابت ماندن ولتاژهاي خروجي ( به ميزان قابل قبول ) در رنج كاركرد ولتاژ ورودي منبع تغذيه مي باشد. بازه ولتاژي كه منبع تغذيه، در ورودي با آن كار مي كند باعث مي شود كه سيستم با حداكثر توان خروجي در اكثر شبكه هاي موجود در كشور با ولتاژهاي مختلف كار كند. مثلا اگر ولتاژ ورودي منبع تغذيه برق شهر ( در مورد منابعي كه ورودي آنها ولتاژ AC است ) يا باتري ( در مورد منابعي كه ورودي آنها ولتاژ DC است ) باشد به دليل آن كه ولتاژ ورودي داراي خطا مي باشد و ثابت نيست در اين صورت منبع تغذيه بايد قابليت ثابت نگه داشتن ولتاژهاي خروجي را ( تا ميزان خطاي قابل قبول ) داشته باشد. ثابت ماندن ولتاژهاي خروجي منبع تغذيه با تغييرات ولتاژ ورودي را اصطلاحا Line regulation مي گويند.براي منابع تغذيه داراي Line regulation خوب در خروجي، اين ميزان خطا كمتر از 0.5 ± درصد به ازاي رنج كاركرد ولتاژ ورودي منبع تغذيه مي باشد. نكته ديگري كه در هنگام خريد منبع تغذيه بايد به آن توجه كنيد ثابت ماندن ولتاژهاي خروجي منبع تغذيه ( به ميزان قابل قبول ) در برابر تغييرات بار خروجي مي باشد. زيرا امكان دارد سيستمي كه شما طراحي مي كنيد همواره مقدار جريان ثابتي از خروجي نكشد. ثابت ماندن ولتاژهاي خروجي منبع تغذيه با تغييرات جريان خروجي را اصطلاحا Load regulation ميگويند. براي منابع تغذيه داراي Load regulation خوب در خروجي، اين ميزان خطا كمتر از 0.5 ± درصد به ازاي رنج كاركرد جريان خروجي منبع تغذيه ( از % 10 تا % 100 جريان خروجي منبع تغذيه ) مي باشد. نكته مهم ديگري كه در هنگام خريد منبع تغذيه بايد به آن توجه كنيد مسايل حفاظتي منبع تغذيه مي باشد. مثلا بايد به وجود يا عدم وجود حفاظتهاي زير در يك منبع تغذيه توجه كنيد : ■ حفاظت در برابر كشيدن توان اضافه تر از توان اسمي هر يك از خروجيها (Output Over Power Protection) همين طور يكي از مسايل بسيار مهمي كه بايد در هنگام خريد منبع تغذيه به آن توجه كنيد مقدار عايق بودن ولتاژ ورودي از ولتاژهاي خروجي و همچنين مقدار عايق بودن بدنه دستگاه ( كه معمولا آن را به Earth وصل مي كنند ) از ولتاژهاي ورودي و خروجي دستگاه مي باشد. اين كه ببينيد در سيستم خود به چه ميزان ولتاژ عايقي نياز داريد و اين كه منبعي كه تهيه مي كنيد اين ميزان عايقي را دارا مي باشد يا نه. زيرا در هر صورت بايد اين احتمال را بدهيد كه اگر در ورودي منبع تغذيه ولتاژ ناگهاني زيادي بر اثر وجود خطا در سيستم انتقال برق بيافتد در اين صورت منبع تغذيه بايد توانايي اين كه خود و سيستم شما را در برابر اين ولتاژ ناگهاني محافظت كند، داشته باشد. در اين حالت سيستمهاي حفاظتي منبع تغذيه وارد عمل مي شوند و اجازه عبور اين ولتاژ ناگهاني را به خود منبع تغذيه و نهايتا سيستم شما نمي دهند و يا اين كه در بدترين حالت اگر خود منبع بسوزد ولي باز هم نبايد براي سيستم شما اتفاقي بيفتد و سيستم شما بايد سالم باقي بماند. در اين حالت ميزان عايقي ولتاژ ورودي از ولتاژهاي خروجي و همچنين ميزان عايقي بدنه از ولتاژهاي خروجي و يا ورودي مهم مي باشد.حال با در نظر گرفتن موارد بالا تازه متوجه مي شويد كه همه منابع موجود در بازار شبيه هم نيستند.بعضي منابع تغذيه داراي ويژگيهاي مثبت زير نيز مي باشد: 1 ) منابع طراحي شده، در هنگام روشن شدن به آرامي روشن مي شوند ( Soft Start ) تا جريان اوليه هجومي ( Input Inrush Current Limiting ) را محدود كنند. 2 ) قابليت نصب آسان :براي نصب نياز به هيچ گونه ابزار خاص يا آموزش ويژه اي ندارند كه اين موضوع زماني كه بخواهيد منابع را در مكانهاي مختلف و توسط افراد متفاوت در دستگاههاي خود نصب كنيد يك مزيت مهم مي باشد.فقط كافيست كه ولتاژ ورودي منبع را وصل كنيد و ولتاژهاي خروجي آن را هم به سيستم خود وصل كنيد.همچنين نحوه قرارگيري پيچها براي نصب دستگاه به گونه اي است كه بتوان به راحتي براي مقاصد تعمير يا كارهاي ديگر، دستگاه را باز كرد. 3 ) وجود LED در ولتاژهاي ورودي و خروجي منبع تغذيه اجازه تشخيص زودهنگام خطا در ورودي و خروجيها را مي دهد. 4 ) حداقل فضا و حجم اندازه و حجم يك سيستم يك مساله مهم مي باشد. اين مساله نه تنها باعث كاهش هزينه ها و مدارات به كار رفته در سيستم مي شود بلكه باعث مي شود فضا را نيز كوچكتر كنيم و همچنين باعث مي شود سيستم خود را از مكانهاي سربسته بزرگ به فضاهاي باز كوچكتر ببريم ( مثلا در سيستمهاي مخابراتي ). معرفی و کارکرد انواع اتصالات در ربات ها ربات ها از منظر طراحی مکانیکی ماشین هایی هستند که از اجزا و قطعات مختلفی تشکیل شده اند. این اجزا با یکدیگر در ارتباط هستند. ارتباط اجزاء از طریق اتصالات صورت می گیرد. بر اساس نقش اجزاء و جایگاه آنها در کارکرد کلی ماشین، اتصالات انواع مختلفی دارد. یکی از تقسیم بندی های مرسوم اتصالات عبارت است از: 1. اتصالات دائم 2. اتصالات موقت اتصال دائم اتصال دائم به اتصالی گفته می شود که برای جدا سازی آنها وسیله اتصال و قسمتی از قطعات متصل شده یا تمامی آنها آسیب ببیند. به همین دلیل به اتصالات دائم اتصالات جدا نشدنی هم می گویند. اتصالات دائم زمانی به کار گرفته می شود که نیازی به جداسازی قطعات متصل شده وجود نداشته باشد. یعنی زمانی که مطمئن هستیم قطعات متصل شده تا آخر عمر ماشین نیازی به جدا شدن ندارند از این نوع اتصال استفاده می کنیم. معمولا قطعاتی که عمرشان به اندازه عمر خود ماشین است و در طول عمر ماشین نیازی به تعمیر و یا تعویض ندارند با استفاده از اتصال دائم به یکدیگر متصل می گردند. برخی از روش های ایجاد این اتصال عبارتند از: · جوش کاری · لحیم کاری · پرچ کاری · چسب کاری · اتصالات پرسی انطباقی اتصال موقت اتصال موقت اتصالی است که در آن جدا سازی اتصال بدون آسیب دیدن وسیله اتصال و قطعات اتصال داده شده صورت می گیرد. عمل اتصال و جداسازی در اتصال موقت می تواند به دفعات صورت بگیرد بدون آنکه موجب خرابی یا آسیب اتصال دهنده و قطعات اتصال داده شده باشد. به همین دلیل به اتصال موقت، اتصال جدا شدنی نیز گفته می شود. از اتصال موقت زمانی استفاده می شود که بدانیم نیاز و یا ضرورتی وجود دارد که موجب می شود بخواهیم قطعات متصل شده را پس از اتصال از یکدیگر جدا کنیم. دلیل عمده استفاده از اتصال موقت در ماشین های مکانیکی نیاز به تعویض قطعات برای تعمیر و یا جایگزینی آن قطعات است. مثلا قطعه ای که عمر کوتاه تری نسبت به عمر خود ماشین دارد مسلما در طول عمر ماشین نیاز به تعویض خواهد داشت بنابر این عاقلانه است که این قطعه جوری به دیگر اجزاء متصل باشد که امکان جدا شدن آن بدون آسیب دیدگی دیگر اجزاء ممکن باشد. اتصال موقت به روش های مختلفی قابل اجرا است که برخی از آنها عبارتند از: · پیچ · مهره · خار · گوه · پین · اتصالات اصظکاکی معرفی چند مکانیزم پرکاربرد همانطور که در مقالات قبلی نیز گفتیم آشنایی با مکانیزم ها تاثیر بسزایی در طراحی و ساخت مکانیک ربات دارد. به مجموعه ای از اجزای مکانیکی که به یکدیگر متصل و یا در تماسند و می توتنند نسبت به هم حرکت کنند، مکانیزم می گوییم. از مکانیزم ها برای تبدیل حرکت چرخشی الکتروموتورها به حرکات مورد نظر خود استفاده می کنیم. در این مقاله چند مکانیزم پرکاربرد را به شما معرفی خواهیم کرد. 1- مکانیزم چرخ وشانه (Rack & Pinion) این مکانیزم از دو عضو چرخ (Pinion) و شانه(Rack) تشکیل شده است و از آن برای تبدیل حرکت دورانی چرخدنده به حرکت مستقیم الخط شانه استفاده می کنیم. در مواردی که بخواهیم دریچه ای را باز و بسته کنیم و نیز در بسیاری موارد دیگر می توانیم از این مکانیزم بهره بگیریم. در اشکال زیر نمونه هایی از کاربرد این مکانیزم را می بینید. اگر α حرکت زاویه ای چرخدنده (برحسب رادیان) و s حرکت مستقیم الخط شانه و d قطر دایره گام چرخدنده باشد رابطه زیر برقرار است : S=(a/2Π)*Πd=ad/2 2- مکانیزم پیچ و مهره این مکانیزم هم یکی دیگر از مکانیزم های تبدیل حرکت چرخشی به حرکت مستقیم الخط است و از دو عضو اصلی پیچ و مهره تشکیل شده است. مهره ثابت است و پیچ به صورت دورانی حرکت می کند و عضوی که در انتهای پیچ به آن متصل شده در راستای محور پیچ به صورت مستقیم الخط حرکت می کند. 3- مکانیزم لنگ و لغزنده این مکانیزم هم برای تبدیل حرکت چرخشی به حرکت مستقیم الخط و یا بالعکس است. اجزای مهم این مکانیزم، لغزنده، میله رابط و لنگ هستند. بر خلاف مکانیزم های چرخ و شانه و پیچ ومهره ، در این مکانیزم ، سرعت خطی لغزنده و سرعت زاویه ای لنگ با یکدیگر رابطه خطی ندارند. 4- مکانیزم چهار میله ای این مکانیزم از یک قسمت ثابت به نام قاب، دو عضو متحرک با حرکت دورانی حول یک نقطه که لنگ نامیده می شوند و عضو رابط بین لنگها که میله رابط نامیده می شود تشکیل شده است. در صورتی که طول لنگها در مکانیزم فوق برابر باشند به آن مکانیزم موازی می گویند. 5- مکانیزم چرخ ژنوا با استفاده از این مکانیزم می توان یک حرکت چرخشی پیوسته را به حرکت چرخشی منقطع تبدیل کرد. با نگاه به اشکال زیر میتوانید طرز کار این مکانیزم را به راحتی درک کنید. 6- مکانیزم بازگشت سریع در این مکانیزم حرکت چرخشی به یک حرکت رفت و برگشتی متناوب تبدیل می شود. در این حرکت متناوب زمان رفت از زمان بازگشت بیشتر است و حرکت بازگشتی به سرعت صورت می گیرد. از این مکانیزم در صنعت برای ساخت ماشین های صفحه تراش استفاده شده است که در آنها لازم است سرعت حرکت تیغه در حالت بدون بار بیش از سرعت آن در حال باربرداری باشد. مقایسه انواع موتور و درایورها + نوشته شده در شنبه 19 آبان1386ساعت 4:58 بعد از ظهر
توسط ریحانه موضوع: همه چیز درباره ی ربات و میکرو کنترلر های AVR| |