PHP код:
import processing.serial.*;
Serial port;
int x,y,x1,y1,x2,y2,x3,y3,x4,y4,x5,y5,x6,y6,w1,h1,w6,h6,lock;
PImage bs; // Все кнопки не нажаты
PImage dw; // Все кнопки не нажаты, нажата "DIM"
PImage dw1; // Все кнопки не нажаты, нажата "MENU"
PImage dw2; // Все кнопки не нажаты, нажата "MUTE"
PImage dw3; // Все кнопки не нажаты, нажата "HW/CITY"
PImage dw4; // Все кнопки не нажаты, нажата "VOL_UP"
PImage dw5; // Все кнопки не нажаты, нажата "VOL_DOWN"
PImage dw6; // Все кнопки не нажаты, нажата "ПИТАНИЕ"
void setup()
{
port = new Serial(this, "COM5", 115200); // Прописываем COM-порт на котором у вас сидит Carduino
size(800, 600);//размер окна
bs = loadImage("BG.jpg"); //загрузить все кнопки ненажатыми
dw = loadImage("DIM_down.jpg"); //загрузить изображение с нажатой кнопкой "DIM"
dw1 = loadImage("MENU_down.jpg"); //загрузить изображение с нажатой кнопкой "MENU"
dw2 = loadImage("MUTE_down.jpg"); //загрузить изображение с нажатой кнопкой "MUTE"
dw3 = loadImage("HW_down.jpg"); //загрузить изображение с нажатой кнопкой "HW/CITY"
dw4 = loadImage("VOL_UP_down.jpg"); //загрузить изображение с нажатой кнопкой "VOL_UP"
dw5 = loadImage("VOL_DOWN_down.jpg"); //загрузить изображение с нажатой кнопкой "VOL_DOWN"
dw6 = loadImage("7_down.jpg"); //загрузить изображение с нажатой кнопкой "ПИТАНИЕ"
w1 = 140; // Размер малой кнопки по горизонтали
h1 = 50; // Размер малой кнопки по вертикали
w6 = 100; // Размер большой кнопки по горизонтали
h6 = 90; // Размер большой кнопки по вертикали
x = 17; // Х начальная координата кнопки "DIM"
y = 472; // y начальная координата кнопки "DIM"
x1= 167; // Х начальная координата кнопки "MENU"
y1= 472; // y начальная координата кнопки "MENU"
x2= 321; // Х начальная координата кнопки "MUTE"
y2= 472; // y начальная координата кнопки "MUTE"
x3= 471; // Х начальная координата кнопки "HW/CITY"
y3= 472; // y начальная координата кнопки "HW/CITY"
x4= 170; // Х начальная координата кнопки "VOL_UP"
y4= 395; // y начальная координата кнопки "VOL_UP"
x5= 321; // Х начальная координата кнопки "VOL_DOWN"
y5= 395; // y начальная координата кнопки "VOL_DOWN"
x6= 682; // Х начальная координата кнопки "ПИТАНИЕ"
y6= 435; // y начальная координата кнопки "ПИТАНИЕ"
image(bs,0,0); // Нарисовать в окне все кнопки ненажатыми
}
void draw()
{
if( mousePressed)
{
// Если кнопка нажата (lock==1) грузим соответствующую картинку, пишем в порт данные и
// выставляем lock=0 (кнопка без фиксации нажатия)
// Проверка нажатия в области "DIM"
if (mousePressed && (mouseX >= x && mouseX <= x + w1 && mouseY >= y && mouseY <= y + h1))
{
if(lock==1){image(dw, 0, 0);port.write('1'); // Однократная посылка данных в порт
}
lock=0;
}
// Проверка нажатия в области "MENU"
if (mouseX >= x1 && mouseX <= x1 + w1 && mouseY >= y1 && mouseY <= y1 + h1)
{
if(lock==1){image(dw1, 0, 0);port.write('3'); // Однократная посылка данных в порт
}
lock=0;
}
// Проверка нажатия в области "MUTE"
if (mouseX >= x2 && mouseX <= x2 + w1 && mouseY >= y2 && mouseY <= y2 + h1)
{
if(lock==1){image(dw2, 0, 0);port.write('5'); // Однократная посылка данных в порт
}
lock=0;
}
// Проверка нажатия в области "HW/CITY"
if (mouseX >= x3 && mouseX <= x3 + w1 && mouseY >= y3 && mouseY <= y3 + h1)
{
if(lock==1){image(dw3, 0, 0);port.write('7'); // Однократная посылка данных в порт
}
lock=0;
}
// Проверка нажатия в области "VOL_UP"
if (mouseX >= x4 && mouseX <= x4 + w1 && mouseY >= y4 && mouseY <= y4 + h1)
{
port.write('9'); // Непрерывно шлет данные в порт при нажатой кнопке
delay (50);
if(lock==1){image(dw4, 0, 0);
}
lock=0;
}
// Проверка нажатия в области "VOL_DOWN"
if (mouseX >= x5 && mouseX <= x5 + w1 && mouseY >= y5 && mouseY <= y5 + h1)
{
port.write('b'); // Непрерывно шлет данные в порт при нажатой кнопке
delay (50);
if(lock==1){image(dw5, 0, 0);
}
lock=0;
}
// Проверка нажатия в области "ПИТАНИЕ"
if (mouseX >= x6 && mouseX <= x6 + w6 && mouseY >= y6 && mouseY <= y6 + h6)
{
if(lock==1){image(dw6, 0, 0);port.write('d'); // Однократная посылка данных в порт
}
lock=0;
}
}
if(!mousePressed){
if(lock==0){image(bs, 0, 0);lock=1;
}
}
}
Здесь (и в экзешнике!) под Ардуину отведет 5 СОМ. Если у вас иначе - просто поправьте на нужный и перекомпилируйте