PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : آموزشی مراحل ساخت یک ماشین کنترل از راه دور



hengameh
11th December 2010, 09:54 AM
مقدمه

The purpose of this project was to take a traditional remote controlled car and create our own control mechanisms. هدف از این پروژه بود را از راه دور سنتی ماشین کنترل و ایجاد مکانیسم های کنترل خود ما.
To control the car, we used a dual-axis accelerometer and LEDs (light emitting diodes) configured as photo-detectors. برای کنترل اتومبیل ، استفاده محور شتاب سنج دوگانه و LEDs (دیودهای نوری) پیکربندی شده به عنوان عکس آشکارسازهای.
The control mechanism was selected using a single pole dual throw ( spdt ) switch was wired in a single pole single throw ( spst ) configuration. با استفاده از مکانیزم کنترل انتخاب شد تنها دو پرتاب نیزه (spdt) روشن بود پیکربندی سیمی در تک تک قطب پرتاب (spst).
The two-axis accelerometer was used as a tilt sensor that detected how far the chip was angled from its neutral, flat position. محور شتاب سنج دو موقعیت تخت بود به عنوان حسگر استفاده می شود که شیب شناسایی تا چه حد ، بی طرف از آن زاویه دار تراشه بود.
An analog voltage was produced for both the x- and y-axes that corresponded to how far the accelerometer was tilted, and in what direction. ولتاژ آنالوگ تولید شده برای هر دو ایکس و سالانه ، محور که مطابقت به چه حد شتاب سنج بود کج شده ، و در چه جهتی.

A custom LED array was also used to control the car. چراغ های سفارشی آرایه مورد استفاده قرار گرفت همچنین برای کنترل خودرو.
Though LEDs are traditionally thought of as light producing elements, they also produce a voltage corresponding to how much light they receive – brighter environments produce a greater voltage across the LED. کنند ، آنها همچنین تولید بسیار ولتاژ متناظر چگونه نور را دریافت خواهید کرد چراغ -- روشن تر محیط تولید بیشتر ولتاژ در سراسر عناصر LEDs اگرچه به طور سنتی از فکر به عنوان نور تولید.
We took advantage of this fact by causing the decrease in voltage by blocking light from entering one of the four LEDs (forward, reverse, left and right) to cause the car to move in the appropriate direction در زمان ما جهت استفاده از این حقیقت با ایجاد کاهش در ولتاژ توسط مانع عبور نور از ورود یکی از چهار LEDs (جلو ، عقب ، چپ و راست) را به علت ماشین را به حرکت در مناسب
( See accelerometer & led sensor array unit (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#ACCELEROMETER_&_LED_SENSOR_ARRAY_UNIT) ) . ( مشاهده و رهبری شتاب سنج سنسور واحد آرایه (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#ACCELEROMETER_&_LED_SENSOR_ARRAY_UNIT) ).

To implement a safer car, an infrared distance sensor was used to continually scan the area in front of the car. برای پیاده سازی یک ماشین امن تر ، فاصله سنسور مادون قرمز ماشین مورد استفاده قرار گرفت به طور مداوم اسکن این منطقه را در مقابل.
The sensor produced an analog output voltage proportional to how close an object was. سنسور تولید ولتاژ خروجی آنالوگ متناسب با چگونه یک شی نزدیک شد.
When an object was detected, the car momentarily reverses to avoid a collision . زمانی یک شی تشخیص داده شد ، ماشین لحظه ای معکوس برای جلوگیری از برخورد.





PROJECT OVERVIEW پروژه نمای کلی


We chose this project because of our love of cars and the hardware aspect of gadgets. ما ابزارهای انتخاب این پروژه به ما از عشق ماشین ها و سخت افزار از جنبه های.
We thought that it would be a novel idea to be able to control the car with one hand by using the dual-axis accelerometer. ما فکر کردیم که این امر می تواند یک ایده جدید که قادر به کنترل خودرو با یک دست با استفاده از محور شتاب سنج دوگانه است.
To provide a contrast to this one-handed approach, we also decided to implement a spin on the traditional two-handed control of the car by using LEDs as photo-detectors. به منظور ارائه برخلاف این دست یک رویکرد ، ما نیز تصمیم به پیاده سازی چرخش در دو دست از کنترل های سنتی با استفاده از ماشین LEDs به عنوان عکس آشکارسازهای.
While the use of LEDs would still require two hands, the cost would be even less than the two joystick control scheme that the car came with. در حالی که استفاده از LEDs هنوز هم نیاز به دو تا دست ، هزینه خواهد بود حتی کمتر از دو طرح کنترل جوی استیک که با ماشین آمد.
We wanted to implement both control schemes, then compare and contrast them at the end. ما می خواستیم برای اجرای هر دو طرح های کنترل ، پس مقایسه و تقابل آنها در پایان.


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image001.gif



Figure 1: High Level Block Diagram شکل 1 : نمودار سطح بالا بلوک



Figure 1 is a high level overview of our project. شکل 1 دید کلی سطح بالایی از پروژه ما است.
This is a very simplified version of the project but gives a general understanding of the main components within the system. این پروژه بسیار ساده شده یک نسخه از اما دهد درک عمومی از اجزای اصلی در درون نظام.
For a more detailed analysis see ( Hardware (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#HARDWARE_DESIGN) & Software (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#SOFTWARE_DESIGN) Description ). برای جزئیات بیشتر نگاه کنید به تجزیه و تحلیل ( سخت افزار (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#HARDWARE_DESIGN) و نرم افزار (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#SOFTWARE_DESIGN) توضیحات).
The components are used as follows: قطعات استفاده می شود به شرح زیر است :


1) 1)
The MMA6261Q accelerometer drives the car based on how the control unit is tilted by the operator. شتاب سنج MMA6261Q درایوهای خودرو بر اساس چگونه واحد کنترل است کج شده توسط اپراتور.

Ø Ø
Forward tilt – drives the car forward جلو شیب -- درایوهای ماشین رو به جلو

Ø Ø
Backward tilt – puts the car in reverse عقب کج -- قرار می دهد خودرو را در معکوس

Ø Ø
Leftward tilt – makes the car turn left Leftward انحراف -- باعث می شود خودرو سمت چپ

Ø Ø
Rightward tilt – make the car turn right راست کج -- ساخت ماشین روشن حق

Ø Ø
No tilt – the car does not move بدون شیب -- ماشین حرکت نمی کند

The drive motor and steering motor can be operated simultaneously. موتور و درایو موتور فرمان می توان عمل به طور همزمان.

2) 2)
The LED sensor array provides an alternate control mechanism by allowing the operator to drive the car by touching one or two of the four LEDs that correspond to forward motion, reverse motion, left turn and right turn. آرایه سنسور چراغ فراهم می کند مکانیزم کنترل متناوب اجازه می دهد تا اپراتور ماشین درایو از طریق لمس کردن یکی یا دو تا از چهار LEDs که متناظر با حق به نوبه خود به جلو ، حرکت رو به عقب حرکت ، چپ و روشن کنید.

3) 3)
The ADC (analog to digital converter) unit on the Transmitter Mega32 takes the analog voltages from both the tilt sensor and LED touch pad and converts them to a digital number between 0 and 255. مبدل (مبدل آنالوگ به دیجیتال) در واحد طول می کشد Mega32 ترانسمیتر ولتاژ آنالوگ از شیب سنسور چراغ و پد لمسی هم و تبدیل آنها به تعداد دیجیتال بین 0 و 255.
The software is calibrated to produce the desired action when a certain value of the ADC output is crossed. نرم افزار کالیبره شده برای تولید عمل مورد نظر هنگامی که مقدار مشخصی از خروجی مبدل تقاطع است.

4) 4)
The Transmitter Mega32 contains the transfer protocol software which uses the data provided by the ADC to operate the car. Mega32 فرستنده شامل پروتکل انتقال نرم افزار که با استفاده از اطلاعات تهیه شده توسط مبدل به کار ماشین.
The data from it is processed before being sent to the transmitter using the Universal Synchronous and Asynchronous serial Receiver and Transmitter (USART) protocol. داده از آن است قبل از پردازش پروتکل) در حال فرستاده شده به فرستنده با استفاده از جهانی سنکرون و آسنکرون سریال گیرنده و فرستنده (USART.

5) 5)
The transmitter ( RCT-433 ) takes the information provided by the Transmitter Mega32 and transmits it at 433.92 MHz. فرستنده (RCT - 433) طول می کشد اطلاعات ارائه شده توسط Mega32 فرستنده و انتقال آن را در 433.92 مگاهرتز.
The FCC states that any low power non licensed transmitter must not cause interfere with licensed transmitters. ایالات FCC که هر کم قدرت فرستنده غیر مجاز نباید باعث اختلال در انتقال دهنده های مجاز.
The frequency of the transmitter is in the acceptable range of frequencies as listed in Part 15 of the FCC rules (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://www.access.gpo.gov/nara/cfr/waisidx_01/47cfr15_01.html&prev=_t&rurl=translate.google.com&usg=ALkJrhiT68vntmRocviGFN9e4reEOITZrg) . فرکانس فرستنده در محدوده قابل قبول از فرکانس به عنوان فهرست شده در بخش 15 از مقررات FCC (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://www.access.gpo.gov/nara/cfr/waisidx_01/47cfr15_01.html&prev=_t&rurl=translate.google.com&usg=ALkJrhiT68vntmRocviGFN9e4reEOITZrg) .
The transmitter used less than 1 milliamp of current when transmitting a logical 0, and about 4.5 milliamps of current when transmitting a logical 1. فرستنده استفاده می شود کمتر از 1 1 milliamp از فعلی که انتقال منطقی 0 و در حدود 4.5 میلی آمپر جریان زمانی که انتقال منطقی.
Because the transmitter transmits a 1 when no signal is inputted, an inverter was used for the input to the transmitter to save power. از آنجا که فرستنده انتقال 1 زمانی که هیچ سیگنال inputted ، اینورتر ذخیره برق مورد استفاده قرار گرفت برای ورودی به فرستنده به.
We do not have to obtain FCC equipment authorization for the circuit that we are building because less than 5 of these circuits will be made and we do not plan on selling them. نیازی نیست که ساخته شود به FCC به دست آوردن مجوز برای تجهیزات مدار که ما در حال ایجاد چون کمتر از 5 از این مدار خواهد شد و ما آنها را به فروش نمی برنامه را مشاهده کنید.

6) 6)
The receiver ( RCR-433 ), located on the car itself, receives the transmitted signal. گیرنده (RCR - 433) ، واقع در ماشین خود ، دریافت سیگنال منتقل می شود.
The signal has to be inverted to reverse the effects of the inverter on the transmitter end. سیگنال باید معکوس شود به عقب اثر معکوس در پایان فرستنده.

