1

LED リングには 4 つの領域があり、それらを選択するための 4 つのボタンを作成しました。これらの領域をさまざまな組み合わせで使用できるようにしたいと考えています。

だから私の目的は:

ボタンを 1 回クリック: 選択した領域がアクティブになります。

ボタンをダブルクリック: 選択した領域が非アクティブになります。

mousePressed() という関数があることは知っていますが、ダブルクリック条件でボタンに実装できませんでした。

これが私の処理からのコードの一部です:

  Group AreaGroup = cp5.addGroup("AREAS")
    .setPosition(290,50)
    .setWidth(150)
    .setHeight(30)
    .setFont(font2)
    .moveTo(SetupGroup);
    background(0);
    noStroke();
    ;
    
    cp5.addButton("AREA_1")  // The button
    .setPosition(-15,10)     // x and y relative to the group
    .setSize(90, 50)       // (width, height)
    .setFont(font)
    .moveTo(AreaGroup);   // add it to the group 
    ;     
  
  
    cp5.addButton("AREA_2")  // The button
    .setPosition(90,10)    // x and y relative to the group
    .setSize(90, 50)       // (width, height)
    .setFont(font) 
    .moveTo(AreaGroup);   // add it to the group  
  ; 
  
    cp5.addButton("AREA_3")  // The button
    .setPosition(-15,80)     // x and y relative to the group
    .setSize(90, 50)       // (width, height)
    .setFont(font)
    .moveTo(AreaGroup);   // add it to the group 
    ;     
  
  
    cp5.addButton("AREA_4")  // The button
    .setPosition(90,80)    // x and y relative to the group
    .setSize(90, 50)       // (width, height)
    .setFont(font) 
    .moveTo(AreaGroup);   // add it to the group  
  ;
  
     cp5.addButton("ALL")  // The button
    .setPosition(190,45)    // x and y relative to the group
    .setSize(90, 50)       // (width, height)
    .setFont(font) 
    .moveTo(AreaGroup);   // add it to the group  
  ; 

void AREA_1(){
  println("AREA_1");
  if (port != null) port.write("a\n");
}

void AREA_2(){
  println("AREA_2");
  if (port != null) port.write("b\n");
}

void AREA_3(){
  println("AREA_3");
  if (port != null) port.write("c\n");
}

void AREA_4(){
  println("AREA_4");
  if (port != null) port.write("d\n");
}

void ALL(){
  println("ALL");
  if (port != null) port.write("t\n");
}

そして、これがArduinoのコード部分です

switch(state){

        case 'p':
        Serial.println(F("ex."));
        break;

        case 's':
        Serial.println(F("Start"));
          start = true;
        break;

        case '1':
        Serial.println(F("Switching to ring #1"));
          updateRing1 = true;
          updateRing2 = false;
        break;
        
        case '2':
          Serial.println(F("Switching to ring #2"));
          updateRing1 = false;
          updateRing2 = true;
        break;
        
        case 'a':
          Serial.println(F("Area1"));
          Area1 = true;
        break;  

        case 'b':
          Serial.println(F("Area2"));
          Area2 = true;
        break;

        case 'c':
          Serial.println(F("Area3"));
          Area3 = true;
        break;

        case 'd':
          Serial.println(F("Area4"));
          Area4 = true;
        break;

         case 't':
          Serial.println(F("All the leds are choosen"));
          total = true;
          Area1 = false;
          Area2 = false;
          Area3 = false;
          Area4 = false;
        break; 

ここに画像の説明を入力

4

1 に答える 1