loading

Step 3: Source Code

#include <18F458.h>
#device ADC=8
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=8000000)
#use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7)

#define GLCD_WIDTH 128

#define GLCD_E PIN_E0 // Enable
#define GLCD_DI PIN_B5

#define GLCD_CS1 PIN_A1 // Chip Selection 1
#define GLCD_CS2 PIN_B0

#define SERVO PIN_A3

#include <HDM64GS12.c>
#include <graphics.c>
#include <math.h>

char message[] = "EndtaS RaDaR";
float theta = 0, ytheta;

void main() {

int1 enbas;
int mesafe;
int car1, sayac, a;
int16 servopos;

setup_adc_ports(RA0_ANALOG);
setup_adc(ADC_CLOCK_INTERNAL);
set_adc_channel(0);
enbas:
glcd_init(ON);

glcd_fillScreen(OFF);

glcd_text57(30, 0, message, 1, 1);

glcd_circle(29, 37, 26, 0, 1) ;
glcd_pixel( 29 , 37 , ON);
theta = 7.85;
servopos = 550;
printf("Scan_START\r\n");
while(TRUE){

mesafe = read_adc();
//printf("th: %f -> %u \r\n\n",theta, mesafe);

ytheta = theta;
sayac = 1;
if ( enbas == TRUE ){
sayac = 50;
}
for ( a=0 ; a<sayac ; a++){
output_high(servo);
delay_us(servopos);
output_low(servo);
delay_us( 20000 - servopos );
}
if ( enbas == TRUE ) {
glcd_circle(29, 37, 25, 1, 0);
glcd_pixel( 29 , 37 , ON);
printf("Scan_START\r\n");
delay_ms(300);
}

if (ytheta >= 4.51 ) {
ytheta -=.02;
servopos += 12;
enbas = FALSE;
}
else {
//glcd_circle(29, 37, 25, 1, 0) ;
ytheta = 7.85;
servopos = 550;
//glcd_pixel( 29 , 37 , ON);
enbas = TRUE;
printf("Scan_COMPLETE\r\n");
}

//glcd_pixel( 28+(int)(car1*sin(-theta)+.5), 38-(int)(car1*cos(theta)+.5), OFF);

//glcd_pixel( 28+(int)(car1*sin(-theta-1)+.5), 38-(int)(car1*cos(theta-1)+.5), OFF);

theta = ytheta;

car1 = mesafe / 8;
glcd_pixel( 28+(int)(car1*sin(-theta)+.5), 38-(int)(car1*cos(theta)+.5), ON);
//delay_ms(10);
}
}
 
Reivach7772 years ago
Hello, friend. Thanks for sharing your work. But, I try to compile, and got some errors.

I'll apreciate it, if you could help me.

Clean: Deleting intermediary and output files.
Clean: Deleted file "Radar.ESYM".
Clean Warning: File "C:\Microcontroller software\PICC\Devices\Radar.o" doesn't exist.
Clean: Deleted file "Radar.ERR".
Clean: Done.
Executing: "C:\Microcontroller software\PICC\Ccsc.exe" +FH "Radar.c" I+="C:\Microcontroller software\PICC\Devices" +DF +LN +T +A +M +Z +Y=9 +EA
*** Error 18 "Radar.c" Line 17(10,23): File can not be opened
Not in "C:\Microcontroller software\PICC\Devices\HDM64GS12.c"
Not in local "C:\Trabajos Micro2\HDM64GS12.c"
*** Error 18 "Radar.c" Line 18(10,22): File can not be opened
Not in "C:\Microcontroller software\PICC\Devices\graphics.c"
Not in local "C:\Trabajos Micro2\graphics.c"
*** Error 18 "Radar.c" Line 19(10,18): File can not be opened
Not in "C:\Microcontroller software\PICC\Devices\math.h"
Not in local "C:\Trabajos Micro2\math.h"
*** Error 12 "Radar.c" Line 35(10,11): Undefined identifier -- glcd_init
*** Error 12 "Radar.c" Line 37(16,17): Undefined identifier -- glcd_fillScreen
*** Error 12 "Radar.c" Line 39(12,13): Undefined identifier -- glcd_text57
*** Error 12 "Radar.c" Line 41(12,13): Undefined identifier -- glcd_circle
*** Error 12 "Radar.c" Line 42(13,14): Undefined identifier -- glcd_pixel
*** Error 12 "Radar.c" Line 63(12,13): Undefined identifier -- glcd_circle
*** Error 12 "Radar.c" Line 64(13,14): Undefined identifier -- glcd_pixel
*** Error 12 "Radar.c" Line 90(13,14): Undefined identifier -- glcd_pixel
11 Errors, 0 Warnings.
Halting build on first failure as requested.
BUILD FAILED: Wed May 22 02:15:15 2013