Download presentation
Presentation is loading. Please wait.
1
SENIOR PROJECT PRESENTATION REMOTE CONTROL CAR MURAT DİNÇER
2
INTRODUCTION My project is about making a remote control car. It consists two main parts: - Transmitter - Receiver
3
TRANSMITTER Transmitter part has two main parts: - Transmitter: RT4-XXX - Microcontroller: PIC16F84
4
RECEIVER Receiver part has three main parts: - Receiver: RR4-XXX - Microcontroller: PIC16F84 - Motors and Drivers: Toy Remote Car DC Motor
5
FLOW CHART Switch PIC16F84Transmitter ReceiverPIC16F84DriverMotor
6
SERIAL DATA COMMUNICATION PIC16F84 5V RA2 RA1RA0 5V RA2 SEND RECEIVE 8 LEDs RB0-7 Close = Send Close = Ready to Receive
7
SERIAL DATA COMMUNICATION Transmitter Part list p=16F84 include "p16f84.inc" sendreg equ h'0c' Count equ h'0d' start bsf STATUS,5 movlw b'00000100' movwf TRISA movlw h'80' ;number to be sent movwf sendreg bcf STATUS,5 bsf PORTA, 1 switch btfsc PORTA,2 goto switch call ser_out circle gotocircle ser_out bcf INTCON,5 ; disable tmr0 interrupts bcf INTCON,7 ; disable global int. clrf TMR0 CLRWDT bsf STATUS,5 movlw b'11011000' movwf OPTREG bcf STATUS,5 movlw h'08' ;counter for 8 bits movwf count bcf PORTA,1 clrf TMR0 bcf INTCON,2 ;clear tmr0 flag time1 btfss INTCON, 2 ;timer overflow? goto time1 bcf INTCON, 2 ;clear tmr0 flag nxtbit rlf sendreg, f ; rotate left bcf PORTA, 1 btfsc STATUS,2 ;test carry flag bsf PORTA, 1 ;bit is set time2 btfss INTCON, 2 ;timer overflow? goto time2 bcf INTCON, 2 ;clear timer overflow flag decfsz count, f ;decrease counter goto nxtbit bsf PORTA, 1 ;output mark time3 btfss INTCON, 2 ;timer overflow? goto time3 return end
8
SERIAL DATA COMMUNICATION Receiver Part list p=16F84 include "p16f84.inc" rcvreg equ 0x0c count equ 0x0d temp equ 0x0e start bsf STATUS, rp0 movlw b'00000101' movwf TRISA movlw b'00000000' movwf TRISB bcf STATUS, rp0 clrf PORTB clrf rcvreg switch btfsc porta, 2 ;ready to send? goto switch call ser_in movf rcvreg, 0 ;get the byte received movwf PORTB ;display it goto switch ser_in bcf INTCON, 5 ;disable tmr0 intr. bcf INTCON, 7 ;disable global intr. clrf TMRO CLRWDT bsf STATUS, rp0 movlw b'11011000' movwf OPTREG bcf STATUS, rp0 movlw 0x08 movwf count ;counter for 8 bits sbit btfscPORTA, 0 ;look for start bit gotosbit movlw0x80 ;tmr0 value movwfTMR0 bcf INTCON, 2 ;clear timer flag time1 btfssINTCON,2 ;timer overflow? gototime1 btfscPORTA,0 ;start bit still low? gotosbit ;false go back clrfTMR0 ;clear tmr0 value bcfINTCON,2 ;clear timer flag time2 btfssINTCON,2 ;timer overflow? gototime2 ;no bcfINTCON,2 ;yes, clear flag movfPORTA,w ;write the value to w movwftemp ;write the bit value to temp rrftemp, f ;rotate right temp btfss STATUS,2 ; carry? bcf rcvreg,0 if not it is ‘0’ bsf rcvreg,0 if it there is ‘1’ rlfrcvreg, f ;rotate left the rcvreg decfsz count, f ;decrement counter gototime2 time3 btfssINTCON,2 ;timer overflow? gototime3 ;no return ;yes, byte received end
9
What I’ve done so far? Search about Transmitters and Receivers Communication between Transmitter and Receiver, and Testing Serial Data Communication Driving the DC Motor (Still in progress)
10
Future Steps Finalizing Driving the DC Motor Writing the program that will run the car properly Testing
11
THANK YOU
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.