Saturday, June 29, 2013

Simplified AVR USBasp Circuit Diagram

The circuit Mr. Fischl designed for avr usb asp cotains several jumpers. We can skip those if we do not want to use some features. So here comes the simplified circuit which works very well without any problem. Also the connections that goes to the target MCU is indicated. (Collected)



 
This is the same circuit with original pin configuration of atmega8 .







The farmware ,driver and details will be found in the following link



Friday, June 28, 2013

Dot matrix display

8*16 dot matix display using atmega8 and 74hc595


Proteus Design:


CODE:
#include <avr/io.h>
#include <util/delay.h>
#include <avr/pgmspace.h>

const char dotmatrix[27][8] PROGMEM=
{

{
0b11000110,
0b11000110,
0b11111110,
0b11111110,          //A
0b10000010,
0b10000010,
0b01111100,
0b00111000,
},
{
0b11111110,
0b10000001,
0b10000001,
0b10000110,
0b11111110,            //B
0b10000001,
0b10000001,
0b11111110,
},
{
0b01111110,
0b10000001,
0b10000000,
0b10000000,            //C
0b10000000,
0b10000011,
0b10000001,
0b01111110,
},
{
0b11111000,
0b11000100,
0b11000110,
0b11000110,
0b11000110,              //D
0b11000110,
0b11000100,
0b11111000,
},
{
0b11111110,
0b11000000,
0b11000000,
0b11111000,            //E
0b11111000,
0b11000000,
0b11000000,
0b11111110,
},
{
0b10000000,
0b10000000,
0b10000000,
0b10000000,
0b11111000,                //F
0b10000000,
0b10000000,
0b11111111,
},
{
0b01111110,
0b10000010,
0b10001110,
0b10000000,                //G
0b10000000,
0b10000000,
0b10000001,
0b01111110,
},
{
0b10000001,
0b10000001,
0b10000001,
0b10000001,                //H
0b11111111,
0b10000001,
0b10000001,
0b10000001,
},
{
0b01111100,
0b00010000,
0b00010000,
0b00010000,                //I
0b00010000,
0b00010000,
0b00010000,
0b01111100,
},
{
0b00001100,
0b00010010,
0b00010010,
0b00010000,                //J
0b00010000,
0b00010000,
0b00010000,
0b01111110,
},
{
0b10001100,
0b10010000,
0b10100000,
0b11000000,                //K
0b11000000,
0b10100000,
0b10010000,
0b10001100,
},
{
0b11111110,
0b10000000,
0b10000000,                //L
0b10000000,
0b10000000,
0b10000000,
0b10000000,
0b10000000,
},
{
0b01000010,
0b01000010,
0b01000010,
0b01000010,
0b01000010,                //M
0b01011010,
0b01100110,
0b01000010,
},
{
0b10000001,
0b10000011,
0b10000101,
0b10001001,
0b10010001,                //N
0b10100001,
0b11000001,
0b10000001,
},
{
0b00111100,
0b01000010,
0b10000001,
0b10000001,                //O
0b10000001,
0b10000001,
0b01000010,
0b00111100,
},
{
0b10000000,
0b10000000,
0b10000000,
0b10000000,                //P
0b11111110,
0b10000001,
0b10000001,
0b11111110,
},
{
0b00000011,
0b10000100,
0b01111110,
0b10001001,            //Q
0b10010001,
0b10000001,
0b10000001,
0b01111110,
},
{
0b10000110,
0b10001000,
0b10010000,
0b10100000,
0b11111110,            //R
0b10000001,
0b10000001,
0b11111110,
},
{
0b01111100,
0b10000010,
0b00000010,
0b01111100,                //S
0b10000000,
0b10000000,
0b01000010,
0b00111100,
},
{
0b00010000,
0b00010000,
0b00010000,
0b00010000,                //T
0b00010000,
0b00010000,
0b00010000,
0b11111110,
},
{
0b00111100,
0b01000010,
0b10000001,
0b10000001,                //U
0b10000001,
0b10000001,
0b10000001,
0b10000001,
},
{
0b00011000,
0b00100100,
0b01000010,
0b01000010,                //v
0b10000001,
0b10000001,
0b10000001,
0b10000001,
},
{
0b11000011,
0b11000011,
0b10100101,
0b10011001,                //W
0b10000001,
0b10000001,
0b10000001,
0b10000001,
},
{
0b10000001,
0b10000001,
0b01000010,
0b00100100,            //X
0b00011000,
0b00100100,
0b01000010,
0b10000001,
},
{
0b00011000,
0b00011000,
0b00011000,
0b00011000,            //Y
0b00100100,
0b01000010,
0b10000001,
0b10000001,
},
{
0b11111111,
0b11000000,
0b01100000,
0b00110000,                //Z
0b00011000,
0b00001100,
0b00000110,
0b11111111,
},
{
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
0b00000000,
},

};

int main(void){


DDRD=0xFF;
DDRC=0xFF;
PORTD=0xFF;
PORTC=0x00;
int k,j,l,q,i,s,t=1,sp=5,in,dec,array[]={18,0,4,4,3,26,26,26};
char A;
unsigned long   aaa,x;


while(1){t=1;
    for(s=0;s<=4;s++){
       for(q=7;q>=0;q--){
          if(t){q=32;t=0;}
          for(j=0;j<sp;j++){            //defines speed
            for(k=0;k<=7;k++){


            aaa=0x00;
            A=pgm_read_byte(&(dotmatrix[array[s]][k]));
            aaa=aaa|A;
            aaa=aaa<<8;
            A=pgm_read_byte(&(dotmatrix[array[s+1]][k]));
            aaa=aaa|A;
            aaa=aaa<<8;
            A=pgm_read_byte(&(dotmatrix[array[s+2]][k]));
            aaa=aaa|A;
            aaa=aaa<<8;
            A=pgm_read_byte(&(dotmatrix[array[s+3]][k]));
            aaa=aaa|A;


            aaa=(aaa>>q);




                    for(i=31;i>=0;i--){
                        PORTD=0b11111111;
                        PORTC=0b00000000;
                        x=aaa&(1<<i);
                        if(x)
                        PORTC=0b00000011;
                        //_delay_ms(1);}
                        else
                        PORTC=0b00000010;
                        //_delay_ms(1);}
                    }

                    PORTC=0b00000100;

                    PORTD=0b11111111^(1<<(k));

                    if(t==1)
                    _delay_ms(0.1);
                    else
                    _delay_ms(0.2);



                }
            }



        }
    }
}




return 0;
}


Tuesday, June 25, 2013

Bangladeshi Stores for Elcetonics and Robotics Spare Parts

Stores where u can find electronics and robotics parts at cheap rate by ordering by mobilephone.

1.Speedytron Electronics

Facebook Page: Speedytron Electronics
Mirpur, Dhaka.
Email: speedytron@asia.com



2.Telecom Spares
Facebook Page:Telecom Spares
Patuatuli,Puran Dhaka
Email: ahsan4141@yahoo.com



3.New Mitsu Electronics
Vasani Stadium, Dhaka
Cell:01710-846477



Bangladesh Online Stores (Rate is higher).

1. Techshop.com
2. store.roboticsbd.com
3.Facebool Page: hobbyshopbd (cheaper rate)
4.www.smrtechbd.com