VU-Meter

En VU-meter är en rad med flera LEDs. I detta exempel kommer du få förklarat hur du kopplar dem och hur du kontrollerar dem med EducationShield-biblioteket. Du kan använda så många LED:s som du vill, så länge Arduinon har tillräckligt många digitala pins. I det här exemplet kommer du använda 5 LED:s. När flera LED:s äranvänds kan alla korta ben kopplas samman till och därför dela på GND. Men för att kunna kontrollera varje LED för sig behöver du koppla de långa benen separat till en digital pin.

Material

  • 1 Arduino Uno
  • 1 Education-sköld
  • 5 LED:s
  • 5 220 ohms resistorer
  • 10 labbkablar

Instruktioner

  1. Fäst skölden på Arduinons ovansida.
  2. Koppla 5 LED:s över kopplingsdäckets mittengap.
  3. Koppla en 220 ohms resistor till digital pin 2.
  4. Koppla resistorn till det långa benet på den första LED:n.
  5. Koppla digitala pin 3 till 6 till varsin LED, genom att följa samma metod.
  6. Använd de svarta labbkabklarna och koppla det korta benet på varje LED till GND.
  7. Koppla Arduinon till datorn och ladda upp exemplet vuMeter.

Kod

Hitta koden i Example>EducationShield>Help>vuMeter

Alla LED:s bör nu sättas på i tre sekunder. Efter det bör de gå igenom en serie blinksekvenser. Se nedan för detaljer.

Kommandon

  • VUMeter - skapar ett VUMeter-objekt.

  • config( length, pins) – konfigurerar VU-metern. Måste anropas i setup().
    • Parametrar

      • (int) length - Antalet LED:s som vu-metern innehåller.
      • (int) pins: Array av de digitala pinnummer till vilka LED:erna är kopplade.

  • begin() – nitialiserar VU-metern. Måste anropas i setup().

  • clear() - stänger av alla LED:s.

  • on( index ) - sätter påen LED.
    • Parametrar
      • (int) index - Arrayindex på den LED du vill sätta på.

  • off( index )stänger av en LED.
    • Parametrar
      • (int) index: Arrayindex på den LED du vill stänga av.

  • scrollRight( speed, startIndex ) - sätter på en LED åt gången från vänster till höger.
    • Parametrar
      • (int) speed - hur länge varje LED är på, i millisekunder.
      • (int) startIndex - Arrayindex på den första LED:n som sätts på.

  • scrollLeft(speed, startIndex ) – sätter igång en LED åt gången från höger till vänster.
    • Parametrar
      • (int) speed - hur länge varje LED är på, i millisekunder.
      • (int) startIndex - Arrayindex på den första LED:n som sätts på.

  • blink( index, speed, times ) – blinkar en LED.
    • Parametrar
      • (int) index- Arrayindex på den LED som ska blinka.
      • (int) speed - hur snabbt LED:n kommer att blinka i millisekunder.
      • (int) time - antalet gånger som LED:n blinkar.

  • blinkAll( speed, times ) - blinkar alla LED:s.
    • Parametrar
      • (int) speedhur snabbt LED:erna blinkar i millisekunder.
      • (int) times - antalet gånger LED:erna blinkar.

  • fillFrom( startIndex, stopIndex ) - sätter på LED:erna från startIndex till stopIndex.
    • Parametrar
      • (int) startIndex - Arrayindex på den första LED:n som ska sättas på.
      • (int) stopIndex - Arrayindex på den sista LED:n som ska sättas på.

  • fill( length ) - sätter på LED:erna från den första till length.
    • Parametrar
      • (int) length - antalet LED:s som ska sättas på.

Problemlösning

  • Om inte alla LED: lyser upp, var noga med att labbkablar, LED:s och resistorer är korrekt kopplade till kopplingsdäcket. Se referenssidan för kopplingsdäck om du inte är säker på hur det fungerar. Kopplar du komponenter som inte är tänkta att kopplas till samma rad på kopplingsdäcket blir det kortslutning.
  • Var noga med att ha kopplat LED:erna till samma pins som koden anger.
  • Var noga med att de korta benen på LED:erna är kopplade till GND.