Show Posts
Pages: 1 ... 125 126 [127] 128 129 ... 132
1891  Forum 2005-2010 (read only) / Troubleshooting / Re: Do not buy the mega 2560 until gcc is fixed!! on: November 22, 2010, 09:40:10 am
Has the Arduino IDE 021 the same problem with the Arduino Mega 2560 ?
1892  Forum 2005-2010 (read only) / Troubleshooting / Re: Motor shield problems on: October 20, 2010, 08:18:49 am
Connect a multimeter to the screwterminals for the motor then run your sketch. If your shield works normal you should see the delivered voltage !
1893  Forum 2005-2010 (read only) / Troubleshooting / Re: Motor shield problems on: September 04, 2010, 02:45:56 pm
Tamiya Tracked Vehicle Chassis Kit Item #70108 :
1894  Forum 2005-2010 (read only) / Development / Re: Part# for: 16 MHz crystal oscillator on: August 28, 2010, 04:03:52 pm
Can i use this ?

Technical data:

Manufacturer: Abundance

Crystal HC49U 16.000.000Hz

-10 bis +60°C

Toleranz(25°C) +-30ppm

1,0mW
1895  Forum 2005-2010 (read only) / Interfacing / Atmega644 on: January 10, 2011, 02:49:59 am
I have burned the bootloader to the atmega644, the sanguino one.
It has ended with the message 'Done burning bootloader'.
-Using an Arduino as an AVR ISP (In-System Programmer):
http://arduino.cc/en/Tutorial/ArduinoISP

Then i have tried to transfer a sketch to the atmega644.
-From Arduino to a Microcontroller on a Breadboard:
http://arduino.cc/en/Tutorial/ArduinoToBreadboard

But i have get some error messages:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

The atmega644 has an extern 16mhz crystal.
1896  Forum 2005-2010 (read only) / Interfacing / Re: SID 6581 & Speakjet Chip on: December 08, 2010, 07:01:10 am
Are 200Ohm resistors good enough for the job ?
1897  Forum 2005-2010 (read only) / Interfacing / SID 6581 & Speakjet Chip on: December 07, 2010, 08:02:56 pm
I want create a circuit with a SID6581 and a Speakjet chip.
Is it good enough to combine the audiooutputs from both chips ?
1898  Forum 2005-2010 (read only) / Interfacing / Re: RGB LED Matirx problems on: December 08, 2010, 06:59:33 am
You use a common anode RGB Matrix.
Red 2,1V, green and blue 3,2V.

If you use a shiftregister like the 74HC595 for the cathodes you can't fade them.

Good idea to use TLC5940 for the cathodes and a 74HC595 for the anodes !
1899  Forum 2005-2010 (read only) / Interfacing / MOS8364 Paula on: December 07, 2010, 08:01:23 pm
Do you know a source for a MOS8364 Paula datasheet ?
1900  Forum 2005-2010 (read only) / Interfacing / Re: wrobot 16x16 led matrix on: November 21, 2010, 05:30:40 pm
You can only light up the leds from one row at once.
After that you switch to the next row and light up their leds.

This is what you must do with all 16 row after each other.

This 50 - 60 times a second !

Row-columm Scanning to control an 8x8 LED Matrix:
http://www.arduino.cc/en/Tutorial/RowColumnScanning
1901  Forum 2005-2010 (read only) / Interfacing / Re: wrobot 16x16 led matrix on: November 16, 2010, 04:54:38 pm
The functions in the second code replace the similar functions in the first code !

You can find the original code here:
http://www.emartee.com/Modules/bbs/viewthread.php?tid=711&extra=page%3D1
1902  Forum 2005-2010 (read only) / Interfacing / Re: wrobot 16x16 led matrix on: November 09, 2010, 04:52:58 am
What's IC control the LEDs ?
1903  Forum 2005-2010 (read only) / Interfacing / Re: wrobot 16x16 led matrix on: November 08, 2010, 12:47:41 pm
I think they are the same !
1904  Forum 2005-2010 (read only) / Interfacing / Re: wrobot 16x16 led matrix on: November 08, 2010, 08:26:54 am
Here is some function which moves the words from right to left:

Code:
   /***************** load the data of a row *****************/
    void loadoneline( )
    {
    byte s;
    unsigned int k;
       for(s=0;s< ScreenNO+1;s++)          
       {
            k = wordnumber+32*s+2*disrow;
            if (k>=WordNO*32)k -= WordNO*32;
       BUFF[2*s+1]=HZ[k];
       BUFF[2*s]=HZ[k+1];
       }
    }
    /*************** send the data of a row *******************/
    void sendoneline( )
    {
    byte s;
    byte inc;
    if(col<8)inc=0;else inc=1;
       for(s=1+inc;s<=2*ScreenNO+inc;s++)
       {
       sendUtra(two_onechar(BUFF[s-1],BUFF[s]));
       }
    }
    /******* generate data which makes word moving ************/
    byte two_onechar(byte h1,byte h2)
    {
    byte temp,tempcol;        
    if(col<8) tempcol=col;
    else tempcol=col-8;
    temp=(h1>>tempcol)|(h2<<(8-tempcol));  
    return temp;          
    }