7) 7)
The IR Sensor detects how far objects are from the front of the car. سنسور مادون قرمز تشخیص فاصله اجسام خودرو از مقابل.
The unit sends infrared pulses and determines distance by measuring the angle of the beam that returns. واحد پالس می فرستد مادون قرمز و تعیین فاصله با اندازه گیری زاویه پرتو که برمی گردد.
A pulse that is reflected from an object that is further away will have a greater angle from the plane of the reflector than an object that is nearby, see Figure 2. پالس است که منعکس شده از یک شی است که دورتر از خواهد شد که بیشتر زاویه هواپیما از بازتابنده از یک شی است که در این نزدیکی هست ، نگاه کنید به شکل 2.


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image002.jpg



Figure 2: Distance calculation through triangulation شکل 2 : محاسبه فاصله از طریق مثلث بندی





8) 8)
This ADC (analog to digital converter) converts the signal from the IR sensor into a number in the range of 0-255 to be interpreted by the Receiver Mega32. این مبدل (مبدل آنالوگ به دیجیتال) تبدیل سیگنال از سنسور مادون قرمز به تعداد در محدوده 0-255 به گیرنده Mega32 تفسیر شده توسط.

9) 9)
The Receiver Mega32 contains most of the software for this project. Mega32 گیرنده شامل بسیاری از نرم افزار برای این پروژه می باشد.
It takes the information that is received, decodes it, checks the output of the digitally converted signal from the IR sensor, and then provides the correct signals to the h-bridges that control the drive motor and the steering servo. طول می کشد تا اطلاعاتی را که دریافت کرده است ، آن را رمز گشایی ، چک های خروجی از تبدیل سیگنال دیجیتالی از سنسور مادون قرمز ، و پس از آن فراهم می کند سیگنال های درست به ساعت ، پل ها که کنترل موتور درایو و سرو فرمان.

10, 11 ) 10 ، 11)
The information from the Receiver Mega32 is interpreted as drive forward, reverse, steer left or steer right. اطلاعات را از گیرنده Mega32 است حق تفسیر به عنوان درایو رو به جلو ، عقب ، سمت چپ و یا هدایت هدایت.
The forward and reverse instructions are sent to one h-bridge circuit which is connected to the drive motor of the car. رو به جلو و عقب هستند دستورالعمل ماشین ارسال شده به یک ساعت و پل مدار است که متصل به درایو موتور.
The steering instructions are sent to another h-bridge circuit that is connected to the steering servo motor. دستورالعمل فرمان هستند موتور فرستاده خود را به دیگری ساعت پل مدار سرو که به آن وصل است به فرمان.
A schematic of the H-Bridge and the components used is shown in Figure 11 (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#H-BRIDGE_UNIT) in the Hardware Design section. طرح کلی از ارتفاع پل و قطعات استفاده شده است نشان داده شده در شکل 11 (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#H-BRIDGE_UNIT) در بخش سخت افزار طراحی.

12) 12)
The speaker used in this lab emits a sound when the IR sensor senses an object in front of the vehicle when the user attempts to drive forward. سخنران مورد استفاده در این آزمایشگاه خود ساطع میکند وقتی که صدای حواس سنسور مادون قرمز یک شیء در جلو خودرو است زمانی که کاربر اقدام به درایو رو به جلو.

13, 14 ) 13 ، 14)
The drive motor and steering servo were part of the original car. موتور درایو و سرو فرمان اتومبیل را بخشی از اصل.
They both operated at 5V. آنها هر دو عمل در 5V.




HARDWARE DESIGN سخت افزار طراحی


Most of the time spent on this project was in designing and building the car's circuitry. بیشتر زمان صرف شده در این پروژه در طراحی و ساخت خودرو مدارات.
The car was gutted except for the chassis, drive motor and steering servo. ماشین سرو فرمان بود gutted به جز ، کیس و درایو موتور.
Even the battery box was modified to accept 9V batteries. حتی جعبه باتری باتری 9V تغییر یافتهاست قبول.
The transmitter controls that came with the car were replaced with our custom made controllers. کنترل فرستنده که آمد با ماشین کنترل ساخته شد با جایگزین سفارشی ما است.
The hardware components for this project were built and grouped accordingly: اجزای سخت افزاری برای این پروژه ساخته شده است و بر این اساس قرار گرفتند :

