#include<avr/io.h>
#define F_CPU 1000000
#include<util/delay.h>
#define LCD_DATA_PORT PORTB
#define LCD_CONT_PORT PORTD
#define LCD_RS PD0
#define LCD_RW PD1
#define LCD_EN PD2
#include<avr/lcd.h>
#include<avr/adc.h>
#include<avr/adxl335.h>
#define X_MIN 340
#define X_MAX 420
#define Y_MIN 340
#define Y_MAX 420
Int main(void)
{
DDRB=0xff;
DDRD=0x07;
DDRC=0x0f;
int x_axis,y_axis;
adc_init();
lcd_init();
lcd_string_write(“CHANDIGARH UNIVERSITY”);
lcd_command_write(0xc0);
lcd_string_write(“www.cuchd.in”);
_delay_ms(500);
_delay_ms(500);
_delay_ms(500);
_delay_ms(500);
lcd_command_write(0x01);
lcd_string_write(“Tilt your Hand:”);
lcd_command_write(0xc0);
while(1)
{x_axis=read_adxl335_x_value(0);
y_axis=read_adxl335_x_value(1);
lcd_command_write(0xc0);
if(x_axis>X_MAX)
{PORTC=0x0A;
lcd_string_write(“Moving Forward“);
}
else if(x_axis<X_MIN)
{PORTC=0x05;
lcd_string_write(“Moving Backward”);
}
else if(y_axis>Y_MAX)
{PORTC=0x08;
lcd_string_write(“Moving Right“);
}
else if(y_axis<Y_MIN)
{PORTC=0x02;
lcd_string_write(“Moving Left“);
}
else
{PORTC=0x0F;
lcd_string_write(“Stopped “);}}}
Top Related