1905  Forum 2005-2010 (read only) / Interfacing / Re: wrobot 16x16 led matrix on: November 08, 2010, 08:25:43 am
This program is displaying words moving from left to right.

Code:
   #define SPEED    6                               //Speed of rolling. The bigger,the slower
    #define WordNO 12                                 //number of letters(here one letter on one screen) you want to display + Screen number
    #define ScreenNO 4                                //define the screen number used

    byte HZ[]={
    //===== You have to give 32*ScreenNo 0xff bytes as follows,here 4 screens =====

    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
    0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,


    //=============================================================================


    /*0xff,0xff,0x80,0x01,0x80,0x01,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x80,0x03,
    0x80,0x03,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x80,0x01,0x80,0x01,0xff,0xff, //"E"

    0xff,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,
    0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x80,0x01,0x80,0x01,0xff,0xff,// "L"

    0xff,0xff,0x80,0x01,0x80,0x01,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x80,0x03,
    0x80,0x03,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x80,0x01,0x80,0x01,0xff,0xff, //"E"

    0xff,0xff,0xe0,0x07,0xc0,0x03,0xcf,0xf3,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,
    0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0xcf,0xf3,0xc0,0x03,0xe0,0x07,0xff,0xff,// "C"

    0xff,0xff,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x80,0x01,
    0x80,0x01,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0xff,0xff,// "H"

    0xff,0xff,0xf8,0x1f,0xf0,0x0f,0xe3,0xc7,0xe7,0xe7,0xc7,0xe3,0xcf,0xf3,0xcf,0xf3,
    0xcf,0xf3,0xcf,0xf3,0xc7,0xe3,0xe7,0xe7,0xe3,0xc7,0xf0,0x0f,0xf8,0x1f,0xff,0xff,// "O"

    0xff,0xff,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,
    0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0x8f,0xf1,0xc0,0x03,0xe0,0x07,0xff,0xff,// "U"

    0xff,0xff,0xfc,0x3f,0xf9,0x9f,0xf3,0xcf,0xe7,0xe7,0xe7,0xff,0xf3,0xff,0xf8,0x3f,
    0xfc,0x1f,0xff,0xcf,0xff,0xe7,0xe7,0xe7,0xf3,0xcf,0xf9,0x9f,0xfc,0x3f,0xff,0xff,// "S"

    0xff,0xff,0x80,0x01,0x80,0x01,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x80,0x03,
    0x80,0x03,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x80,0x01,0x80,0x01,0xff,0xff, //"E"

    0xff,0xff,0x8f,0xf1,0x87,0xe1,0x83,0xc1,0x93,0xc9,0x93,0xc9,0x99,0x99,0x99,0x99,
    0x99,0x99,0x9c,0x39,0x9c,0x39,0x9e,0x79,0x9f,0xf9,0x9f,0xf9,0x9f,0xf9,0xff,0xff,// "M"*/

    0xff,0xff,0xfc,0x3f,0xf3,0xcf,0xef,0xf7,0xdf,0xfb,0xd3,0xcb,0xbf,0xfd,0xbf,0xfd,
    0xbf,0xfd,0xbb,0xdd,0xdc,0x3b,0xdf,0xfb,0xef,0xf7,0xf3,0xcf,0xfc,0x3f,0xff,0xff,//smile

    0xff,0xff,0xfc,0x3f,0xfc,0x3f,0xf8,0x1f,0xf9,0x9f,0xf1,0x8f,0xf3,0xcf,0xf3,0xcf,
    0xe0,0x07,0xe0,0x07,0xe7,0xe7,0xc7,0xe3,0xcf,0xf3,0x8f,0xf1,0x9f,0xf9,0xff,0xff,//"A"

    0xff,0xff,0xe7,0xcf,0xe7,0x9f,0xe7,0x3f,0xe6,0x7f,0xe4,0xff,0xe1,0xff,0xe3,0xff,
    0xe7,0xff,0xe7,0xff,0xe7,0xff,0xe7,0xff,0xe7,0xff,0xe7,0xff,0xff,0xff,0xff,0xff,//"r"

    0xff,0xff,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xff,0x9f,0xf0,0x1f,0xe0,0x1f,0xc7,0x9f,
    0xcf,0x9f,0xcf,0x9f,0xcf,0x9f,0xc7,0x9f,0xe0,0x0f,0xf0,0x0f,0xff,0xff,0xff,0xff,//"d"

    0xff,0xff,0xff,0xff,0xff,0xff,0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,
    0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,0xe3,0x8f,0xf0,0x0f,0xf8,0x27,0xff,0xff,0xff,0xff,//"u"

    0xff,0xff,0xfe,0x7f,0xfe,0x7f,0xff,0xff,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,
    0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0xfe,0x7f,0xff,0xff,0xff,0xff,//"i"

    0xff,0xff,0xff,0xff,0xf8,0x3f,0xf0,0x1f,0xe3,0x8f,0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,
    0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,0xe7,0xc7,0xff,0xff,0xff,0xff,0xff,0xff,//"n"

    0xff,0xff,0xff,0xff,0xf8,0x3f,0xf0,0x1f,0xf3,0x9f,0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,
    0xe7,0xcf,0xe7,0xcf,0xe7,0xcf,0xf3,0x9f,0xf0,0x1f,0xf8,0x3f,0xff,0xff,0xff,0xff//"o"

    };
    byte BUFF[2*ScreenNO+2];
    byte col,disrow;                                   //col--moving pointer;disrow--scanning row
    unsigned int wordnumber;                           //the bytes of words you want to display
    int Dpin[]={4,5,6,7};
    int OOE=2;
    int RCK=10;
    int SCK=9;
    int SER=8;
    int VCC=11;
    int GND=3;

    void setup()
    {
       pinMode(2,OUTPUT);
       pinMode(3,OUTPUT);
       pinMode(4,OUTPUT);
       pinMode(5,OUTPUT);
       pinMode(6,OUTPUT);
       pinMode(7,OUTPUT);
       pinMode(8,OUTPUT);
       pinMode(9,OUTPUT);
       pinMode(10,OUTPUT);
       pinMode(11,OUTPUT);
      
            //Serial.begin(9600);
       digitalWrite(OOE,HIGH);
            digitalWrite(VCC,HIGH);
            digitalWrite(GND,LOW);
            digitalWrite(SCK,LOW);
    }
    void loop()
    {
    byte i;
    col=0;wordnumber=0;
    while(1)
    {
       while(col<16)               // circulate for 16 time, which is moving a letter through a creen
       {
          for(i=0;i<SPEED;i++)    //the time of static display for a letter
          {
             for(disrow=0;disrow<16;disrow++)            //scanning the row
             {
                             digitalWrite(OOE,HIGH);
                             digitalWrite(RCK,LOW);
             loadoneline();                              //load the data of a row
             sendoneline();                              //send the data of a row
             sendPin(disrow);
             digitalWrite(OOE,LOW);                     // enable the row scanning
                  digitalWrite(RCK,HIGH);                    //light a row
                            delay(1);
             }
          }
       col++;                                                  //moving pointer
       }
    col=0;
    wordnumber+=32;               // point to the next word
    if(wordnumber>=WordNO*32)wordnumber=0;              //while all the letters are dispalyed, back to the beginning
    }
    }
    /***************** load the data of a row *****************/
    void loadoneline( )
    {
    byte s;
    unsigned int k;
       for(s=0;s< ScreenNO+1;s++)          
       {
            k = wordnumber+32*s+2*disrow;
            if (k>=WordNO*32)k -= WordNO*32;
       BUFF[2*s]=HZ[k];
       BUFF[2*s+1]=HZ[k+1];
       }
    }
    /*************** send the data of a row *******************/
    void sendoneline( )
    {
    byte s;
    byte inc;
    if(col<8)inc=0;else inc=1;
       for(s=2*ScreenNO+inc;s>=1+inc;s--)
       {
       sendUtra(two_onechar(BUFF[s-1],BUFF[s]));
       }
    }
    /*********** generate data which makes word moving ************/
    byte two_onechar(byte h1,byte h2)
    {
    byte temp,tempcol;
    if(col<8) tempcol=col;
    else tempcol=col-8;
    temp=(h1<<tempcol)|(h2>>(8-tempcol));
    //temp=255-temp;
    return temp;
    }
    /***************************************************************/
    void sendPin(byte j)
    {
            for (int n=0;n<4;n++)
       {
          if((0x01&j) < 0x01)
                    {digitalWrite(Dpin[n],LOW);}
                    else
                    {digitalWrite(Dpin[n],HIGH);}
          j>>=1;
       }
    }
    /**************************************************************/
    void sendUtra(byte j)
    {
       for (int n=0;n<8;n++)
       {
          digitalWrite(SCK,LOW);
                    if((0x01&j) < 0x01)
                    {digitalWrite(SER,LOW);}
                    else
                    {digitalWrite(SER,HIGH);}
          j=j>>1;
          digitalWrite(SCK,HIGH);
                    //delay(1);

       }
    }

You must set
Code:
   #define ScreenNO 4                                //define the screen number used
to the numbers of screens you used. Only one, you must change it into
Code:
   #define ScreenNO 1                                //define the screen number used
Pages: 1 ... 125 126 [127] 128 129 ... 132