Microcontrollers Lab

Project tutorial by raul

  • 165 views
  • 2 comments
  • 10 respects

ARDUINO PONG

Project tutorial by raul

  • 1,842 views
  • 1 comment
  • 8 respects

A GIANT LED VU METER

Project tutorial by raul

  • 1,581 views
  • 1 comment
  • 3 respects


Replicated projects 0

 raul hasn't replicated any projects yet.

ARDUINO PONG

Project tutorial by raul

  • 1,842 views
  • 1 comment
  • 8 respects

A GIANT LED VU METER

Project tutorial by raul

  • 1,581 views
  • 1 comment
  • 3 respects

  • Microcontrollers Lab about 6 hours ago

    Hello, recently upload an pdf atachment section) with photos and indications... (sorry my bad english)

  • JavaScript with Hardware [Part Zero]: JavaScript & Nodebots 11 months ago

    Thank you And best regards

  • Spectrum Analyzer Using Winamp and Arduino Uno 12 months ago

    LED Radio modified the code for only 1 dmd:

    #include <SPI.h>

    #include <DMD.h>
    //#include <DMD2.h>

    #include <TimerOne.h>

    #define DISPLAYS_ACROSS 1
    #define DISPLAYS_DOWN 1
    byte count=0;
    DMD dmd(DISPLAYS_ACROSS, DISPLAYS_DOWN);
    //SoftDMD dmd(1,1); // DMD controls the entire display

    int peak_hold_time = 1; // how long before peak decays
    int peaksize; // how many individual peak bands we have (dep. binsperband)
    int array[16] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0};
    int arraytemp[16] = {1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
    int i, j, k, r;

    void ScanDMD()
    {
    dmd.scanDisplayBySPI();
    }

    byte serial_getch() {
    while (Serial.available() == 0);
    return Serial.read();
    }

    void setup(void)
    {
    Serial.begin(19200);
    Timer1.initialize( 5100 );
    Timer1.pwm(PIN_DMD_nOE, 10); // to setup PWM and the starting brightness

    Timer1.attachInterrupt( ScanDMD );

    dmd.clearScreen( true );
    //dmd.setBrightness(20);

    }

    void loop(void)
    {
    //dmd.drawBox( 0, 0, (32*DISPLAYS_ACROSS)-1, (16*DISPLAYS_DOWN)-1, GRAPHICS_NORMAL );

    //dmd.setbrightness(50);
    byte rxbyte = serial_getch();
    if (rxbyte == 'j')
    {
    byte r1 = serial_getch()-48;// valor maximo 16
    byte y1 = serial_getch()-48;// valor maximo 2 (no lo utilizo)
    byte data = serial_getch()-97;// valor maximo 8
    drawLevel(r1,data,y1);
    }
    else if (rxbyte == 'i')
    {
    byte r1 = serial_getch()-48;
    byte y1 = serial_getch()-48;
    dmd.drawChar( r1, y1, serial_getch(), GRAPHICS_NORMAL);
    }
    else if (rxbyte == 'k')
    {
    dmd.clearScreen( true );
    }

    }

    void drawLevel(byte r1,byte data,byte y1){
    y1 = 16;
    r1 = r1+1;

    for (int i=0; i<=data; i++){
    dmd.drawLine( r1, y1-1*i, r1, y1-1*i, GRAPHICS_NORMAL);

    }

    for (int i=data+1; i<=16; i++){
    dmd.drawLine( r1, y1-1*i, r1, y1-1*i, GRAPHICS_INVERSE);
    //delay(50);
    }
    }

Add projectSign up / Login