Android和Arduino带领的亮度

时间:2014-10-10 13:29:03

标签: java android c++ arduino brightness

我正在开展涉及AndroidArduino的项目。我的项目有两个LED,一个控制亮度,另一个只控制LED。我在arduino部分遇到了使用TurnOn / OFF 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();
             }

         }
      });
    }

用于ON / OFF的Android程序Led:

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亮度程序:

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);
 }

0 个答案:

没有答案