EsploraLedShow2

Bu örnek, RGB LED'deki üç rengin parlaklığını değiştirmek için farklı analog sensörlerin nasıl okunacağını gösterir.

Bu örnekte mikrofondaki genliği, ışık sensöründeki ışık miktarını ve doğrusal potansiyometrenin konumunu okuyacaksınız. Bu üç sensör RGB LED'in kırmızı, mavi ve yeşil renklerinin yoğunluğunu kontrol edecektir.

Gerekli Donanım

  • Arduino Esplora

Devre

Bu örnek için yalnızca Arduino Esplora'nız gereklidir.

Esplora'da mikrofon, kaydırıcı, ışık sensörü ve RGB led

Kod

RGB LED, üç ana rengi temsil eden üç renkten oluşur: kırmızı, yeşil ve mavi. Bu ışığın parlaklığının her biri Esplora kütüphanesindeki işlevlerle ayrı ayrı kontrol edilebilir:

Tüm renkleri tek bir komutla kontrol etmek istiyorsanız writeRGB () işlevini kullanabilirsiniz.

Bu örnekte, LED renklerinin parlaklığını kontrol etmek için Esplora'daki üç sensörden birini kullanıyoruz. Mikrofon tarafından alınan genlik, kırmızı LED'in parlaklığını artıracaktır. Kaydırıcının doğrusal potansiyometre üzerindeki konumu yeşil LED'in parlaklığını değiştirir. Işık sensöründeki ışığın yoğunluğu mavi LED'in parlaklığını değiştirecektir.

/*
  Esplora Led/Microphone

  This simple sketch reads the microphone, light sensor, and slider.
  Then it uses those readings to set the brightness of red, green and blue
  channels of the RGB LED. The red channel will change with the loudness
  "heared" by the microphone, the green channel changes as the
  amount of light in the room and the blue channel will change
  with the position of the slider.

  Created on 22 november 2012
  By Enrico Gueli <enrico.gueli@gmail.com>
  Modified 24 Nov 2012
  by Tom Igoe
*/


#include <Esplora.h>

void setup() {
  // initialize the serial communication:
  Serial.begin(9600);
}

int lowLight = 400;   // the light sensor reading when it's covered
int highLight = 1023; // the maximum light sensor reading
int minGreen = 0;     // minimum brightness of the green LED
int maxGreen = 100;   // maximum brightness of the green LED

void loop() {
  // read the sensors into variables:
  int mic = Esplora.readMicrophone();
  int light = Esplora.readLightSensor();
  int slider = Esplora.readSlider();

  // convert the sensor readings to light levels:
  byte red   = constrain(mic, 0, 255);
  byte green = constrain(
                 map(light, lowLight, highLight, minGreen, maxGreen),
                 0, 255);
  byte blue  = slider / 4;

  // print the light levels (to see what's going on):
  Serial.print(red);
  Serial.print(' ');
  Serial.print(green);
  Serial.print(' ');
  Serial.println(blue);

  // write the light levels to the LED.
  // note that the green value is always 0:
  Esplora.writeRGB(red, green, blue);

  // add a delay to keep the LED from flickering:
  delay(10);
}
[Kodu Al]

See Also