// Отправка многоразрядных значений
// Константы выводов RGB-светодиода
const int RED =11;
const int GREEN =10;
const int BLUE =9;
// Переменные значений выводов RGB
int rval=0;
int gval=0;
int bval=0;
void setup()
{
Serial.begin(9600);// Инициализация последовательного
// порта на скорости 9600
// Установить выводы на выход OUT
pinMode(RED, OUTPUT);
pinMode(GREEN, OUTPUT);
pinMode(BLUE, OUTPUT);
}
void loop()
{
// Пока в буфере есть данные
while (Serial.available() > 0)
{
rval=Serial.parselnt(); //Первое число
gval=Serial.parselnt(); //второе число
bval=Serial.parselnt(); //Третье ЧИСЛО
if (Serial. read() == ' ') //Конец передачи
{
// Установить яркость R,G,B светодиода
analogWrite(RED, rval);
analogWrite(GREEN, gval);
analogWrite(BLUE, bval);
}
}
}
Соединяем элементы, к плате Arduino присоединяем переходник ХВее и модуль ХВее.
Подключаем адаптер USB ХВее Explorer к компьютеру и запускаем программу на Processing.
Программа на Processing для установки цвета RGB-светрдиода:
import processing.serial.*;
PImage img;
Serial port;
// Подключение библиотеки serial
void setup()
{
size(640,256);
// Загрузка фоновой картинки
img = loadImage("hsv.jpg");
port = new Serial(this, "СОМ9", 9600); // Открыть последовательный порт
}
void draw()
{
background(0);// Установка цвета фона
image(img,0,0);// Картинка
}
void mousePressed()
{
color с = get(mouseX, mouseY); // Получить RGB-цвет по позиции курсора мыши
String colors = int(red(c))+","+int(green(c))+","+int(blue(c))+" ";
// Преобразовать в строку
// Вывод для отладки
print(colors);
port.write(colors); // Отправка переменной в Arduino
}