Skip to main content

Posts

Showing posts from May, 2019

GSM message sending system

Aim: To send a message using gsm module from microcontroller to phone. Code: #define F_CPU 8000000UL #define BAUD RATE 9600 #include<avr/io.h> #include<util/delay.h> void lcd_cmd(char value); void lcd_data(char value); void lcd_string(char *str); void lcd_num(unsigned int number); void usart_init(); void usart_transmit(char x); char usart_recieve(); int j=0; void initialize() { lcd_cmd(0x01); //clear LCD lcd_cmd(0x02);    //home position lcd_cmd(0x06);    //L-R //lcd_cmd(0x04); lcd_cmd(0x28); //4 bit mode lcd_cmd(0x0C);    //character generation } void lcd_cmd(char value) { int un,ln; // pc7-pc4 = un ; pc3-pc4 =ln un=value&0xF0; // & is anding function PORTC=0x04|un; _delay_ms(2); PORTC=0x00|un; _delay_ms(2); ln=(value<<4)&0xF0; //<<=left shif by 4 bits _delay_ms(2); PORTC=0x04|ln; _delay_ms(2); PORTC=0x00|ln; } void lcd_data(char value) { ...

RFID based attendance system

Aim: To take attendance using passive RFID tags. Code: #define F_CPU 8000000UL #define BAUD RATE 9600 #include<avr/io.h> #include<util/delay.h> #include<avr/io.h> #include<util/delay.h> void initialize(); void lcd_cmd(char value); void lcd_data(char value); void lcd_string(char *str); void lcd_num(unsigned int number); void usart_init(); void usart_transmit(char x); char usart_recieve(); void initialize() { lcd_cmd(0x01); //clear LCD lcd_cmd(0x02);    //home position lcd_cmd(0x06);    //L-R //lcd_cmd(0x04); lcd_cmd(0x28); //4 bit mode lcd_cmd(0x0C);    //character generation } void lcd_cmd(char value) { int un,ln; // pc7-pc4 = un ; pc3-pc4 =ln un=value&0xF0; // & is anding function PORTC=0x04|un; _delay_ms(2); PORTC=0x00|un; _delay_ms(2); ln=(value<<4)&0xF0; //<<=left shif by 4 bits _delay_ms(2); PORTC=0x04|ln; _delay_ms(2); PORTC=0x00|ln; } void lcd_data(char value) { int...

Bluetooth Bot

Aim: To control a bot using Bluetooth. Code: #define F_CPU 8000000UL #define BAUD RATE 9600 #include<avr/io.h> #include<util/delay.h> void usart_init(); void usart_transmit(char x); char usart_recieve(); void usart_init(){ UBRRH=0; UBRRL=51; // or 0x33 UCSRB=0x18; UCSRC=0x86; } void usart_transmit(char x){ while((UCSRA&0x20)==0); UDR=x; //data gets stored in UDR } char usart_recieve(){ while((UCSRA&0x80)==0);//Till it gets overflow return UDR; } int main() { DDRC=0xFF; PORTC=0xff; _delay_ms(1000); PORTC=0x00; usart_init(); _delay_ms(2); char a[10]; int i=0; while(1) { if(usart_recieve()=='b'){ if(usart_recieve()=='a'){ if(usart_recieve()=='c'){ if(usart_recieve()=='k'){ if(usart_recieve()=='$'){ PORTC=0b00000101; _delay_ms(100); }}}}} if(usart_recieve()=='r'){ if(usart_recieve()=='i'){ if(usart_recieve()=='g'){ if(usart_recieve()=='h'){ if(usart_recieve()=='t'){ if...

LED Matrix

Aim: To display a character or letter on a 8x8 LED matrix. Code: #define F_CPU 8000000UL #include<avr/io.h> #include<util/delay.h> int main(){ DDRC=0xFF; DDRD=0xFF; DDRB=0x00; while(1){ if(PINB==0x01){ PORTC=0x08; PORTD=0xEF; _delay_ms(100); PORTC=0x1C; PORTD=0xC7; _delay_ms(100); PORTC=0x3E; PORTD=0x83; _delay_ms(100); PORTC=0x7F; PORTD=0x01; _delay_ms(100); PORTC=0xFF; PORTD=0x00; _delay_ms(100); PORTC=0x7F; PORTD=0x01; _delay_ms(100); PORTC=0x3E; PORTD=0x83; _delay_ms(100); PORTC=0x1C; PORTD=0xC7; _delay_ms(100); PORTC=0x08; PORTD=0xEF; _delay_ms(100); } else if(PINB==0x02){ PORTC=0x02; PORTD=0xF0; _delay_ms(1); PORTC=0x04; PORTD=0xEF; _delay_ms(1); PORTC=0x08; PORTD=0xDF; _delay_ms(1); PORTC=0x10; PORTD=0xBF; _delay_ms(1); PORTC=0x20; PORTD=0xDF; _delay_ms(1); PORTC=0x40; PORTD=0xEF; _delay_ms(1); PORTC=0x80; PORTD=0xF0; _delay_ms(1); }}} Proteus Simulation: LED matrix simulatio...