· ·
Accelerometer and LED (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#ACCELEROMETER_&_LED_SENSOR_ARRAY_UNIT) شتاب سنج و چراغ (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#ACCELEROMETER_&_LED_SENSOR_ARRAY_UNIT) (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#ACCELEROMETER_&_LED_SENSOR_ARRAY_UNIT)
Sensor Array (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#ACCELEROMETER_&_LED_SENSOR_ARRAY_UNIT) سنسور آرایه (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#ACCELEROMETER_&_LED_SENSOR_ARRAY_UNIT)

· ·
Transmitter Unit (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#TRANSMITTER_UNIT) فرستنده واحد (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#TRANSMITTER_UNIT)

· ·
Receiver Unit (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#RECEIVER_UNIT) گیرنده واحد (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#RECEIVER_UNIT)

· ·
Collision Sensing Unit (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#COLLISION_SENSING_UNIT) برخورد سنجش واحد (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#COLLISION_SENSING_UNIT)

· ·
H-bridge Unit (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#H-BRIDGE_UNIT) ارتفاع پل واحد (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#H-BRIDGE_UNIT)






ACCELEROMETER & LED SENSOR ARRAY UNIT شتاب سنج و چراغ سنسور واحد آرایه





http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image003.jpg



Figure 3: Accelerometer and LED sensor array schematic شکل 3 : سنسور شتاب سنج و چراغ آرایه شماتیک



Freescale MMA6261Q Dual-Axis Accelerometer: Freescale MMA6261Q دو محور شتاب سنج :

The accelerometer ( MMA6261Q ) was generously donated to us by Freescale Semiconductor. شتاب سنج (MMA6261Q) بود سخاوتمندانه نیمه هادی توسط Freescale اهدا به ما.
This unit produced an analog voltage output corresponding to the amount of rotation in the x- or y-plane (the z-axis is referenced vertically). این واحد تولید ولتاژ خروجی آنالوگ متناظر با مقدار چرخش در ایکس و یا سالانه ، هواپیما (الف محور است اشاره عمودی).
Contained within the device was a surface micromachined capacitive sensing cell. موجود در دستگاه بود سطح micromachined خازنی سنجش از سلول.
Acceleration along an axis caused a plate to slide, changing the capacitances between the plates (see Figure 4). شتاب در امتداد محور ناشی از یک بشقاب را به اسلاید ، تغییر در خازنها بین صفحات را ببینید (شکل 4).
This change was converted into an analog voltage. این تغییر ولتاژ آنالوگ تبدیل شد به.


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image004.jpg



Figure 4: Simplified model of tilt sensor شکل 4 : مدل ساده شده از سنسور شیب





When no tilt was applied in either direction the output voltages of both the x-axis and y-axis was approximately 1.65V. وقتی که هیچ کجی جهت استفاده شد یا در ولتاژ خروجی از هر دو اکس محور و محور بود سالانه حدود 1.65V.
Tilting the sensor forward or backward up to -1g or +1g caused an output voltage between 0.85V and 2.45V, respectively, on the y-axis output line. کج سنسور جلو و یا عقب مانده تا به 1G یا 1 گرم ناشی از ولتاژ خروجی بین 0.85V و 2.45V ، به ترتیب ، در محور خروجی خط سالانه.
Tilting the sensor left or right up to -1g or +1g causes an output voltage between 0.85V and 2.45V, respectively, on the x-axis line. کج سنسور سمت چپ یا راست تا - 1G یا 1 گرم باعث ولتاژ خروجی بین 0.85V و 2.45V ، به ترتیب ، در محور خط ایکس.
These analog voltages were used to determine the threshold conditions at which the commands to operate the car forward, reverse, left, and right were set. این ولتاژ آنالوگ مجموعه استفاده شد به تعیین آستانه شرایط که در آن دستورات به کار ماشین رو به جلو ، عقب ، چپ ، و راست.
We built an RC low-pass filter using a 1 kΩ resistor and a 0.1 μF capacitor (see Figure 5) to filter the outputs of the accelerometer before entering the Transmitter Mega32. ما ساخته بتن مسلح فیلتر پایین گذر با استفاده از 1 kΩ مقاومت و خازن 0.1 μF (نگاه کنید به شکل 5) برای فیلتر کردن خروجی ها از شتاب سنج پیش از ورود به Mega32 فرستنده.
This minimized clock noise from the switched capacitor circuit inside the device. این به حداقل سر و صدا ساعت از مدار خازن تغییر در داخل دستگاه.


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image005.jpg



Figure 5: Accelerometer output low pass filter شکل 5 : شتاب سنج خروجی فیلتر پایین گذر



ADP667 Voltage Regulator: ADP667 تنظیم کننده ولتاژ :

An additional voltage regulator was needed because the accelerometer chip required a voltage of 3.3V, not the 5V that was available on the board. رگولاتور ولتاژ اضافی هیئت مدیره مورد نیاز بود چون تراشه شتاب سنج ولتاژ مورد نیاز در 3.3V ، 5V نیست که در دسترس بود.
We were able to produce a voltage of 3.3V using an ADP667 5V regulator graciously donated to us by Analog Devices. ما قادر به تولید ولتاژ 3.3V با استفاده از رگولاتور 5V ADP667 و مهربانی دستگاه های آنالوگ به ما اهدا شده.
This chip allowed us to step down the 5V available on the prototype boards by creating the circuit in Figure 6. این تراشه با ما مجاز به مرحله پایین 5V موجود در نمونه اولیه تخته مدار های ایجاد شده در شکل 6.
The values of the resistors were chosen using Equation. ارزش های مقاومت با استفاده از انتخاب معادله است.
1. 1.
V SET = 1.255V (Pin 6), R 1 = 1000Ω, R 2 = 1600Ω and V OUT was the final output. پنجم ست = 1.255V (پین 6) ، تحقیق = 1 1000Ω ، تحقیق 2 = 1600Ω و پنجم خروجی خروجی نهایی شد.

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image006.jpg



Figure 6: Circuit used to produce 3.3V شکل 6 : مدار مورد استفاده برای تولید 3.3V


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image008.gif



Equation 1: Producing proper output voltage معادله 1 : تولید ولتاژ خروجی مناسب



4-Button Sensor Array: 4 - دکمه آرایه حسگر :

This circuit was created using 4 LEDs . این مدار با استفاده از ایجاد 4 LEDs.
The LEDs that were available to us in the lab were yellow, red and green. LEDs آزمایشگاه که در دسترس بود به ما در بودند زرد ، قرمز و سبز می باشد.
Through experimentation, we found that green LEDs produced the highest voltages across the terminals from ambient light, and also had the largest voltage decrease when covered, which were desirable characteristics for our application. از طریق آزمایش ، ما متوجه شدیم که LEDs سبز تولید بالاترین ولتاژ در ترمینال از نور محیط ، و نیز تا به حال بزرگترین کاهش ولتاژ زمانی که تحت پوشش ، برنامه مطلوب بودند که ویژگی ما را برای.
Through further experimentation, we found that covering the sides of the LEDs with opaque tape while leaving the top exposed produced a greater voltage change when covered up. از طریق آزمایش های بیشتر ، به ما نشان داد که پوشش طرف LEDs با نوار چسب مات در حالی که می روم بالا تا تحت پوشش در معرض بیشتری تولید ولتاژ تغییر زمانی.
The voltage change from the LED was small therefore amplification was used to magnify the change for more foolproof detection. تغییر ولتاژ از چراغ کوچک بود ، در نتیجه تقویت تشخیص ادم ساده لوح و رک و راست مورد استفاده قرار گرفت به بزرگ تر برای تغییر دهید.
To accomplish this, each LED was connected to an LM7111 op-amp in a non-inverting configuration (Fig. 7), which amplified the signal voltage by a gain of A v (see Equation 2) برای انجام این کار ، هر رهبری می شد) پنجم (نگاه کنید به معادله 2 متصل به تاریخ LM7111 - آمپر در غیر معکوس از تنظیمات شکل (7) ، که تقویت سیگنال ولتاژ بهره

. .

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image009.jpg



Figure 7: Non-inverting op-amp configuration شکل 7 : غیر معکوس عملیات آمپر پیکربندی


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image011.gif



Equation 2: Non-inverting op-amp gain equation معادله 2 : افراد غیر معکوس عملیات آمپر دست آوردن معادله



This was enough to increase the voltage change while remaining within a maximum of 2.56V, which was the value of the internal voltage reference used by the ADC. این کافی بود برای افزایش ولتاژ تغییر باقی مانده در حالی که در مدت حداکثر 2.56V ، مبدل شد که ارزش داخلی ولتاژ مرجع استفاده شده توسط.
The op-amp output for each of the LEDs (LED0 to LED3) was connected to ADC pins on the Transmitter (ie Pin A2 to A5). تاریخ آمپر خروجی برای هر یک از LEDs (LED0 به LED3)) A5 بود به مبدل متصل پین در فرستنده یعنی (پین A2 به.
A delay was necessary between successive conversions because each ADC conversion value could take up to 125 microseconds to stabilize. تاخیر لازم بود بین تبدیل پی در پی ، زیرا هر مبدل ارزش تبدیل می تواند به تا 125 microseconds به ثبات.
ما انتخاب تاخیر 1 میلی ثانیه را ، به ضرر باشد که اهداف هنوز به اندازه کافی سریع برای ما.
هر چراغ خاص توابع کنترل از ماشین به شرح زیر است : LED0 نقل مکان کرد ماشین رو به جلو ؛ LED1 منتقل عقب ماشین ؛ LED2 تبدیل ماشین چپ و راست تبدیل LED3 ماشین.
از آنجا که ممکن بود به فشار رو به جلو هر دو LEDs معکوس و یا هر دو سمت چپ و راست LEDs ، کد نوشته شده بود به طور خاص برای متوقف کردن خودرو و یا دیسک ماشین راست ، به ترتیب ، در این شرایط.





واحد
فرستنده



http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image013.jpg


شکل 8 : شماتیک فرستنده فرستنده در واحد مدار در شکل 8 ضروری بود در ارسال سیگنال های بی سیم برای کنترل خودرو از راه دور.
فرستنده استفاده می شود روشن / خاموش کلید زنی فراوانی (OOK) ، که در آن از فرستنده می فرستد منطق 1 به انتقال یک منطق ، و تبدیل کردن به انتقال منطق 0.
خروجی سریال از PortD.1 از میکروکنترلر (نگاه کنید به نرم افزار فرستنده (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#TRANSMIT_SOFTWARE_FLOWCHART) ) معکوس اول بود.
این منطق صفر بود انجام شود زیرا به طور طبیعی فرستنده می فرستد منطق یک زمانی که هیچ داده بود inputted ، مصرف که قدرت بیشتری نسبت به زمانی که فرستنده انتقال.
از آنجا که مقدار زمانی که داده فرستاده بود که بسیار کوچک بود ، اینورتر ذخیره برق مورد استفاده قرار گرفت به.
سیگنال معکوس شد و سپس به آنتن فرستاده RCT - 433 فرستنده که در آن 18cm سیگنال از طریق تابش بود.
آنتن 18cm از طول موج سیگنال مطلوب مورد استفاده قرار گرفت چون طول آنتن بود یک چهارم.
47 آه سلف زمین آث بود بین منبع تغذیه استفاده می شود و انتقال واحد به انرژی رادیویی جلوگیری از به قدرت شانت راه آهن بود که.خازن 1nf سیگنال مورد استفاده قرار گرفت بین فرستنده و آنتن برای جلوگیری از detuning.

پروتکل بی سیم (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/eceprojectsland/STUDENTPROJ/2005to2006/mpd25/report.html&prev=_t&rurl=translate.google.com&usg=ALkJrhg1BtNn_lqpQ2n3r4kcErDRxSfTDw) نوشته شده توسط مگان دسای انتقال داده ها استفاده شد به.
این ما بود بسیار راحت به دلیل استفاده از پروتکل انتقال و دریافت برای وظایف گذاشته شد.
ما متوجه شدیم برخی از خطاهای موجود در 'راننده فایل txrx.c' که تا به حال به قبل از استفاده ، اصلاح شود.
ما نیز تا به حال به برخی تغییرات جزئی دیگر از آنجا که ما تصمیم به استفاده از نرخ از 1200 نمره بیوفیزیکال علامت در ثانیه ، که هر دو مورد نیاز تنظیم UBRRL و
حتی هنگامی که با استفاده از علامت در ثانیه سرعت پایین تر منجر به بسته کمتر کاهش یافته است ، این کار را کاملا از بین بردن مشکل نیست.
برای حل این بیشتر ، ما تصمیم به ارسال بسته های اطلاعات 5 بار در ثانیه ، به طوری که حتی اگر یک بسته و یا خراب شده کاهش یافته بود ، یک بسته جدید ارسال خواهد شد در مدت کوتاهی پس از آن.






RECEIVER UNIT گیرنده واحد



http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image015.jpg



Figure 9: Receiver Schematic شکل 9 : گیرنده شماتیک





The Receiver Unit's circuitry in Figure 9 was attached to the remote controlled car. گیرنده واحد مدار در شکل 9 ماشین کنترل از راه دور متصل بود به.
The RCR-433 receiver was matched to the RCT-433 transmitter that we were using. RCR - 433 گیرنده فرستنده 433 بود همسان به RCT - که ما استفاده کرده اند از.
The 1 nF capacitor between the antenna and the receiver unit prevented detuning of the signal. 1 ان اف خازن بین آنتن گیرنده و واحد detuning جلوگیری از سیگنال.
The 47 uH inductor between the power supply rail and the receiver unit prevented the RF signal from shunting to the power rail, which was an AC ground. 47 آه سلف بین عرضه راه آهن قدرت و واحد گیرنده زمین مانع سیگنال رادیویی از شانت قدرت به راه آهن ، برق مستقیم است که بود.
The received signal was then inverted to reverse the effects of the inverter on the transmitter side. سیگنال را دریافت واژگون شد و سپس به عقب اثر معکوس در سمت فرستنده.
The signal was then sent to PortD.0 of the microcontroller, which was the USART receive port. سیگنال فرستاده شد و سپس به پورت PortD.0 از میکروکنترلر ، که USART دریافت خواهید کرد.








COLLISION SENSING UNIT برخورد سنجش واحد





The Sharp GP2Y0A02 IR distance sensor operates by transmitting infrared signals and measuring the angle of the beam that returns in relation to the plane of the sensor (see Figure 2 (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#plane_) ). سنسور مادون قرمز شارپ GP2Y0A02 از راه دور اجرا شده توسط انتقال سیگنال های مادون قرمز و اندازه گیری زاویه پرتو می گرداند که در رابطه با هواپیما از سنسور (نگاه کنید به شکل 2 (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#plane_) ).
The sensor was mounted to the front bumper of the car and tilted slightly upward to eliminate false readings from ground reflections. سنسور ماشین سوار شده بود به جلو و سپر از کج شده کمی به سمت بالا برای از بین بردن خوانش نادرست از بازتاب زمین.
The sensor was an analog device that outputted a voltage proportional to how close an object was to the car (see Figure 10). سنسور) بود آنالوگ دستگاهی است که ولتاژ خروجی متناسب با چگونه یک شی نزدیک بود به ماشین (نگاه کنید به شکل 10.
Though the output became erroneous below 15 cm, we did not notice any adverse effects in our testing. گرچه خروجی سانتی متر شد اشتباه زیر 15 ، ما از آزمایش ما هیچ متوجه عوارض جانبی در اثر.

http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image016.jpg



Figure 1 0: IR sensor output voltage vs. distance شکل 1 0 : جمهوری اسلامی در مقابل ولتاژ خروجی سنسور از راه دور


The output of the distance sensor was fed into PortA.0 of the ADC on the Receiver Mega32. خروجی سنسور گیرنده فاصله Mega32 شد بانک مرکزی به PortA.0 از مبدل را مشاهده کنید.
Whenever an object came closer than 24”, a signal was sent to the speaker to emit a tone. هر گاه جسم آمد نزدیک تر از 24 "، بلندگو سیگنال فرستاده شد به تن منتشر می کنند.
The car was then instructed to reverse briefly. خودرو و سپس دستور به عقب به طور خلاصه.
Merely telling the car to stop was not suitable because of the car's speed its momentum would still allow its collision. صرفا گفتن ماشین را متوقف بود برخورد نمی مناسب است زیرا به خودرو از آن سرعت را شتاب هنوز آن را داده باشد.

We had initially tried using a Sharp GP2D12 IR sensor because it was a surplus item that ما سعی کرده بود در ابتدا با استفاده از سنسور مادون قرمز شارپ GP2D12 زیرا این بود که مازاد آیتم
Professor استاد
Land زمین
had. بود.
However, we found that its range of 8” was not large enough to provide the necessary safety features. با این حال ، ما دریافتیم که دامنه خود را از 8 "بود ویژگی های نه به اندازه کافی بزرگ برای ارائه امنیت لازم را.
We needed a larger range because the car was not able to stop very quickly. ما نیاز به یک رشته بزرگتر چون ماشین به سرعت قادر به متوقف کردن بسیار.





H-BRIDGE UNIT ارتفاع پل واحد





http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image017.jpg



Figure 11: Schematic of H-Bridge شکل 11 : شماتیکی از ارتفاع پل



Since the port pins of the microcontroller cannot supply enough current, an external h-bridge circuit had to be used to drive the motor and servo as in Figure 11. از آنجا که پین از پورت میکرو کنترلر نمی تواند به اندازه کافی تامین فعلی ، خارجی ساعت مدار پل استفاده میشد به درایو و سرو موتور همانطور که در شکل 11.
This design was based on the circuit found on bobblick's (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://www.bobblick.com/techref/projects/hbridge/hbridge.html&prev=_t&rurl=translate.google.com&usg=ALkJrhhk6PAHA5j6zM5UuQsTRo1UVQ8EEQ) website. این طرح در بر داشت شده بود بر اساس مدار bobblick در (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://www.bobblick.com/techref/projects/hbridge/hbridge.html&prev=_t&rurl=translate.google.com&usg=ALkJrhhk6PAHA5j6zM5UuQsTRo1UVQ8EEQ) وب سایت.
The main components of the circuit were the اجزای اصلی مدار قرار گرفتند
Darlington Darlington
transistor arrays ( 2N3906 and TIP32 or 2N3904 and TIP31 ). آرایه های ترانزیستور (2N3906 یا 2N3904 و TIP32 و TIP31).
These arrays supplied up to 3amps of continuous current, which was more than enough for our application. آرایه های این نرم افزار عرضه شده تا 3amps مداوم جریان بود که بیش از اندازه کافی برای ما.
Because there were two diode drops of 0.7V before the signal was outputted to the motor, the 5V supply that the car originally used to operate the motors would have caused it to run slowly. از آنجا که وجود داشت 0.7V دیود و دو قطره قبل از سیگنال به آهستگی اجرا شد خروجی به موتور ، 5V عرضه که در اصل اتومبیل استفاده می شود به کار موتور می توانست ناشی از آن را به.
To remedy this, we decided to run the h-bridge circuit off of a dedicated 9V battery, making sure to keep the a common ground as the rest of the circuit. برای درمان ، ما به این تصمیم به اجرا در ساعت پل مدار خارج از باتری 9V اختصاص داده شده ، اطمینان از اینکه برای حفظ زمین مشترک به عنوان بقیه از مدار است.
Table 1 lists the functions of the h-bridge: جدول 1 لیستی از توابع از ساعت پل :



IN1 IN1

IN2 IN2

MotorA - MotorB MotorA -- MotorB

0 0

0 0

Float شناور

0 0

1 1

Negative منفی

1 1

0 0

Positive مثبت

1 1

1 1

Lock قفل


Table 1: H-bridge input/output logic table جدول 1 : ارتفاع پل ورودی / خروجی جدول منطق



We had initially sampled LMD18200 h-bridges from National Semiconductor, but were not able to use them because they required a voltage supply between 12-55 V, which was difficult to achieve using batteries. ما تا به حال در ابتدا نمونه نیمه هادی در ساعت LMD18200 - پل از ملی ، اما آنها نمی توانند به دلیل استفاده از آنها مورد نیاز تامین ولتاژ بین 12-55 ولت ، که سخت بود برای رسیدن به استفاده از باتری ها.




SOFTWARE DESIGN نرم افزار طراحی





The software for this project was relatively easy to make. نرم افزار برای این پروژه نسبتا آسان است.
The data packet was coded in the following manner: بسته داده ها صورت زیر بود رمزی در :



Bit0 Bit0



Forward به جلو



Bit1 Bit1



Reverse معکوس



Bit2 Bit2



Stop توقف



Bit3 Bit3



Left چپ



Bit4 Bit4



Right حق



Bit5 Bit5



Straight راست



Bit6 Bit6



Unused استفاده نشده



Bit7 Bit7



Unused استفاده نشده



Bit8 Bit8



Unused استفاده نشده



Table 2: Bit encoding _________________ جدول 2 : رمزگذاری بیت _________________





We chose to use this scheme because it enabled simple encoding and decoding protocols through masking. ما تصمیم به استفاده از این طرح به دلیل آن را فعال کنید رمزگذاری و رمز گشایی پروتکل های ساده از طریق پوشش.
Care had to be taken in coding the collision algorithm because we wanted the car to reverse for only a short duration of time to avoid the objects in its path, but not too long that the car became out of control. مراقبت به حال به آن مسیر می شود گرفته شده در برنامه نویسی الگوریتم برخورد چون ما می خواستیم ماشین را معکوس برای تنها کوتاه مدت از زمان برای جلوگیری از در اشیاء ، اما نه بیش از حد طولانی است که خودرو را کنترل شد از.
We also forced the car to stop after 1 second of not receiving data to prevent it from continuing to operate whenever it became out of the range of the transmitter unit. ما نیز مجبور به متوقف کردن خودرو به واحد بعد از 1 ثانیه نه دریافت داده های جلوگیری از آن را از ادامه فعالیت هر زمان که فرستنده آن شد از از محدوده.





TRANSMIT SOFTWARE FLOWCHART فلوچارت انتقال نرم افزار





http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image019.jpg



Figure 12: Flowchart of transmit software شکل 12 : فلوچارت از انتقال نرم افزار



RECEIVE SOFTWARE نرم افزار را بدست





http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image020.gif



Figure 13: Flowchart of receive software شکل 13 : فلوچارت از دریافت نرم افزار







RESULTS نتایج


The car was able to operate reliably. ماشین قادر بود به کار قابل اعتماد.
We found that even when the transmitter and receiver pair was close to each other, packets were dropped. ما دریافتیم که حتی زمانی که فرستنده و گیرنده جفت بود نزدیک به یکدیگر ، بسته بودند کاهش یافته است.
This became a problem in a project such as ours because fast reactions were necessary. مال ما شد این مشکل در پروژه از جمله به دلیل عکس العمل های سریع لازم بودند.
The controller must operate the car in a very deliberate manner to produce the right reactions from the car. کنترل کننده باید شیوه کار خودرو را در بسیار عمدی برای تولید واکنشهای درست را از ماشین.
Because there was some lag between the controller and the car, the operator must be aware of how to operate the car using this out control mechanism. از آنجا که ماشین در آنجا بود برخی از تاخیر بین کنترل کننده و اپراتور باید آگاه است که چگونه به کار ماشین با استفاده از این از مکانیسم کنترلی.

The IR sensor that was attached to the front of the car had a fairly small side-to-side range of detection. سنسور مادون قرمز که ماشین بود متصل به مقابل به حال نسبتا کوچک جانبی به سمت طیف وسیعی از تشخیص.
This meant that incoming objects must be close to the centerline of the car to be detected. این بدان معنی است که اشیاء ورودی باید نزدیک به centerline از ماشین به شناسایی.
When operating the car in real world conditions, this means that not all collisions can be avoided. وقتی عامل ، خودرو را در شرایط دنیای واقعی ، این بدان معنی است که نه همه برخورد می تواند اجتناب شود.
This could have been remedied by having two additional sensors at both sides of the car, but that would have caused us drastically go over our $50 budget. این می توانست با داشتن ماشین رفع اضافی دو سنسور در هر دو طرف است ، اما می توانست ناشی از بودجه ما به شدت به بیش از 50 $ ما است.

The accelerometer was more reliable method to control the car than LEDs . شتاب سنج LEDs بود بیشتر روش قابل اعتماد برای کنترل ماشین از.
The LEDs were heavily dependant on the amount of ambient light that was available, which can vary widely. LEDs بودند به شدت وابسته به میزان نور محیط که در دسترس بود ، به طور گسترده ای متفاوت است که می توانید.
The amount of voltage that was produced by the LEDs varied between different colors. مقدار ولتاژ است که رنگ های مختلف تولید شد توسط LEDs بین متنوع است.
This would mean that any mass produced system using LEDs in this manner would have to be individually calibrated, which would negate the low costs of using LEDs . این به معنای آن است که هر تولید انبوه سیستم با استفاده از LEDs در این روش را باید به صورت جداگانه کالیبره شده ، که می تواند LEDs نفی کم هزینه با استفاده از.
Eliminating LED controls would have reduced the size of the transmitter unit by over 50%. حذف کنترل چراغ می توانست درصد کاهش یافته است اندازه فرستنده واحد توسط بیش از 50.

We have conducted an endurance test with extra batteries and found out that the car could operate for 30 to 45 minutes of continued use. در حال حاضر باتری های استقامتی انجام تست فوق العاده و با متوجه شدم که ماشین می تواند استفاده از عمل به مدت 30 تا 45 دقیقه ادامه.
We believed this was on par with the original specifications of the car. ما این را باور خودرو در تاریخ همتراز با اصلی مشخصات.
Instead of six AA batteries, the car only required two 9V batteries. در عوض از شش باطری قلمی ، ماشین فقط دو مورد نیاز 9V باتری ها.
This resulted in the car operating faster than it originally was, because we are supplying approximately 7.5V to the motors. این منجر به خودرو عامل سریع تر از آن اصل بود ، چرا که ما در حال تهیه حدود 7.5V به موتور.
The effects were dramatic whenever the batteries are exhausted, as the car slowed to a crawl. اثرات چشمگیر بود هر زمان که باتری ها خسته شده ، به عنوان ماشین آهسته به خزیدن.
The transmitter unit optimized power most effectively and was able to sustain the use of its battery better than the car itself. واحد فرستنده بهینه از بیشترین قدرت و به طور موثر قادر به حفظ خود از آن استفاده بهتر از باتری ماشین.

We were able to keep the car's design unaltered, except for the collision sensor attached to the front bumper. ما قرار بود قادر به نگه داشتن خودرو طراحی بدون تغییر ، به جز برخورد سنسور متصل به سپر جلو.
This was one of the goals for this project. این پروژه یکی از اهداف این.
The h-bridge circuit occupied most of the car's internal circuitry. ساعت پل مدار اشغال بیشتر در مدارات داخلی اتومبیل.
Had we been able to use an h-bridge chip, the size of the internal circuitry within the car would have drastically been reduced. بودیم قادر به استفاده از پل ساعت تراشه ، به اندازه مدارات داخلی در داخل ماشین می توانست به شدت شده است کاهش می یابد.

RF interference was a concern throughout the testing stages of this project because there were a few other teams using the same transmitter/receiver pair that operated at the same frequency as ours. تداخل رادیویی پروژه تست نگرانی در سراسر مراحل از این به این دلیل خودمان وجود داشت چند تیم دیگر با استفاده از همان فرستنده گیرنده جفت که در عمل همان فرکانس به عنوان.
In order to properly test the functionality of our car we the ECE lounge to eliminate the possibility of interference. به منظور به درستی دخالت تست عملکرد ما را از ماشین ما ECE سالن برای از بین بردن امکان.
Testing the car in the ECE lounge allowed us to very that the range of operation between the car and controller was 30 feet. تست خودرو را در سالن ECE ما اجازه بسیار است که طیف وسیعی از عملیات بین ماشین و کنترل بود 30 فوت است.





CONCLUSION نتیجه گیری


We are extremely satisfied with how the project turned out. ما بسیار از راضی شود که پروژه چگونه تبدیل شده است.
We were able to successfully implement both accelerometer and LED sensor controls. ما توانستیم با موفقیت پیاده سازی هر دو سنسور شتاب سنج و کنترل منجر شده است.
As expected, the accelerometer was a better control mechanism than the LEDs . همانطور که انتظار می رود ، شتاب سنج LEDs بود کنترل بهتر مکانیزم از.
To improve the LED controls in the future, we could possibly have another LED to be used solely to calibrate the ambient light threshold wherever the car is being operated. به منظور بهبود کنترل چراغ در آینده ، ما احتمالا می تواند عمل دیگری را نیز منجر به مورد استفاده قرار گیرد صرفا به درجه بندی نور محیط آستانه هر کجا که ماشین می شود.
This would adjust to changing light conditions for a more robust control system. در این صورت سیستم تنظیم نور در حال تغییر شرایط برای قوی کنترل بیشتری.

The Mega32 chip was more powerful than we needed. تراشه Mega32 بود قوی تر از ما مورد نیاز است.
Because the speed and processing power required for this project was not stringent, we used approximately 55% of the chip's functionalities. از آنجا که سرعت و قدرت پردازش مورد نیاز برای این پروژه دقیق نیست ، ما استفاده می شود حدود 55 ٪ از تراشه ها ویژگی های.

We made use of the Wireless Protocol by Meghan Desai. ما ساخته شده است استفاده از پروتکل های بی سیم توسط مگان دسای.
This greatly simplified the transfer/receiver procedure. این تا حد زیادی ساده شده انتقال / روش گیرنده.
However, we had to correct some errors in the driver file before it would operate. با این حال ، ما مجبور به تصحیح خطاهای موجود در پرونده راننده قبل از آن را به کار گیرند.
We also made use of the receiver box to make sure that we had wired up the transmitter correctly. ما همچنین استفاده از جعبه گیرنده تا مطمئن شوید که ما تا به حال سیمی فرستنده صحیح می باشد.

We were able to come in just under budget (see APPENDIX-C (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#APPENDIX-C) ). ما توانستیم برای آمدن در کمتر از بودجه (نگاه کنید به پیوست ، ج (http://translate.googleusercontent.com/translate_c?hl=fa&ie=UTF-8&sl=en&tl=fa&u=http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report.htm&prev=_t&rurl=translate.google.com&usg=ALkJrhjqmSlOSpfUnQH2gz14HLT-CifWhw#APPENDIX-C) ).
Most of the main components for this project we bought and had already owned (ie the remote controlled car). بسیاری از اجزای اصلی ما برای این پروژه خریداری شده و تا به حال در حال حاضر متعلق به (به عنوان مثال ماشین کنترل از راه دور).
Whatever components that were essential to the project and which was too costly towards our budget, we built (ie the h-bridges). اجزای ضروری هر چه که شد به پروژه ها و پر هزینه بود که بیش از حد نسبت به بودجه ما ، ما ساخته شده است (یعنی ساعت ، پل ها).

1. To accept responsibility in making decisions consistent with the safety, health and welfare of the public, and to disclose promptly factors that might endanger the public or the environment; . 1 برای پذیرش مسئولیت در تصمیم گیری های سازگار با ایمنی ، بهداشت و رفاه عمومی ، و بی درنگ به افشای عوامل را که ممکن است محیط به مخاطره می اندازد و یا عمومی ؛

We chose to implement the collision sensor to make the car even safer to use. ما تصمیم به پیاده سازی حسگر برخورد به ماشین حتی مطمئن تر استفاده کنید.
Because the car runs at a higher speed than stock, we felt that this was a necessary addition. از آنجا که این خودرو اجرا می شود در سرعت بالاتر از سهام ، ما احساس کردیم که این لازم بود علاوه بر.

2. 2.
To avoid real or perceived conflicts of interest whenever possible, and to disclose them to affected parties when they do exist; برای جلوگیری از درگیری یا درک واقعی از منافع هر زمان که ممکن است ، و آنها را به فاش کردن به اشخاص مبتلا به هنگامی که وجود دارد ؛

There were not many sources of conflict during the course of this project. این پروژه وجود دارد نمی شد بسیاری از منابع از جنگ در طول دوره.
We coordinated with the other groups that were using transmitters and receivers to have different testing time slots to avoid interference. ما دخالت هماهنگ با دیگر گروه بود که با استفاده از فرستنده و گیرنده به تست های مختلف زمان را برای جلوگیری از شکاف.


3. 3.
To be honest and realistic in stating claims or estimates based on available data; باید صادقانه و واقع بینانه در بیان ادعا و یا تخمین می زند بر اساس داده های در دسترس است ؛

All of the circuit diagrams and descriptions are accurate to the fullest extent of our knowledge. همه نمودار مدار و شرح دقیق به حد کمال از دانش ما است.


4. 4.
To reject bribery in all its forms; جهت رد رشوه خواری در تمامی اشکال آن ؛

We did not encounter any opportunities for bribery, nor would we have accepted these offers had they arisen. ما در هیچ رشوه نه برای برخورد هر فرصت ، و نه ما را پذیرفته اند این بود که آنها ارائه می دهد ، بیرون آمده.


5. To improve the understanding of technology, its appropriate application, and potential consequences; 5 عواقب. به منظور بهبود درک از فن آوری مناسب آن ، نرم افزار ، و بالقوه ؛

We learned a great deal through this lab, especially about h-bridges and the subtleties of using wireless transmission. ما آموخته آزمایشگاه بزرگ معامله را از طریق این صفحه ، به خصوص در مورد ساعت ، پل ها و پیچیدگی های خاص خود با استفاده از انتقال بی سیم.


6. To maintain and improve our technical competence and to undertake technological tasks for others only if qualified by training or experience, or after full disclosure of pertinent limitations; 6 محدودیت ها برای حفظ و فنی ما را بهبود بخشد شایستگی و به فن آوری انجام وظایف برای دیگران فقط مربوط در صورت واجد شرایط از طریق آموزش و یا تجربه ، یا پس از کامل از افشای ؛

We did not work on any other team's projects, and whenever we had questions we were quick to ask ما در هیچ پروژه نیست دیگر در هیچ تیمی کار می کنند و هر زمان که ما تا به حال سوالات ما بودند سریع به سوال
Professor استاد
Land زمین
or one of the many TAs. و یا یکی از بسیاری از TAs.


7. To seek, accept, and offer honest criticism of technical work, to acknowledge and correct errors, and to credit properly the contributions of others; . 7 جستجو ، پذیرش ، پیشنهاد و انتقاد صادقانه از کار های فنی ، به اذعان و تصحیح اشتباهات ، و به اعتبار مناسب به مشارکت دیگران ؛

We consulted with ما با مشورت
Professor استاد
Land زمین
many times throughout the course of the final project for help and also for guidance. چند بار در طول دوره پروژه نهایی برای کمک و همچنین برای راهنمایی.
He made many suggestions that improved the quality of our projects. او پیشنهادات زیادی ساخته شده که بهبود کیفیت پروژه های ما.
We credited all of the figures in this report that were taken from other websites. ما وب سایت اعتبار تمام ارقام در این گزارش دیگر از آن گرفته شد.


8. 8.
To treat fairly all persons regardless of such factors as race, religion, gender, disability, age, or national origin; برای درمان نسبتا همه افراد بدون در نظر گرفتن عواملی مانند نژاد ، مذهب ، جنسیت ، معلولیت ، سن ، یا منشاء ملی ؛

We are a multicultural project team so this wasn't an issue. ما یک تیم پروژه چند فرهنگی و این به مسئله نیست.


9. 9.
To avoid injuring others, their property, reputation, or employment by false or malicious action; برای جلوگیری از مجروح شدن دیگران ، خود را ملک ، اعتبار ، یا اشتغال به کار توسط یا مخرب اقدام نادرست ؛

We added the collision sensor to make the car safer to operate. برخورد ما ارسال سنسور را به ماشین امن تر به کار گیرند.
We tested the car in the ECE lounge when no one was present to avoid injuring others. سالن ما تست خودرو را در ECE زمانی که هیچ کس حاضر بود برای جلوگیری از مجروح شدن دیگران است.
We are not trying to sell this project. ما تلاش می کنیم نه برای فروش این پروژه می باشد.


10. 10.
To assist colleagues and co-workers in their professional development and to support them in following this code of ethics. برای کمک به همکاران و همکاران حرفه ای خود را در توسعه و پشتیبانی از آنها را در زیر این کد اخلاق.

We did not observe breeches of the code of ethics, so we did not have to enforce these policies. ما در هیچ اصول اخلاقی را رعایت نمی تنبان از کد ، بنابراین ما هرگز مجبور نبودم برای به اجرا درآوردن این سیاست ها.










APPENDIX-A آپاندیس -


Contained here is a complete listing of the commented code used for this project. موجود در اینجا پروژه کامل یک لیست از نظر کد مورد استفاده در این.
It contains both the transmitter and receiver codes as well. این شامل هر دو فرستنده و گیرنده کدهای نیز هست.
Most of the software was written in C with not much use of Assembler. بسیاری از نرم افزار در سی با عدم استفاده از بسیاری از اسمبلی نوشته شده است.


************************************************** ********************** ************************************************** **********************

************************TRANSMITTER SOFTWARE********************* نرم افزار فرستنده ************************ *********************

************************************************** ********************** ************************************************** **********************

#include <Mega32.h> # شامل <Mega32.h>

#include < stdio.h > # شامل <stdio.h>

#include<.\ txrx.c > # شامل <\ txrx.c>


#define begin { # تعریف آغاز {

#define end } # تعریف پایان}

#define t1 200 # تعریف t1 200
//0.5sec ( prescalar 64) for button presses / / 0.5sec (prescalar 64) برای فشار دکمه

#define delay 1 # تعریف تاخیر 1
//1ms delay for a/d converter / / 1ms تاخیر / تبدیل د

#define data_length 1 # تعریف 1 data_length

#define tx_id 3 # تعریف tx_id 3


char data[ data_length ]; اطلاعات کاراکتر [data_length] ؛


unsigned char txtime ; علامت txtime کاراکتر ؛

unsigned char adtime ; علامت adtime کاراکتر ؛

unsigned char Ain ; علامت العین کاراکتر ؛
//holds value of A/D conversion / / دارای ارزش / تبدیل د

unsigned char xaxis , yaxis , fwd, rev, left, right; علامت xaxis کاراکتر ، yaxis ، جلو ، برگرد ، چپ ، راست ؛

unsigned char selector; انتخاب کاراکتر بدون علامت ؛

unsigned char led; علامت کاراکتر به رهبری ؛


void initialize(void); از درجه اعتبار ساقط مقداردهی اولیه (خالی) ؛
//set the mcu up / / مجموعه mcu تا

void datatrans (void); datatrans باطل (خالی) ؛


//timer0 compare match ISR / / timer0 مقایسه بازی ISR

interrupt [TIM0_COMP] void tim0comp(void) وقفه [TIM0_COMP] tim0comp باطل (خالی)

begin شروع

if ( txtime >0) -- txtime ; اگر (txtime> 0) -- txtime ؛
//decrement the time(s) if not already 0 / / کاهش بار اگر نه در حال حاضر 0

if ( adtime >0) -- adtime ; اگر (adtime> 0) -- adtime ؛

end پایان


void main(void) از درجه اعتبار ساقط اصلی (خالی)

begin شروع

initialize(); مقداردهی اولیه () ؛


while(1) در حالی که (1)

begin شروع

//x-axis accelerometer (fwd/rev) / / محور شتاب سنج ایکس (جلو / برگرد)

Ain = ADCH; العین ADCH = ؛

if ( Ain <115) xaxis =0x02; اگر (العین <115) xaxis = 0x02 ؛
//tilt rev / / برگرد شیب

else if ( Ain >185) xaxis =0x01; اگر دیگری (العین> 185) xaxis = 0x01 ؛
//tilt fwd / / شیب جلو

else xaxis =0x04; xaxis دیگری = 0x04 ؛


//y-axis accelerometer (left/right) / / محور شتاب سنج سالانه (چپ / راست)

ADMUX=0b11100001; ADMUX = 0b11100001 ؛

ADCSR.6=1; ADCSR.6 = 1 ؛

adtime =delay; adtime تاخیر = ؛

while( adtime >0) {}; در حالی که (adtime> 0) {} ؛

Ain =ADCH; العین ADCH = ؛

if ( Ain <115) yaxis =0x08; اگر (العین <115) yaxis = 0x08 ؛
//tilt left / / شیب سمت چپ

else if ( Ain >185) yaxis =0x10; اگر دیگری (العین> 185) yaxis = 0x10 ؛
//tilt right / / شیب سمت راست

else yaxis =0x20; yaxis دیگری = 0x20 ؛


//fwd led / / جلو رهبری

ADMUX=0b11100010; ADMUX = 0b11100010 ؛

ADCSR.6=1; ADCSR.6 = 1 ؛

adtime =delay; adtime تاخیر = ؛

while( adtime >0) {}; در حالی که (adtime> 0) {} ؛

Ain =ADCH; العین ADCH = ؛

if ( Ain <185) اگر (العین <185)

begin شروع

fwd=0x01; جلو = 0x01 ؛

PORTD.7=0; PORTD.7 = 0 ؛

end پایان

else fwd=0x00; دیگری جلو = 0x00 ؛


//rev led / / برگرد به رهبری

ADMUX=0b11100011; ADMUX = 0b11100011 ؛

ADCSR.6=1; ADCSR.6 = 1 ؛

adtime =delay; adtime تاخیر = ؛

while( adtime >0) {}; در حالی که (adtime> 0) {} ؛

Ain =ADCH; العین ADCH = ؛

if ( Ain <185) اگر (العین <185)

begin شروع

rev=0x02; برگرد = 0x02 ؛

PORTD.7=1; PORTD.7 = 1 ؛

end پایان

else rev=0x00; برگرد دیگری = 0x00 ؛


//if fwd and rev leds not covered, stop / / اگر جلو و برگرد leds پوشش داده نشده است ، متوقف

if ((fwd==0) && (rev==0)) fwd=0x04 ; اگر ((جلو == 0) & & (برگرد == 0)) جلو = 0x04 ؛
//stop / / توقف

//if fwd and rev both covered, stop / / اگر جلو برگرد و هر دو تحت پوشش ، توقف

if ((fwd>0) && (rev>0)) اگر ((جلو> 0) & & (برگرد> 0))

begin شروع

fwd=0x04; جلو = 0x04 ؛

rev=0x00; برگرد = 0x00 ؛

end پایان


//left led / / سمت چپ به رهبری

ADMUX=0b11100100; ADMUX = 0b11100100 ؛

ADCSR.6=1; ADCSR.6 = 1 ؛

adtime =delay; adtime تاخیر = ؛

while( adtime >0) {}; در حالی که (adtime> 0) {} ؛

Ain =ADCH; العین ADCH = ؛

if ( Ain <185) اگر (العین <185)

begin شروع

left=0x08; سمت چپ = 0x08 ؛

end پایان

else left=0x00; دیگری سمت چپ = 0x00 ؛


//right led / / حق رهبری

ADMUX=0b11100101; ADMUX = 0b11100101 ؛

ADCSR.6=1; ADCSR.6 = 1 ؛

adtime =delay; adtime تاخیر = ؛

while( adtime >0) {}; در حالی که (adtime> 0) {} ؛

Ain =ADCH; العین ADCH = ؛

if ( Ain <185) اگر (العین <185)

begin شروع

right=0x10; حق = 0x10 ؛

end پایان

else right=0x00; حق دیگری = 0x00 ؛


//if left and right leds not covered, straight / / اگر راست و چپ leds پوشش داده نشده است ، راست

if ((left==0) && (right==0)) left=0x20; اگر ((سمت چپ == 0) & & (سمت راست == 0)) سمت چپ = 0x20 ؛
//stop / / توقف

//if left and right both covered, straight / / اگر چپ و راست هر دو تحت پوشش ، راست

if ((left>0) && (right>0)) اگر ((سمت چپ> 0) & & (سمت راست> 0))

begin شروع

left=0x20; سمت چپ = 0x20 ؛

right=0x00; حق = 0x00 ؛

end پایان


//start another conversion / / شروع دیگری تبدیل

ADMUX=0b11100000; ADMUX = 0b11100000 ؛

ADCSR.6=1; ADCSR.6 = 1 ؛

adtime =delay; adtime تاخیر = ؛

while( adtime >0) {}; در حالی که (adtime> 0) {} ؛


if ( txtime ==0) اگر (txtime == 0)

begin شروع

datatrans (); datatrans () ؛

tx_me (data, data_length , tx_id ); tx_me (داده ها ، data_length ، tx_id) ؛

end پایان

end پایان

end پایان

void datatrans (void) datatrans باطل (خالی)

begin شروع

txtime = t1; txtime = t1 ؛

selector=PINC.0; انتخاب PINC.0 = ؛
//state of selector switch / / دولت از گزینه انتخاب کننده

if (selector==0) اگر (انتخاب == 0)

begin شروع

data[0]= xaxis|yaxis ; اطلاعات [0] = xaxis | yaxis ؛

end پایان

else دیگر

begin شروع

data[0]= fwd|rev|left|right ; اطلاعات [0] = جلو | برگرد | چپ | حق ؛

end پایان

end پایان


void initialize(void) از درجه اعتبار ساقط مقداردهی اولیه (خالی)

begin شروع

DDRC.0=0; DDRC.0 = 0 ؛
//port c.0 is input (selector switch) / / پورت c.0) است ورودی انتخاب (سوئیچ

DDRD.7=1; DDRD.7 = 1 ؛
//port d.7 is output (control led) / / پورت d.7 خروجی (کنترل رهبری)

//set-up timer0 / / را به بالا timer0

OCR0=249; OCR0 = 249 ؛
//1 ms / / 1 کارشناسی ارشد

TIMSK=2; TIMSK = 2 ؛
//turn on timer0 compare match ISR / / به نوبه خود در مقایسه timer0 مسابقه ISR

TCCR0=0b00001011; TCCR0 = 0b00001011 ؛
// prescalar 64, clear on match / / 64 prescalar ، روشن در مسابقه


//init the A to D converter / / init مبدل به د

//channel zero/ left adj /internal Aref (2.56V) / / کانال صفر / چپ عاج / عارف داخلی (2.56V)

//!!!DISCONNECT Aref jumper!!!! //!!! قطع بلوز عارف!!

ADMUX = 0b11100000; ADMUX = 0b11100000 ؛

//enable ADC and set prescaler to 1/128*16MHz=125,000 / / فعال کردن مبدل و تنظیم prescaler به 1 / 128 * 16MHz = 125.000

//and clear interupt enable / / و روشن وقفه فعال

//and start a conversion / / و شروع به تبدیل

ADCSR = 0b11000111; ADCSR = 0b11000111 ؛


txtime = t1; txtime = t1 ؛

txrx_init (1,0,3,64,0); txrx_init (1،0،3،64،0) ؛
//TX only, 1200 baud, led off / / زیر آسمون کبود تنها ، 1200 علامت در ثانیه ، به رهبری کردن


//crank up the ISRs / / خم کردن ISRs

# asm # asm

sei sei

# endasm # endasm

end پایان

************************************************** ********************** ************************************************** **********************

************************************************** ********************** ************************************************** **********************










************************************************** ********************** ************************************************** **********************

**************************RECEIVER SOFTWARE********************** نرم افزار گیرنده ************************** **********************

************************************************** ********************** ************************************************** **********************

#include <Mega32.h> # شامل <Mega32.h>

#include < stdio.h > # شامل <stdio.h>

#include<.\ txrx.c > # شامل <\ txrx.c>


#define begin { # تعریف آغاز {

#define end } # تعریف پایان}

#define MAX_RX_LENGTH 32 # تعریف MAX_RX_LENGTH 32

#define t1 1200 # تعریف T1 1200


void initialize(void); از درجه اعتبار ساقط مقداردهی اولیه (خالی) ؛


unsigned char my_rx_data [MAX_RX_LENGTH]; علامت کاراکتر my_rx_data [MAX_RX_LENGTH] ؛

unsigned char k; علامت ک کاراکتر ؛

//individual bits of incoming data / / فردی بیت از داده های دریافتی

unsigned char bit0, bit1, bit2, bit3, bit4, bit5, bit6, bit7; علامت کاراکتر bit0 ، bit1 ، bit2 ، bit3 ، bit4 ، bit5 ، bit6 ، bit7 ؛

unsigned char fwdrev1, fwdrev2; علامت fwdrev1 کاراکتر ، fwdrev2 ؛
//drive motor state / / دولت درایو موتور

unsigned char leftright1, leftright2; علامت leftright1 کاراکتر ، leftright2 ؛
//steering motor state / / فرمان دولت موتور

unsigned char collision; علامت برخورد کاراکتر ؛
//IR detector state / / دولت جمهوری اسلامی آشکارساز

unsigned char ain ; علامت العین کاراکتر ؛
//A/D input from IR detector / / / دی را از ورودی آشکارساز مادون قرمز

unsigned char time2; علامت time2 کاراکتر ؛

unsigned char count; بدون علامت تعداد کاراکتر ؛


unsigned int time1; دانشنامه هوشمند بدون علامت time1 ؛

unsigned char data; علامت کاراکتر داده ؛
//incoming data / / اطلاعات ورودی


//timer0 compare match ISR / / timer0 مقایسه بازی ISR

interrupt [TIM0_COMP] void tim0comp(void) وقفه [TIM0_COMP] tim0comp باطل (خالی)

begin شروع

//decrement the times if not already 0 / / کاهش بار اگر نه در حال حاضر 0

if (time1>0) --time1; اگر (time1> 0) -- time1 ؛

if (time2>0) --time2; اگر (time2> 0) -- time2 ؛

end پایان


void main(void) از درجه اعتبار ساقط اصلی (خالی)

begin شروع

initialize(); مقداردهی اولیه () ؛

while(1) در حالی که (1)
//main program loop / / حلقه اصلی برنامه

begin شروع

ain =ADCH; العین ADCH = ؛
//store A/D result / / ذخیره / نتیجه د

if ( ain >70) collision=1; اگر (العین> 70) برخورد = 1 ؛
//collision detection / / تشخیص برخورد

else collision=0; برخورد دیگری = 0 ؛

ADCSR.6=1; ADCSR.6 = 1 ؛
//start another conversion / / شروع دیگری تبدیل

//collision=PINA.0; / / برخورد PINA.0 = ؛

if (collision) PORTD.7=0; اگر (برخورد) PORTD.7 = 0 ؛

else PORTD.7=1; دیگری PORTD.7 = 1 ؛


if ( rxdone ()==1) اگر (rxdone () == 1)
//data received / / تحلیل داده ها

begin شروع


k=0; ک = 0 ؛

init_getrx (); init_getrx () ؛

while( rx_empty ()!=1) در حالی که (rx_empty ()! = 1)

begin شروع

my_rx_data [k] = get_next_rx_data (); my_rx_data [ک] = get_next_rx_data () ؛

k++; ک + + ؛

end پایان

data= my_rx_data [5]; داده ها = my_rx_data [5] ؛

bit0 = data&0x01; bit0 = &0x01؛ اطلاعات

bit1 = (data&0x02); bit1 = (داده ها و 0x02) ؛

bit2 = (data&0x04); bit2 = (داده ها و 0x04) ؛

bit3 = (data&0x08); bit3 = (داده ها و 0x08) ؛

bit4 = (data&0x10); bit4 = (داده ها و 0x10) ؛

bit5 = (data&0x20); bit5 = (داده ها و 0x20) ؛


if (bit0==0x01) اگر (bit0 == 0x01)
//fwd / / جلو


begin شروع

fwdrev1=1; fwdrev1 = 1 ؛

fwdrev2=0; fwdrev2 = 0 ؛

end پایان

if (bit1==0x02) اگر (bit1 == 0x02)
//rev / / برگرد

begin شروع


fwdrev1=0; fwdrev1 = 0 ؛

fwdrev2=1; fwdrev2 = 1 ؛

end پایان

if (bit2==0x04) اگر (bit2 == 0x04)
//coast / / ساحل

begin شروع

fwdrev1=0; fwdrev1 = 0 ؛

fwdrev2=0; fwdrev2 = 0 ؛

end پایان

if (bit3==0x08) اگر (bit3 == 0x08)
//left / / سمت چپ

begin شروع

leftright1=1; leftright1 = 1 ؛

leftright2=0; leftright2 = 0 ؛

end پایان

if (bit4==0x10) اگر (bit4 == 0x10)
//right / / حق

begin شروع

leftright1=0; leftright1 = 0 ؛


leftright2=1; leftright2 = 1 ؛

end پایان

if (bit5==0x20) اگر (bit5 == 0x20)
//straight / / راست

begin شروع

leftright1=0; leftright1 = 0 ؛

leftright2=0; leftright2 = 0 ؛

end پایان


//prevent forward progress is collision imminent / / جلوگیری از پیشرفت به جلو است برخورد قریب الوقوع

if ((collision==1) && (fwdrev1==1)) اگر ((برخورد == 1) & & (fwdrev1 == 1))

begin شروع

fwdrev2=1; fwdrev2 = 1 ؛

time2=500; time2 = 500 ؛

count=count++; تعداد دفعات مشاهده شده = + + ؛

end پایان

while ((time2>0) && (count<3)) در حالی که ((time2> 0) & & (دفعات مشاهده شده <3))

begin شروع

PORTD.6=1; PORTD.6 = 1 ؛

fwdrev1=0; fwdrev1 = 0 ؛

fwdrev2=1; fwdrev2 = 1 ؛

end پایان

PORTD.6=0; PORTD.6 = 0 ؛

count=0; تعداد دفعات مشاهده شده = 0 ؛

PORTC.0=fwdrev1; PORTC.0 = fwdrev1 ؛

PORTC.1=fwdrev2; PORTC.1 = fwdrev2 ؛

PORTC.2=leftright1; PORTC.2 = leftright1 ؛

PORTC.3=leftright2; PORTC.3 = leftright2 ؛

rx_reset (MAX_RX_LENGTH); rx_reset (MAX_RX_LENGTH) ؛

time1=t1; time1 = t1 ؛

end پایان
//if ( rxdone ==1) / / اگر (rxdone == 1)

if (time1==0) اگر (time1 == 0)

begin شروع

PORTC.0=0; PORTC.0 = 0 ؛

PORTC.1=0; PORTC.1 = 0 ؛

PORTC.2=0; PORTC.2 = 0 ؛

PORTC.3=0; PORTC.3 = 0 ؛

end پایان

end پایان
//while / / در حالی که

end پایان
//main / / اصلی


void initialize(void) از درجه اعتبار ساقط مقداردهی اولیه (خالی)
//set everything up / / همه چیز راه اندازی

begin شروع

DDRD.6=1; DDRD.6 = 1 ؛
//pin6 of port d is output (speaker) / / pin6 بندر د) ، خروجی (بلندگو

PORTD.6=0; PORTD.6 = 0 ؛
//speaker off initially / / بلندگو خاموش در ابتدا


DDRA.0=0; DDRA.0 = 0 ؛
//pina.0 input (collision sensor) / / pina.0 ورودی (سنسور برخورد)


DDRD.7=1; DDRD.7 = 1 ؛
//pin7 of port d is output (led) / / pin7 بندر د ، خروجی (به رهبری)

PORTD.7=1; PORTD.7 = 1 ؛
//led off initially / / رهبری کردن در ابتدا


//c.0=fwd/rev 1 / / c.0 = جلو / برگرد 1

//c.1=fwd/rev 2 / / C.1 = جلو / 2 برگرد

//c.2=left/right 1 / / C.2 = چپ / راست 1

//c.3=left/right 2 / / c.3 = چپ / راست 2

DDRC=0xff; DDRC = 0xff ؛
// portc is output (h-bridges) / / portc خروجی (ساعت ، پل ها)


//set-up timer0 / / را به بالا timer0

OCR0=249; OCR0 = 249 ؛
//1 ms / / 1 کارشناسی ارشد

TIMSK=2; TIMSK = 2 ؛
//turn on timer0 compare match ISR / / به نوبه خود در مقایسه timer0 مسابقه ISR

TCCR0=0b00001011; TCCR0 = 0b00001011 ؛
// prescalar 64, clear on match / / 64 prescalar ، روشن در مسابقه


//init the A to D converter / / init مبدل به د

//channel zero/ left adj /INTERNAL Aref / / کانال صفر / چپ عاج / داخلی عارف

//!!!DISCONNECT Aref jumper!!!! //!!! قطع بلوز عارف!!

ADMUX = 0b11100000; ADMUX = 0b11100000 ؛

//enable ADC and set prescaler to 1/128*16MHz=125,000 / / فعال کردن مبدل و تنظیم prescaler به 1 / 128 * 16MHz = 125.000

//clear interupt enable, start a conversion / / فعال کردن وقفه روشن ، شروع به تبدیل

ADCSR = 0b11000111; ADCSR = 0b11000111 ؛


time1=0; time1 = 0 ؛


txrx_init (0,1,3,64,0); txrx_init (0،1،3،64،0) ؛
//RX only - 1200 baud - led off / / حذف پیام تنها -- 1200 علامت در ثانیه -- رهبری کردن

rx_reset (MAX_RX_LENGTH); rx_reset (MAX_RX_LENGTH) ؛


//crank up the ISRs / / خم کردن ISRs

# asm # asm

sei sei

# endasm # endasm

end پایان

************************************************** ********************** ************************************************** **********************

************************************************** ********************** ************************************************** **********************






APPENDIX-B آپاندیس - ب


The following figures show the schematics of the hardware for the handheld controller and the hardware that was built into the car. ارقام زیر نشان می دهد نقشهها از سخت افزاری برای کنترل دستی و سخت افزار است که ماشین ساخته شده به.


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image022.jpg



Schematic of Hand Held Controller شماتیکی از دست برگزار کنترل





http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/ECE_476_Final_Project_Report_files/image024.jpg



Schematic of Car's Internal Circuitry شماتیک مدارات داخلی اتوموبیل








APPENDIX-C پیوست ج









Items اقلام



Quantity مقدار



Price قیمت



(per quantity) (در هر مقدار)


Atmel Mega32 Atmel Mega32


2 2



$8.00 $ 8.00


PC board (last year's) هیئت مدیره کامپیوتر (آخرین سال)


2 2



$2.00 $ 2.00


Solder board لحیم کاری هیئت مدیره


2 2



$2.50 $ 2.50


Receiver ( RCR-433 ) گیرنده (RCR - 433)


1 1



$4.00 $ 4.00


Transmitter ( RCT-433 ) فرستنده (RCT - 433)


1 1



$4.00 $ 4.00


Sensor board w/ accelerometer (MMA6261Q) سنسور عرض هیئت مدیره / شتاب سنج (MMA6261Q)


1 1



Donated اهدا


IR sensor ( Sharp GP2Y0A02 IR sensor ) سنسور مادون قرمز (شارپ GP2Y0A02 سنسور مادون قرمز)


1 1



$12.50 $ 12.50


Voltage regulator ( Analog Devices ADP667 ) تنظیم کننده ولتاژ (آنالوگ دستگاه ADP667)


1 1



Sampled نمونه


Radio controlled car ماشین رادیو کنترل


1 1



Already owned در حال حاضر متعلق به


9V battery باتری 9V



3 3



Already owned در حال حاضر متعلق به


LEDs , capacitors, resistors, inductors LEDs ، خازن ، مقاومت ها ، سلف






Lab supply عرضه آزمایشگاه



TOTAL COST مجموع هزینه



$45.50 $ 45.50






APPENDIX-D پیوست بعدی


This includes a list of the tasks carried out by each team member in this project. این شامل یک لیست از کارهای پروژه انجام شده توسط هر عضو تیم در این.
Working together was a goal of ours from the beginning so that each of us could get the best possible understanding of the components in our project. با همکاری یکدیگر شروع شد هدف از مال ما از به طوری که هر یک از ما می تواند پروژه امکان دریافت بهترین درک از اجزای خود را در.


Donn Kim (ddk26) Donn کیم (ddk26)



Final Project Leader ( knows a lot about remote controlled cars ) پروژه نهایی رهبر (می داند زیادی در مورد کنترل اتومبیل از راه دور)

Hardware Guru design سخت افزار طراحی گورو

Soldering Wizardry لحیم کاری جادوگری

Essential Research for Project تحقیقات اساسی برای پروژه

Project Software Design پروژه طراحی نرم افزار

Software Testing and Debugging نرم افزار تست و اشکال زدائی

Entire Project Testing and Debugging کل پروژه تست و اشکال زدائی

Moral Support & Commiseration حمایت معنوی و ترحم

Editor of Final Project Report تدوین گزارش نهایی پروژه

Website Construction ساخت وب سایت




Antonio C. آنتونیو C.
Dorset (acd32) دورست (acd32)



Hardware Guru implementation سخت افزار پیاده سازی گورو

Essential Project Research پروژه تحقیقاتی ضروری

Project Software Design پروژه طراحی نرم افزار

Software Testing and Debugging نرم افزار تست و اشکال زدائی

Entire Project Testing and Debugging کل پروژه تست و اشکال زدائی

Moral Support & Commiseration حمایت معنوی و ترحم

Writer of Final Project Report نویسنده گزارش نهایی پروژه

Website Construction ساخت وب سایت








APPENDIX-E پیوست ناشر


Here are some pictures of our project: در اینجا برخی از تصاویر از پروژه های ما :


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/1.JPG


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/2.JPG


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/3.JPG


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/4.JPG


http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/5.JPG


















منبع (http://instruct1.cit.cornell.edu/courses/ee476/FinalProjects/s2006/acd32ddk26/Antonio%20and%20Donn%20Final%20Project.htm)

hengameh
11th December 2010, 09:57 AM
سلام دوستان
این تاپیک فقط جنبه اموزشی داره و مستقیما از یه سایت انگلیسی توسط مترجم گوگل به فارسی ترجمه شده.
پیشنهاد می کنم سراغ منبع برید و هر جاییشو که زبانتون یاری نکرد بیاین و از ترجمش استفاده کنید .چون نیاز به یه ادیتور ماهر داره[cheshmak]
بیشتر نقشه های مداراش مد نظره که خب راحت میشه ازشون سر درآورد.

محسن آزماینده
11th December 2010, 11:02 PM
سلام
ميشه از اين سيستم كنترل از راه دور تو سيستم هاي ديگه استفاده كرد؟
هزينه متوسطش چقدر ميشه؟[tafakor]

hengameh
12th December 2010, 09:36 AM
بستگی داره رو چه سیستمی با چه برد و دقتی بخوای استفاده کنی
هزینشم نمیدونم باید از لیست قطعات یه نرخ تو بازار بگیرم ببینم اصلا اینجا گیر میاد یا نه[golrooz]

actioncut
25th December 2011, 08:44 PM
از لطف شما بسیار سپاسگذارم
اگه امکان داره منبع انگلیسی را نیز ذکر بفرمایید

actioncut
25th December 2011, 08:50 PM
یکی نیست بگه پسرجان یه تکونی به خودت بده سرچ کن پیداش میکنی.
اینم لینک خارجی:
http://courses.cit.cornell.edu/ee476/FinalProjects/s2006/acd32ddk26/Antonio%20and%20Donn%20Final%20Project.htm

actioncut
27th December 2011, 09:50 AM
سلام
ميشه از اين سيستم كنترل از راه دور تو سيستم هاي ديگه استفاده كرد؟
هزينه متوسطش چقدر ميشه؟[tafakor]

اگه خودت کار طراح و ساختشو انجام بدی و فقط هزینه ی قطعات و لوازم مورد نیاز رو در نظر بگیری زیر بیست هزار تومان هزینه داره.

2alizade
29th December 2013, 08:25 PM
بستگی داره رو چه سیستمی با چه برد و دقتی بخوای استفاده کنی
هزینشم نمیدونم باید از لیست قطعات یه نرخ تو بازار بگیرم ببینم اصلا اینجا گیر میاد یا نه[golrooz]
اگه ميشه وسايل مورد نيا را يك بار ديگر ذكر نماييد.ممون ميشوم.

استفاده از تمامی مطالب سایت تنها با ذکر منبع آن به نام سایت علمی نخبگان جوان و ذکر آدرس سایت مجاز است

استفاده از نام و برند نخبگان جوان به هر نحو توسط سایر سایت ها ممنوع بوده و پیگرد قانونی دارد