Ynt: Arduino SG90 veri alınca hareket ediyor.

Başlatan veliusta, 02 Mayıs 2016, 12:48:53

veliusta

Bluetooth'tan telefonuma veri gelirken servo motor hareket ediyor.

Örnek 1 gönderirsem. Oradaki  "myBluetooth.println" komutu yok. Bu yüzden orada sorun çıkmıyor.

Ama 2,9,s... gönderirsem servo motor 100ms çok kısa bir süre için hareket ediyor. Sebebini çözemedim.


#include <SoftwareSerial.h>
SoftwareSerial myBluetooth(10, 11); // RX, TX

char deger;
#include <Servo.h>
#include "DHT.h"
#define DHTPIN 2
#define DHTTYPE DHT11   // DHT 11
DHT dht(DHTPIN, DHTTYPE);
float h;
float t;
float f;

Servo SG90;

void setup(){
  pinMode(3, OUTPUT);
  pinMode(4, OUTPUT);
  pinMode(5, OUTPUT);
  pinMode(6, OUTPUT);
  pinMode(7, OUTPUT);
  pinMode(8, OUTPUT);
  myBluetooth.begin(9600);
 // Serial.begin(9600);
  myBluetooth.println("  ");
  myBluetooth.println(" Bluetooth Aktif ");
  dht.begin();
  SG90.attach(9);
}

void loop(){
 if(myBluetooth.available()){
   deger = myBluetooth.read();
  //   Serial.println(deger);

   switch(deger){
    case '1':    
    if(digitalRead(3)==LOW){
      digitalWrite(3, HIGH);

      }else{
      digitalWrite(3, LOW);

     }
    break;

        case '2':    
    if(digitalRead(4)==LOW){
      digitalWrite(4, HIGH);
      myBluetooth.println(" MUTFAK LAMBASI ACILDI ");
      }else{
      digitalWrite(4, LOW);
      myBluetooth.println(" MUTFAK LAMBASI KAPANDI ");
     }
    break;

       case '3':    
    if(digitalRead(5)==LOW){
      digitalWrite(5, HIGH);
      myBluetooth.println(" OTURMA ODASI LAMBASI ACILDI ");
      }else{
      digitalWrite(5, LOW);
      myBluetooth.println(" OTURMA ODASI LAMBASI KAPANDI ");
     }
    break;

      case '4':    
    if(digitalRead(6)==LOW){
      digitalWrite(6, HIGH);
      myBluetooth.println(" YATAK ODASI LAMBASI ACILDI ");
      }else{
      digitalWrite(6, LOW);
      myBluetooth.println(" YATAK ODASI LAMBASI KAPANDI ");
     }
    break;

      case '5':    
    if(digitalRead(7)==LOW){
      digitalWrite(7, HIGH);
      myBluetooth.println(" BALKON LAMBASI ACILDI ");
      }else{
      digitalWrite(7, LOW);
      myBluetooth.println(" BALKON LAMBASI KAPANDI ");
     }
    break;

          case '6':    
    if(digitalRead(8)==LOW){
      digitalWrite(8, HIGH);
      myBluetooth.println(" SOKAK LAMBASI ACILDI ");
      }else{
      digitalWrite(8, LOW);
      myBluetooth.println(" SOKAK LAMBASI KAPANDI ");
     }
    break;


    case '0':    
    SG90.write(5);
    myBluetooth.println(" SERVO MOTOR 5 DERECE ");
    break;

    case '9':    
    SG90.write(175);
    myBluetooth.println(" SERVO MOTOR 175 DERECE ");
    break;

    

  case 's':
  h = dht.readHumidity();
  t = dht.readTemperature();
  f = dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) {
  myBluetooth.print("HATA! DHT11 SENSOR OKUNAMIYOR!");
    return;
  }

  myBluetooth.print(" SICAKLIK: ");
  myBluetooth.print(t);
  myBluetooth.println(" *C ");
  break;

  case 'n':
  h = dht.readHumidity();
  t = dht.readTemperature();
  f = dht.readTemperature(true);

  if (isnan(h) || isnan(t) || isnan(f)) {
  myBluetooth.println(" HATA! DHT11 SENSOR OKUNAMIYOR! ");
    return;
  }

  myBluetooth.print(" NEM: ");
  myBluetooth.print(h);
  myBluetooth.println(" % ");
  break;



  
   }


   
 }
}


mesaj birleştirme:: 02 Mayıs 2016, 13:13:34

Servo motorun beslemesi başka kaynaktan besledim. sorun devam ediyor.

Kabil ATICI

tek karakterlik komut kullanma.
bazen o komut gelmiş gibi işlem yapma olabiliyor.
ambar7