EsploraLedShow

Bu örnekte, joystick'ten değerlerin nasıl okunacağı gösterilmektedir. Çıkış, seri monitörden ve RGB LED üzerinde bir renk olarak görüntülenecektir.

Kumanda kolunun X ve Y olmak üzere iki ekseni vardır. Her eksen RGB LED'inin rengini kontrol eder: X ekseni ile kırmızı ve Y ekseni ile yeşil. Mavi elementin parlaklığı doğrusal potansiyometrenin konumu ile kontrol edilecektir.

Gerekli Donanım

  • Arduino Esplora

Devre

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

Esplora'daki RGB LED'in rengini kontrol etmek için joystick ve kaydırıcı

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.

Kumanda kolunu hareket ettirmek ve doğrusal potansiyometrenin konumunu değiştirmek farklı değerler üretecektir. Bu değerler iki farklı çıkış üretmek için kullanılır: biri seri monitörü açarak görünecek, diğeri ise RGB led üzerinden fiziksel olarak görüntülenecektir.

/*
  Esplora LED Show

  Makes the RGB LED bright and glow as the joystick or the
  slider are moved.

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

#include <Esplora.h>

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

void loop() {
  // read the sensors into variables:
  int xAxis = Esplora.readJoystickX();
  int yAxis = Esplora.readJoystickY();
  int slider = Esplora.readSlider();

  // convert the sensor readings to light levels:
  byte red   = map(xAxis, -512, 512, 0, 255);
  byte green = map(yAxis, -512, 512, 0, 255);
  byte blue  = slider / 4;

  // print the light levels:
  Serial.print(red);
  Serial.print(' ');
  Serial.print(green);
  Serial.print(' ');
  Serial.println(blue);

  // write the light levels to the LED.
  Esplora.writeRGB(red, green, blue);

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

See Also