Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android和Arduino led的亮度_Java_Android_C++_Arduino_Brightness - Fatal编程技术网

Java Android和Arduino led的亮度

Java Android和Arduino led的亮度,java,android,c++,arduino,brightness,Java,Android,C++,Arduino,Brightness,我正在做一个项目,涉及Android和Arduino。我的项目有两个led,一个控制亮度,另一个只打开和关闭led。我在arduino部分遇到了一些问题,无法使用打开/关闭led程序来编译亮度程序。对我应该做什么有什么建议吗 Android亮度程序: sr.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){ @Override public void onProgressChan

我正在做一个项目,涉及
Android
Arduino
。我的项目有两个led,一个控制亮度,另一个只打开和关闭led。我在arduino部分遇到了一些问题,无法使用打开/关闭led程序来编译亮度程序。对我应该做什么有什么建议吗

Android亮度程序:

sr.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){

         @Override
         public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
             srValue = (byte) arg1;

         }

         @Override
         public void onStartTrackingTouch(SeekBar arg0) {


         }

         @Override
         public void onStopTrackingTouch(SeekBar arg0) {

             String temp = "r";
             byte bytes1[] = temp.getBytes();
             try {
                 outStream.write(bytes1);
             } catch (IOException e) {
                 e.printStackTrace();
             }

             try {
                 outStream.write(srValue);
             } catch (IOException e) {
                    e.printStackTrace();
             }

         }
      });
    }
byte packet[2];
int pIndex;
int rPin = 9;

byte rValue = 0;

void setup() {
    Serial.begin(9600);
    pinMode(rPin, OUTPUT);
    analogWrite(rPin, 0);
}

void loop() {

    // see if there's incoming serial data:
    if (Serial.available() > 0) {
        packet[pIndex++] = Serial.read();
    }

    if(pIndex >= 2){

        switch(packet[0]){
            case 't':
                rValue = packet[0];
                break;
            case 'y':
                rValue = packet[3];
                break;
            case 'r':
                rValue = packet[1];
                break;
            default:
                ;
        }

        analogWrite(rPin, rValue);   // 0 - 255
        pIndex = 0;
    }
}
用于打开/关闭Led的Android程序:

tg2.setOnClickListener(new OnClickListener() 
    {
        @Override
        public void onClick(View v) 
        {
            if((tg2.isChecked()))
                {
                    System.out.println("checked");
                    tv2.setBackgroundColor(0xFF00FF00);
                    sendData("1");
                }
            else
                {
                    System.out.println("Unchecked");
                    tv2.setBackgroundColor(0xfff00000);
                    sendData("4");
                }
        }
    });
Arduino亮度程序:

sr.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener(){

         @Override
         public void onProgressChanged(SeekBar arg0, int arg1, boolean arg2) {
             srValue = (byte) arg1;

         }

         @Override
         public void onStartTrackingTouch(SeekBar arg0) {


         }

         @Override
         public void onStopTrackingTouch(SeekBar arg0) {

             String temp = "r";
             byte bytes1[] = temp.getBytes();
             try {
                 outStream.write(bytes1);
             } catch (IOException e) {
                 e.printStackTrace();
             }

             try {
                 outStream.write(srValue);
             } catch (IOException e) {
                    e.printStackTrace();
             }

         }
      });
    }
byte packet[2];
int pIndex;
int rPin = 9;

byte rValue = 0;

void setup() {
    Serial.begin(9600);
    pinMode(rPin, OUTPUT);
    analogWrite(rPin, 0);
}

void loop() {

    // see if there's incoming serial data:
    if (Serial.available() > 0) {
        packet[pIndex++] = Serial.read();
    }

    if(pIndex >= 2){

        switch(packet[0]){
            case 't':
                rValue = packet[0];
                break;
            case 'y':
                rValue = packet[3];
                break;
            case 'r':
                rValue = packet[1];
                break;
            default:
                ;
        }

        analogWrite(rPin, rValue);   // 0 - 255
        pIndex = 0;
    }
}
用于打开/关闭的Arduino程序:

 if (state == '1') // ON LED 2
 {
    analogWrite(ledPin2, 255);
 }
 else if(state == '4')
 {
    analogWrite(ledPin2,0);
 }

有点离题,但你听说过吗?在JavaScript中代码的使用更为方便。你能缩小问题,比如你写的问题是LED还是写C++与java之间的通信问题?尝试用C++编写一个小程序,闪烁第二个LED,改变第一个LED的亮度。您需要写入LED,然后延迟,大约250ms,然后重复。运行C++程序,它会给你更多的关于问题所在的信息。