Obstacle detector

Object Detector Bot Aim: To design a robot for object detection. Procedure: I have used Ultrasonic Sensor for this purpose. Platform used: Arduino Uno Bot's Job- 1)  to maintain certain distance from the object Working model using Arduino Following is the video for experiment: Click to View the video

Password Security

Aim: To make a Password Security System using ATmega16 microcontroller, LCD (16x2), Keypad (4x3) and motor. NOTE: Motor needs L293D IC ( I have not used it for the simulation). Code: #define F_CPU 8000000UL #include<avr/io.h> #include<util/delay.h> void initialize(); void lcd_cmd(char value); void lcd_data(char value); void lcd_string(char *str); void lcd_num(unsigned int number); void motor(); void initialize() { lcd_cmd(0x01); //clear LCD lcd_cmd(0x02);    //home position lcd_cmd(0x06);    //L-R //lcd_cmd(0x04); lcd_cmd(0x28); //4 bit mode lcd_cmd(0x0C);    //character generation } void lcd_cmd(char value) { int un,ln; // pc7-pc4 = un ; pc3-pc4 =ln un=value&0xF0; // & is anding function PORTC=0x04|un; _delay_ms(2); PORTC=0x00|un; _delay_ms(2); ln=(value<<4)&0xF0; //<<=left shif by 4 bits _delay_ms(2); PORTC=0x04|ln; _delay_ms(2); PORTC=0x00|ln; } voi...

Digital Timer

Aim: To make a Digital Timer using ATmega16 microcontroller and seven segment displays. Code: #define F_CPU 8000000UL #include<avr/io.h> #include<util/delay.h> int main() { DDRD=0xFF; DDRB=0xFF; DDRC=0xFF; DDRA=0xFF; char ar[10]={0x81,0xF3,0x49,0x61,0x33,0x25,0x05,0xF1,0x01,0x21}; int i,j,k,l,m,n,o,p; for(i=0;i<3;i++) { for(j=0;j<10;j++) { for(k=0;k<6;k++) { for(l=0;l<10;l++) { for(m=0;m<6;m++) { for(n=0;n<10;n++) { for(o=0;o<10;o++){ for(p=0;p<10;p++){ if(j==2 && i==4){ j=0; i=0; } PORTD=0b000101010; PORTB=ar[n]; PORTC=ar[l]; PORTA=ar[j]; _delay_ms(9); PORTD=0b000010101; PORTB=ar[m]; PORTC=ar[k]; PORTA=ar[i]; _delay_ms(1); }}}}}}}}} Hardware information:  PortD= Control seven segments PortB= Seconds PortC= Minutes PortA= Hours  Proteus Simulation: Digital timer simulation  Constraints:  1) To reset, Close the program and the restart. 2) Uses nearly all ports of micro cont...

Calculator

Aim: To make a calculator using ATmega16 microcontroller, LCD (16x2) and Keypad (4x4). Note: LCD used in 4 bit mode Code: #define F_CPU 8000000UL #include<avr/io.h> #include<util/delay.h> #include<math.h> void initialize(); void lcd_cmd(char value); void lcd_data(char value); void lcd_string(char *str); void lcd_num(long int number); void keypad(); void operate(); void check(); void special(); long int z=0,i=0,j=0,ar[10],arr[10],far[10],farr[10],op[10],inc=0; void initialize() { lcd_cmd(0x01); //clear LCD lcd_cmd(0x02);    //home position lcd_cmd(0x06);    //L-R //lcd_cmd(0x04); lcd_cmd(0x28); //4 bit mode lcd_cmd(0x0C);    //character generation } void lcd_cmd(char value) { int un,ln; // pc7-pc4 = un ; pc3-pc4 =ln un=value&0xF0; // & is anding function PORTC=0x04|un; _delay_ms(2); PORTC=0x00|un; _delay_ms(2); ln=(value<<4)&0xF0; //<<=left shif by 4 ...