Arduino's VU-meter using ArduBlock
Chapter 3
c3Head



AD0 analog input is P1b0 :
0101_02.jpg set0512_00.jpg

ArduBlock code using an analog input and three digital outputs :
arduBlockC3_3bits.jpg
This ArduBlock code

Digital outputs are connected to P2 :

0101_03.jpg


Extending code to whole P2's 8 bits :
arduBlockC3.jpg
This ArduBlock code

In Arduino language (arduBlockC3.ino) :
void setup(){
  pinMode( 11 , OUTPUT);
  pinMode( 8 , OUTPUT);
  pinMode( 10 , OUTPUT);
  pinMode( 12 , OUTPUT);
  pinMode( 13 , OUTPUT);
  pinMode( 9 , OUTPUT);
  pinMode( 19 , OUTPUT);
  pinMode( 18 , OUTPUT);
}

void loop(){
  if (( ( analogRead(A0) ) > ( 128 ) )) {
    digitalWrite( 19 , HIGH );
    if (( ( analogRead(A0) ) > ( 256 ) )) {
      digitalWrite( 18 , HIGH );
      if (( ( analogRead(A0) ) > ( 384 ) )) {
        digitalWrite( 8 , HIGH );
        if (( ( analogRead(A0) ) > ( 512 ) )) {
          digitalWrite( 9 , HIGH );
          if (( ( analogRead(A0) ) > ( 640 ) )) {
            digitalWrite( 10 , HIGH );
            if (( ( analogRead(A0) ) > ( 768 ) )) {
              digitalWrite( 11 , HIGH );
              if (( ( analogRead(A0) ) > ( 896 ) )) {
                digitalWrite( 12 , HIGH );
                if (( ( analogRead(A0) ) > ( 1000 ) )) {
                  digitalWrite( 13 , HIGH );
                }
                else{
                  digitalWrite( 13 , LOW );
                }
              }else{
                digitalWrite( 12 , LOW );
              }
            }else{
              digitalWrite( 11 , LOW );
            }
          }else{
            digitalWrite( 10 , LOW );
          }
        }else{
          digitalWrite( 9 , LOW );
        }
      }else{
        digitalWrite( 8 , LOW );
      }
    }else{
      digitalWrite( 18 , LOW );
    }
  }else{
    digitalWrite( 19 , LOW );
    digitalWrite( 18 , LOW );
    digitalWrite( 8 , LOW );
  }
}

Involved boards :

nano-eCat

uSW -LEDs
Analog Inputs
ArduinoNano