ardiuno seriiletişim led yakma sorusu

Başlatan sayangku, 22 Şubat 2015, 14:49:01

sayangku

sa arkadaşlar ben ardiuno  2 tane kod buldum onları birleştirmem lazım yani hem dimmer heme led açıp kapatmam gerek arkadaşlar bana kodları düzenlermisiniz gerçekten çok uygastım son çare buraya yazdım lütfen bilen varsa yardım etsin bana
SoftwareSerial BT(0,1); //10 RX, 11 TX.

int ledred=3; //Pin LED Red
int ledgreen=5;//Pin LED Green
int ledblue=6; //Pin LED Blue

void setup()
{

  BT.begin(9600);  //Velocidad del puerto del módulo Bluetooth

  pinMode(ledred,OUTPUT);
  pinMode(ledgreen,OUTPUT);
  pinMode(ledblue,OUTPUT);
}

void loop()
{
    //Cuando haya datos disponibles
    while (BT.available()>0)
    {
        int red = BT.parseInt(); //Leemos el primer valor entero (Red) y lo almacenamos en la variable

        int green = BT.parseInt(); //Leemos el segundo valor entero (Green) y lo almacenamos en la variable

        int blue = BT.parseInt(); //Leemos el último valor entero (Blue) y lo almacenamos en la variable

        //Cuando lea el carácter fin de línea ('\n') quiere decir que ha finalizado el envío de los tres valores
        if (BT.read() == '\n')
        {
          //Enviamos los valores de los tres colores al LED RGB através de PWM
          analogWrite(ledred,red);
          analogWrite(ledgreen,green);
          analogWrite(ledblue,blue);
        }
  }
}

bu üsteki kodun içine bu kodu hatasız birleştirmem lazım yani dimmer içine led aç kapa yammam gerek
ben birleştirnce birinden biri çalışmıyo yada hiç biri normalde kodlar ayri ayrı çalışıyor ikisini bir arada
birleştirmem gerek ben app2 invertor programı ile on gönderiyorum led açılıyor off gönderiyorum kapanıyor
dimmer dada ayrı yapıcanca çalışıyor ama ikisini birleştirince çöküyor bile biri varsa birleştirirse çok teşekkür ederim
buda altaki led kodu bunu dimmer içine atmamız gerek
int ledPin = 7;
String readString;

void setup() {
  Serial.begin(9600);
  pinMode(ledPin, OUTPUT);
}

void loop() {
  while (Serial.available()) {
    delay(3); 
    char c = Serial.read();
    readString += c;
  }
  if (readString.length() >0) {
    Serial.println(readString);
    if (readString == "on")     
    {
      digitalWrite(ledPin, HIGH);
    }
    if (readString == "off")
    {
      digitalWrite(ledPin, LOW);
    }
    readString="";
  }
}


sayangku


Kabil ATICI

Koruyu yanlış başlığa açmışsın, ve sen yardım değil, işi yapacak adam arıyorsun. Arada fark var.
En azından benim bulunduğum yerden öyle görünüyor...

Şöyle olabilir;
LEDi söndürmek için LED'i karartacak dimmer değerini gönder. Yakmak için de, rengini istediğin dimmer değerini.
Bunu yak söndür olarak değilde doğrudan dimmer programında  değişiklik yaparak yapabilirsin.
ambar7

sayangku

ardiuno yeni aldım  fazla birşey bilmiyorum ugrastım yapamadım  hazırcılık değil aslında  ama insan nasıl anlamak istedidi ise öyle anlar yorumun için teşekkürler belki başka yardımcı olan biri olur 

sayangku

arkadaşlar lütfen yardımıza ihtiyacım varbu iki kodu birleştirebilirmiyiz  yada pwm olan kodun içine buton kodu koyablirmiyiz ben yapınca hata veriyor

eyupsepik

   
Anladığım kadarıyla telefondan ya da seriden 4 adet veri geliyor. Bunların 3 tanesi rgb değerleri. \n karakteri gelince de gelen değerler uygulamaya geçiriliyor. Sen telefondan rgb nin yanında bir değer daha gönder. Örneğin 1 ve 2

Örneğin : int onOff = BT.parseInt();  sonra  if bloğunun içine bir if daha aç.


  if (BT.read() == '\n')
        {
         if(onOff==1)
        {
           digitalWrite(led,HIGH);
        }
          if(onOff==2)
        {
           digitalWrite(led,LOW);
        }
          //Enviamos los valores de los tres colores al LED RGB através de PWM
          analogWrite(ledred,red);
          analogWrite(ledgreen,green);
          analogWrite(ledblue,blue);
        }
     
      Böyle olur diye umut ediyorum.